From 1de40f71be71a2ae45fb615e06a2279b8ad363a0 Mon Sep 17 00:00:00 2001 From: youknowriad Date: Mon, 29 Jan 2024 21:07:12 +0000 Subject: [PATCH] Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version. This patch, somewhat small brings a lot to WordPress. This includes features like: - DataViews. - Customization tools like box shadow, background size and repeat. - UI improvements in the site editor. - Preferences sharing between the post and site editors. - Unified panels and editors between post and site editors. - Improved template mode in the post editor. - Iterations to multiple interactive blocks. - Preparing the blocks and UI for pattern overrides. - and a lot more. Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj. See #60315. Built from https://develop.svn.wordpress.org/trunk@57377 git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- .../assets/script-loader-packages.min.php | 2 +- wp-includes/assets/script-loader-packages.php | 2 +- .../script-loader-react-refresh-entry.min.php | 2 +- .../script-loader-react-refresh-entry.php | 2 +- wp-includes/blocks/908.js | 166 + wp-includes/blocks/908.min.js | 1 + wp-includes/blocks/audio/block.json | 4 +- wp-includes/blocks/avatar/block.json | 6 +- wp-includes/blocks/block.php | 20 + wp-includes/blocks/block/block.json | 6 +- wp-includes/blocks/blocks-json.php | 263 +- wp-includes/blocks/button/block.json | 5 +- wp-includes/blocks/button/editor-rtl.css | 31 - wp-includes/blocks/button/editor-rtl.min.css | 2 +- wp-includes/blocks/button/editor.css | 31 - wp-includes/blocks/button/editor.min.css | 2 +- wp-includes/blocks/button/style-rtl.css | 6 +- wp-includes/blocks/button/style-rtl.min.css | 2 +- wp-includes/blocks/button/style.css | 6 +- wp-includes/blocks/button/style.min.css | 2 +- wp-includes/blocks/calendar.php | 8 +- wp-includes/blocks/categories.php | 6 +- wp-includes/blocks/code/block.json | 4 +- wp-includes/blocks/comments-title/block.json | 2 +- wp-includes/blocks/cover/block.json | 9 +- wp-includes/blocks/cover/style-rtl.css | 3 +- wp-includes/blocks/cover/style-rtl.min.css | 2 +- wp-includes/blocks/cover/style.css | 3 +- wp-includes/blocks/cover/style.min.css | 2 +- wp-includes/blocks/details/block.json | 4 +- wp-includes/blocks/embed/block.json | 4 +- wp-includes/blocks/{file/view.js => file.js} | 55 +- wp-includes/blocks/file.min.js | 1 + wp-includes/blocks/file.php | 55 +- wp-includes/blocks/file/block.json | 9 +- wp-includes/blocks/file/view.asset.php | 2 +- wp-includes/blocks/file/view.min.asset.php | 2 +- wp-includes/blocks/file/view.min.js | 1 - wp-includes/blocks/footnotes.php | 31 +- wp-includes/blocks/footnotes/block.json | 3 +- wp-includes/blocks/gallery.php | 15 + wp-includes/blocks/gallery/block.json | 12 +- wp-includes/blocks/gallery/style-rtl.css | 28 + wp-includes/blocks/gallery/style-rtl.min.css | 2 +- wp-includes/blocks/gallery/style.css | 28 + wp-includes/blocks/gallery/style.min.css | 2 +- wp-includes/blocks/group/block.json | 8 +- wp-includes/blocks/heading/block.json | 10 +- wp-includes/blocks/image.js | 521 + wp-includes/blocks/image.min.js | 1 + wp-includes/blocks/image.php | 141 +- wp-includes/blocks/image/block.json | 19 +- wp-includes/blocks/image/editor-rtl.css | 5 +- wp-includes/blocks/image/editor-rtl.min.css | 2 +- wp-includes/blocks/image/editor.css | 5 +- wp-includes/blocks/image/editor.min.css | 2 +- wp-includes/blocks/image/style-rtl.css | 6 +- wp-includes/blocks/image/style-rtl.min.css | 2 +- wp-includes/blocks/image/style.css | 6 +- wp-includes/blocks/image/style.min.css | 2 +- wp-includes/blocks/image/view.asset.php | 2 +- wp-includes/blocks/image/view.js | 533 - wp-includes/blocks/image/view.min.asset.php | 2 +- wp-includes/blocks/image/view.min.js | 1 - wp-includes/blocks/legacy-widget/block.json | 1 + wp-includes/blocks/list-item/block.json | 13 +- wp-includes/blocks/loginout/block.json | 8 + wp-includes/blocks/missing/block.json | 2 +- wp-includes/blocks/navigation-link.php | 133 +- wp-includes/blocks/navigation-link/block.json | 3 +- wp-includes/blocks/navigation.js | 247 + wp-includes/blocks/navigation.min.js | 1 + wp-includes/blocks/navigation.php | 1239 +- wp-includes/blocks/navigation/block.json | 4 +- wp-includes/blocks/navigation/editor-rtl.css | 6 +- .../blocks/navigation/editor-rtl.min.css | 2 +- wp-includes/blocks/navigation/editor.css | 6 +- wp-includes/blocks/navigation/editor.min.css | 2 +- wp-includes/blocks/navigation/style-rtl.css | 37 +- .../blocks/navigation/style-rtl.min.css | 2 +- wp-includes/blocks/navigation/style.css | 37 +- wp-includes/blocks/navigation/style.min.css | 2 +- wp-includes/blocks/navigation/view.asset.php | 2 +- wp-includes/blocks/navigation/view.js | 213 - .../blocks/navigation/view.min.asset.php | 2 +- wp-includes/blocks/navigation/view.min.js | 1 - wp-includes/blocks/page-list/editor-rtl.css | 4 - .../blocks/page-list/editor-rtl.min.css | 2 +- wp-includes/blocks/page-list/editor.css | 4 - wp-includes/blocks/page-list/editor.min.css | 2 +- wp-includes/blocks/paragraph/block.json | 8 +- wp-includes/blocks/pattern.php | 23 +- wp-includes/blocks/pattern/block.json | 3 +- wp-includes/blocks/post-featured-image.php | 31 + .../blocks/post-featured-image/block.json | 4 + .../blocks/post-featured-image/editor-rtl.css | 7 + .../post-featured-image/editor-rtl.min.css | 2 +- .../blocks/post-featured-image/editor.css | 7 + .../blocks/post-featured-image/editor.min.css | 2 +- wp-includes/blocks/post-navigation-link.php | 20 +- .../blocks/post-navigation-link/block.json | 8 + wp-includes/blocks/post-template/block.json | 1 - .../blocks/post-template/style-rtl.css | 18 +- .../blocks/post-template/style-rtl.min.css | 2 +- wp-includes/blocks/post-template/style.css | 18 +- .../blocks/post-template/style.min.css | 2 +- wp-includes/blocks/post-terms.php | 17 +- wp-includes/blocks/post-title.php | 2 +- wp-includes/blocks/post-title/block.json | 4 +- wp-includes/blocks/preformatted/block.json | 5 +- wp-includes/blocks/pullquote/block.json | 16 +- wp-includes/blocks/pullquote/style-rtl.css | 11 +- .../blocks/pullquote/style-rtl.min.css | 2 +- wp-includes/blocks/pullquote/style.css | 11 +- wp-includes/blocks/pullquote/style.min.css | 2 +- wp-includes/blocks/query-pagination-next.php | 6 +- .../blocks/query-pagination-numbers.php | 2 +- .../query-pagination-numbers/block.json | 2 +- .../blocks/query-pagination-previous.php | 6 +- .../blocks/query-pagination/style-rtl.css | 6 +- .../blocks/query-pagination/style-rtl.min.css | 2 +- wp-includes/blocks/query-pagination/style.css | 6 +- .../blocks/query-pagination/style.min.css | 2 +- wp-includes/blocks/query-title/block.json | 4 +- wp-includes/blocks/query.js | 348 + wp-includes/blocks/query.min.js | 1 + wp-includes/blocks/query.php | 104 +- wp-includes/blocks/query/block.json | 3 +- wp-includes/blocks/query/view.asset.php | 2 +- wp-includes/blocks/query/view.js | 104 - wp-includes/blocks/query/view.min.asset.php | 2 +- wp-includes/blocks/query/view.min.js | 1 - wp-includes/blocks/quote/block.json | 14 +- wp-includes/blocks/quote/style-rtl.css | 3 + wp-includes/blocks/quote/style-rtl.min.css | 2 +- wp-includes/blocks/quote/style.css | 3 + wp-includes/blocks/quote/style.min.css | 2 +- wp-includes/blocks/read-more/style-rtl.css | 5 +- .../blocks/read-more/style-rtl.min.css | 2 +- wp-includes/blocks/read-more/style.css | 5 +- wp-includes/blocks/read-more/style.min.css | 2 +- wp-includes/blocks/search.js | 107 + wp-includes/blocks/search.min.js | 1 + wp-includes/blocks/search.php | 90 +- wp-includes/blocks/search/block.json | 5 - wp-includes/blocks/search/editor-rtl.css | 1 + wp-includes/blocks/search/editor-rtl.min.css | 2 +- wp-includes/blocks/search/editor.css | 1 + wp-includes/blocks/search/editor.min.css | 2 +- wp-includes/blocks/search/style-rtl.css | 50 +- wp-includes/blocks/search/style-rtl.min.css | 2 +- wp-includes/blocks/search/style.css | 50 +- wp-includes/blocks/search/style.min.css | 2 +- wp-includes/blocks/search/view.asset.php | 2 +- wp-includes/blocks/search/view.js | 101 - wp-includes/blocks/search/view.min.asset.php | 2 +- wp-includes/blocks/search/view.min.js | 1 - wp-includes/blocks/site-title/block.json | 6 +- wp-includes/blocks/social-link.php | 10 +- wp-includes/blocks/social-links/style-rtl.css | 14 +- .../blocks/social-links/style-rtl.min.css | 2 +- wp-includes/blocks/social-links/style.css | 14 +- wp-includes/blocks/social-links/style.min.css | 2 +- wp-includes/blocks/table/block.json | 19 +- wp-includes/blocks/table/editor-rtl.css | 15 +- wp-includes/blocks/table/editor-rtl.min.css | 2 +- wp-includes/blocks/table/editor.css | 15 +- wp-includes/blocks/table/editor.min.css | 2 +- wp-includes/blocks/template-part.php | 18 +- wp-includes/blocks/template-part/block.json | 3 +- wp-includes/blocks/verse/block.json | 8 +- wp-includes/blocks/video/block.json | 4 +- wp-includes/blocks/widget-group/block.json | 1 + .../css/dist/block-editor/content-rtl.css | 42 +- .../css/dist/block-editor/content-rtl.min.css | 2 +- wp-includes/css/dist/block-editor/content.css | 42 +- .../css/dist/block-editor/content.min.css | 2 +- .../css/dist/block-editor/style-rtl.css | 723 +- .../css/dist/block-editor/style-rtl.min.css | 2 +- wp-includes/css/dist/block-editor/style.css | 723 +- .../css/dist/block-editor/style.min.css | 2 +- .../css/dist/block-library/editor-rtl.css | 131 +- .../css/dist/block-library/editor-rtl.min.css | 2 +- wp-includes/css/dist/block-library/editor.css | 131 +- .../css/dist/block-library/editor.min.css | 2 +- .../css/dist/block-library/style-rtl.css | 228 +- .../css/dist/block-library/style-rtl.min.css | 2 +- wp-includes/css/dist/block-library/style.css | 228 +- .../css/dist/block-library/style.min.css | 4 +- wp-includes/css/dist/components/style-rtl.css | 133 +- .../css/dist/components/style-rtl.min.css | 2 +- wp-includes/css/dist/components/style.css | 133 +- wp-includes/css/dist/components/style.min.css | 4 +- .../css/dist/customize-widgets/style-rtl.css | 30 +- .../dist/customize-widgets/style-rtl.min.css | 2 +- .../css/dist/customize-widgets/style.css | 30 +- .../css/dist/customize-widgets/style.min.css | 2 +- wp-includes/css/dist/edit-post/style-rtl.css | 837 +- .../css/dist/edit-post/style-rtl.min.css | 2 +- wp-includes/css/dist/edit-post/style.css | 837 +- wp-includes/css/dist/edit-post/style.min.css | 2 +- wp-includes/css/dist/edit-site/style-rtl.css | 1530 +- .../css/dist/edit-site/style-rtl.min.css | 2 +- wp-includes/css/dist/edit-site/style.css | 1530 +- wp-includes/css/dist/edit-site/style.min.css | 2 +- .../css/dist/edit-widgets/style-rtl.css | 202 +- .../css/dist/edit-widgets/style-rtl.min.css | 2 +- wp-includes/css/dist/edit-widgets/style.css | 202 +- .../css/dist/edit-widgets/style.min.css | 2 +- wp-includes/css/dist/editor/style-rtl.css | 571 +- wp-includes/css/dist/editor/style-rtl.min.css | 2 +- wp-includes/css/dist/editor/style.css | 571 +- wp-includes/css/dist/editor/style.min.css | 2 +- .../css/dist/format-library/style-rtl.css | 14 +- .../css/dist/format-library/style-rtl.min.css | 2 +- wp-includes/css/dist/format-library/style.css | 14 +- .../css/dist/format-library/style.min.css | 2 +- wp-includes/css/dist/patterns/style-rtl.css | 9 +- .../css/dist/patterns/style-rtl.min.css | 2 +- wp-includes/css/dist/patterns/style.css | 9 +- wp-includes/css/dist/patterns/style.min.css | 2 +- .../css/dist/preferences/style-rtl.css | 111 + .../css/dist/preferences/style-rtl.min.css | 1 + wp-includes/css/dist/preferences/style.css | 111 + .../css/dist/preferences/style.min.css | 1 + wp-includes/js/dist/api-fetch.js | 29 +- wp-includes/js/dist/api-fetch.min.js | 2 +- wp-includes/js/dist/blob.js | 42 + wp-includes/js/dist/blob.min.js | 2 +- wp-includes/js/dist/block-directory.js | 302 +- wp-includes/js/dist/block-directory.min.js | 2 +- wp-includes/js/dist/block-editor.js | 58096 +++++++++------- wp-includes/js/dist/block-editor.min.js | 8 +- wp-includes/js/dist/block-library.js | 11967 ++-- wp-includes/js/dist/block-library.min.js | 6 +- wp-includes/js/dist/blocks.js | 1578 +- wp-includes/js/dist/blocks.min.js | 15 +- wp-includes/js/dist/commands.js | 74 +- wp-includes/js/dist/commands.min.js | 2 +- wp-includes/js/dist/components.js | 32473 ++++----- wp-includes/js/dist/components.min.js | 12 +- wp-includes/js/dist/compose.js | 58 +- wp-includes/js/dist/compose.min.js | 2 +- wp-includes/js/dist/core-commands.js | 44 +- wp-includes/js/dist/core-commands.min.js | 2 +- wp-includes/js/dist/core-data.js | 1305 +- wp-includes/js/dist/core-data.min.js | 2 +- wp-includes/js/dist/customize-widgets.js | 217 +- wp-includes/js/dist/customize-widgets.min.js | 2 +- wp-includes/js/dist/data.js | 316 +- wp-includes/js/dist/data.min.js | 4 +- .../dist/development/react-refresh-entry.js | 270 +- .../development/react-refresh-entry.min.js | 270 +- wp-includes/js/dist/dom.js | 2 +- wp-includes/js/dist/dom.min.js | 2 +- wp-includes/js/dist/edit-post.js | 5123 +- wp-includes/js/dist/edit-post.min.js | 4 +- wp-includes/js/dist/edit-site.js | 21361 +++--- wp-includes/js/dist/edit-site.min.js | 8 +- wp-includes/js/dist/edit-widgets.js | 922 +- wp-includes/js/dist/edit-widgets.min.js | 2 +- wp-includes/js/dist/editor.js | 5553 +- wp-includes/js/dist/editor.min.js | 6 +- wp-includes/js/dist/element.js | 110 +- wp-includes/js/dist/element.min.js | 4 +- wp-includes/js/dist/format-library.js | 317 +- wp-includes/js/dist/format-library.min.js | 2 +- wp-includes/js/dist/interactivity-router.js | 203 + .../js/dist/interactivity-router.min.js | 2 + wp-includes/js/dist/interactivity.js | 2579 +- wp-includes/js/dist/interactivity.min.js | 11 +- wp-includes/js/dist/keyboard-shortcuts.js | 12 +- wp-includes/js/dist/keyboard-shortcuts.min.js | 2 +- wp-includes/js/dist/keycodes.js | 498 +- wp-includes/js/dist/keycodes.min.js | 2 +- wp-includes/js/dist/list-reusable-blocks.js | 85 +- .../js/dist/list-reusable-blocks.min.js | 2 +- wp-includes/js/dist/media-utils.js | 66 +- wp-includes/js/dist/media-utils.min.js | 2 +- wp-includes/js/dist/notices.js | 4 +- wp-includes/js/dist/nux.js | 16 +- wp-includes/js/dist/nux.min.js | 2 +- wp-includes/js/dist/patterns.js | 664 +- wp-includes/js/dist/patterns.min.js | 2 +- wp-includes/js/dist/plugins.js | 33 +- wp-includes/js/dist/plugins.min.js | 2 +- .../js/dist/preferences-persistence.js | 38 +- .../js/dist/preferences-persistence.min.js | 2 +- wp-includes/js/dist/preferences.js | 364 +- wp-includes/js/dist/preferences.min.js | 2 +- wp-includes/js/dist/private-apis.js | 2 +- wp-includes/js/dist/private-apis.min.js | 2 +- wp-includes/js/dist/reusable-blocks.js | 49 +- wp-includes/js/dist/reusable-blocks.min.js | 2 +- wp-includes/js/dist/rich-text.js | 1431 +- wp-includes/js/dist/rich-text.min.js | 2 +- wp-includes/js/dist/router.js | 6 +- wp-includes/js/dist/router.min.js | 2 +- wp-includes/js/dist/server-side-render.js | 24 +- wp-includes/js/dist/server-side-render.min.js | 2 +- wp-includes/js/dist/style-engine.js | 40 +- wp-includes/js/dist/style-engine.min.js | 2 +- wp-includes/js/dist/url.js | 6 +- wp-includes/js/dist/url.min.js | 2 +- wp-includes/js/dist/vendor/wp-polyfill.js | 11615 +-- wp-includes/js/dist/vendor/wp-polyfill.min.js | 2 +- wp-includes/js/dist/viewport.js | 6 +- wp-includes/js/dist/viewport.min.js | 2 +- wp-includes/js/dist/widgets.js | 120 +- wp-includes/js/dist/widgets.min.js | 2 +- wp-includes/script-loader.php | 8 +- wp-includes/version.php | 2 +- 312 files changed, 88033 insertions(+), 85099 deletions(-) create mode 100644 wp-includes/blocks/908.js create mode 100644 wp-includes/blocks/908.min.js rename wp-includes/blocks/{file/view.js => file.js} (53%) create mode 100644 wp-includes/blocks/file.min.js delete mode 100644 wp-includes/blocks/file/view.min.js create mode 100644 wp-includes/blocks/image.js create mode 100644 wp-includes/blocks/image.min.js delete mode 100644 wp-includes/blocks/image/view.js delete mode 100644 wp-includes/blocks/image/view.min.js create mode 100644 wp-includes/blocks/navigation.js create mode 100644 wp-includes/blocks/navigation.min.js delete mode 100644 wp-includes/blocks/navigation/view.js delete mode 100644 wp-includes/blocks/navigation/view.min.js create mode 100644 wp-includes/blocks/query.js create mode 100644 wp-includes/blocks/query.min.js delete mode 100644 wp-includes/blocks/query/view.js delete mode 100644 wp-includes/blocks/query/view.min.js create mode 100644 wp-includes/blocks/search.js create mode 100644 wp-includes/blocks/search.min.js delete mode 100644 wp-includes/blocks/search/view.js delete mode 100644 wp-includes/blocks/search/view.min.js create mode 100644 wp-includes/css/dist/preferences/style-rtl.css create mode 100644 wp-includes/css/dist/preferences/style-rtl.min.css create mode 100644 wp-includes/css/dist/preferences/style.css create mode 100644 wp-includes/css/dist/preferences/style.min.css create mode 100644 wp-includes/js/dist/interactivity-router.js create mode 100644 wp-includes/js/dist/interactivity-router.min.js diff --git a/wp-includes/assets/script-loader-packages.min.php b/wp-includes/assets/script-loader-packages.min.php index 47691bf85e..845120e11d 100644 --- a/wp-includes/assets/script-loader-packages.min.php +++ b/wp-includes/assets/script-loader-packages.min.php @@ -1 +1 @@ - array('dependencies' => array('wp-dom-ready', 'wp-i18n', 'wp-polyfill'), 'version' => '7032343a947cfccf5608'), 'annotations.min.js' => array('dependencies' => array('wp-data', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-rich-text'), 'version' => 'c4843f8e435a9d7a87bb'), 'api-fetch.min.js' => array('dependencies' => array('wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => '0fa4dabf8bf2c7adf21a'), 'autop.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'dacd785d109317df2707'), 'blob.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '10a1c5c0acdef3d15657'), 'block-directory.min.js' => array('dependencies' => array('wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-url'), 'version' => '5b7cd5ab23c9d68e0b1e'), 'block-editor.min.js' => array('dependencies' => array('react', 'react-dom', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-notices', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-shortcode', 'wp-style-engine', 'wp-token-list', 'wp-url', 'wp-warning', 'wp-wordcount'), 'version' => '0a91f24a08742ef32452'), 'block-library.min.js' => array('dependencies' => array('wp-a11y', 'wp-api-fetch', 'wp-autop', 'wp-blob', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-viewport', 'wp-wordcount'), 'version' => '9c5365423f60fac3c287'), 'block-serialization-default-parser.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '30ffd7e7e199f10b2a6d'), 'blocks.min.js' => array('dependencies' => array('wp-autop', 'wp-blob', 'wp-block-serialization-default-parser', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-private-apis', 'wp-shortcode'), 'version' => 'c483ce5bf08a5fbace82'), 'commands.min.js' => array('dependencies' => array('react', 'react-dom', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-polyfill', 'wp-primitives', 'wp-private-apis'), 'version' => 'b235dde56bdeb62f0718'), 'components.min.js' => array('dependencies' => array('react', 'react-dom', 'wp-a11y', 'wp-compose', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-warning'), 'version' => '3f707f96705df2abc655'), 'compose.min.js' => array('dependencies' => array('react', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-priority-queue'), 'version' => '3189b344ff39fef940b7'), 'core-commands.min.js' => array('dependencies' => array('wp-commands', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-router', 'wp-url'), 'version' => 'ade490de79d35734e06d'), 'core-data.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-private-apis', 'wp-url'), 'version' => '99b262137df116eb6013'), 'customize-widgets.min.js' => array('dependencies' => array('wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-widgets'), 'version' => 'bb454c7f10757887ce5a'), 'data.min.js' => array('dependencies' => array('wp-compose', 'wp-deprecated', 'wp-element', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-priority-queue', 'wp-private-apis', 'wp-redux-routine'), 'version' => 'dc5f255634f3da29c8d5'), 'data-controls.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-data', 'wp-deprecated', 'wp-polyfill'), 'version' => 'fe4ccc8a1782ea8e2cb1'), 'date.min.js' => array('dependencies' => array('moment', 'wp-deprecated', 'wp-polyfill'), 'version' => 'f4dddb7b2e47a83ce43a'), 'deprecated.min.js' => array('dependencies' => array('wp-hooks', 'wp-polyfill'), 'version' => '73ad3591e7bc95f4777a'), 'dom.min.js' => array('dependencies' => array('wp-deprecated', 'wp-polyfill'), 'version' => '49ff2869626fbeaacc23'), 'dom-ready.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '392bdd43726760d1f3ca'), 'edit-post.min.js' => array('dependencies' => array('wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-commands', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-url', 'wp-viewport', 'wp-warning', 'wp-widgets'), 'version' => '6720d8a86f225f3ce492'), 'edit-site.min.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-commands', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-editor', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-plugins', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-reusable-blocks', 'wp-router', 'wp-url', 'wp-viewport', 'wp-widgets', 'wp-wordcount'), 'version' => 'c25cbb9d6b28255c1cb6'), 'edit-widgets.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-plugins', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-url', 'wp-viewport', 'wp-widgets'), 'version' => '64e3e5b8558ec09ac4ba'), 'editor.min.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-wordcount'), 'version' => '1d2a82a61ff58c184389'), 'element.min.js' => array('dependencies' => array('react', 'react-dom', 'wp-escape-html', 'wp-polyfill'), 'version' => 'ed1c7604880e8b574b40'), 'escape-html.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '03e27a7b6ae14f7afaa6'), 'format-library.min.js' => array('dependencies' => array('wp-a11y', 'wp-block-editor', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-rich-text', 'wp-url'), 'version' => '57955a6a6df65c1fb8b6'), 'hooks.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'c6aec9a8d4e5a5d543a1'), 'html-entities.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '36a4a255da7dd2e1bf8e'), 'i18n.min.js' => array('dependencies' => array('wp-hooks', 'wp-polyfill'), 'version' => '7701b0c3857f914212ef'), 'is-shallow-equal.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '20c2b06ecf04afb14fee'), 'keyboard-shortcuts.min.js' => array('dependencies' => array('wp-data', 'wp-element', 'wp-keycodes', 'wp-polyfill'), 'version' => '525da859946d4df24898'), 'keycodes.min.js' => array('dependencies' => array('wp-i18n', 'wp-polyfill'), 'version' => '3460bd0fac9859d6886c'), 'list-reusable-blocks.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '4d77f2834116824e70c8'), 'media-utils.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-blob', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => 'bcd60e7a2fb568f38015'), 'notices.min.js' => array('dependencies' => array('wp-data', 'wp-polyfill'), 'version' => '38e88f4b627cf873edd0'), 'nux.min.js' => array('dependencies' => array('wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives'), 'version' => '59718fab5e39f9dd21b0'), 'patterns.min.js' => array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => 'efcce5c1b2c28e8b2865'), 'plugins.min.js' => array('dependencies' => array('wp-compose', 'wp-element', 'wp-hooks', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-primitives'), 'version' => 'c485ff6186cdddabcf91'), 'preferences.min.js' => array('dependencies' => array('wp-a11y', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives'), 'version' => 'ca088ba0a612bff77aa3'), 'preferences-persistence.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-polyfill'), 'version' => '6c6b220422eb35541489'), 'primitives.min.js' => array('dependencies' => array('wp-element', 'wp-polyfill'), 'version' => '6984e6eb5d6157c4fe44'), 'priority-queue.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '422e19e9d48b269c5219'), 'private-apis.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '11cb2ebaa70a9f1f0ab5'), 'redux-routine.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '0be1b2a6a79703e28531'), 'reusable-blocks.min.js' => array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => 'f43df5cec4d4061a74f0'), 'rich-text.min.js' => array('dependencies' => array('wp-a11y', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-escape-html', 'wp-i18n', 'wp-keycodes', 'wp-polyfill'), 'version' => '6222504ebedf0627981b'), 'router.min.js' => array('dependencies' => array('wp-element', 'wp-polyfill', 'wp-private-apis', 'wp-url'), 'version' => 'd1ae6718bab1f7073adb'), 'server-side-render.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => '81299db67c0fa2c65479'), 'shortcode.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'c128a3008a96e820aa86'), 'style-engine.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '17cbc030cba88a42ccb5'), 'token-list.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '199103fc7cec3b9eef5a'), 'undo-manager.min.js' => array('dependencies' => array('wp-is-shallow-equal', 'wp-polyfill'), 'version' => '312610424b40059d9f44'), 'url.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'b4979979018b684be209'), 'viewport.min.js' => array('dependencies' => array('wp-compose', 'wp-data', 'wp-element', 'wp-polyfill'), 'version' => '1fbef8175bb335c5603b'), 'warning.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '122829a085511691f14d'), 'widgets.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives'), 'version' => '938735ae45e739ac8b70'), 'wordcount.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '5a74890fd7c610679e34')); + array('dependencies' => array('wp-dom-ready', 'wp-i18n', 'wp-polyfill'), 'version' => '7032343a947cfccf5608'), 'annotations.min.js' => array('dependencies' => array('wp-data', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-rich-text'), 'version' => 'c4843f8e435a9d7a87bb'), 'api-fetch.min.js' => array('dependencies' => array('wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => '800b16d87f0ca12ca32c'), 'autop.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'dacd785d109317df2707'), 'blob.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '1db347004cfc288f5a42'), 'block-directory.min.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => '8684f8eb456a73aceecd'), 'block-editor.min.js' => array('dependencies' => array('react', 'react-dom', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-notices', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-style-engine', 'wp-token-list', 'wp-url', 'wp-warning', 'wp-wordcount'), 'version' => '684915cdf1db52bf88ba'), 'block-library.min.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-autop', 'wp-blob', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-notices', 'wp-patterns', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-viewport', 'wp-wordcount'), 'version' => '04075bb1612380213232'), 'block-serialization-default-parser.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '30ffd7e7e199f10b2a6d'), 'blocks.min.js' => array('dependencies' => array('react', 'wp-autop', 'wp-blob', 'wp-block-serialization-default-parser', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-private-apis', 'wp-rich-text', 'wp-shortcode'), 'version' => 'a71f98658bb62cea1aba'), 'commands.min.js' => array('dependencies' => array('react', 'react-dom', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-polyfill', 'wp-primitives', 'wp-private-apis'), 'version' => '53390f160e9ca2c272c9'), 'components.min.js' => array('dependencies' => array('react', 'react-dom', 'wp-a11y', 'wp-compose', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-warning'), 'version' => '98f823aeea5bb286eb68'), 'compose.min.js' => array('dependencies' => array('react', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-priority-queue'), 'version' => '08e1393295ada6260807'), 'core-commands.min.js' => array('dependencies' => array('react', 'wp-commands', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-router', 'wp-url'), 'version' => '285c9eb6b945d45a50fc'), 'core-data.min.js' => array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-private-apis', 'wp-rich-text', 'wp-url'), 'version' => '398080315e215be4f206'), 'customize-widgets.min.js' => array('dependencies' => array('react', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-widgets'), 'version' => '3ff8caff7654b2636ce6'), 'data.min.js' => array('dependencies' => array('react', 'wp-compose', 'wp-deprecated', 'wp-element', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-priority-queue', 'wp-private-apis', 'wp-redux-routine'), 'version' => '6aa6d56e49931d753ec2'), 'data-controls.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-data', 'wp-deprecated', 'wp-polyfill'), 'version' => 'fe4ccc8a1782ea8e2cb1'), 'date.min.js' => array('dependencies' => array('moment', 'wp-deprecated', 'wp-polyfill'), 'version' => 'f4dddb7b2e47a83ce43a'), 'deprecated.min.js' => array('dependencies' => array('wp-hooks', 'wp-polyfill'), 'version' => '73ad3591e7bc95f4777a'), 'dom.min.js' => array('dependencies' => array('wp-deprecated', 'wp-polyfill'), 'version' => '1e62eba31918e8e7f7df'), 'dom-ready.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '392bdd43726760d1f3ca'), 'edit-post.min.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-commands', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-url', 'wp-viewport', 'wp-warning', 'wp-widgets'), 'version' => '1b0253cd724c4f95e84e'), 'edit-site.min.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-commands', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-editor', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-plugins', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-reusable-blocks', 'wp-router', 'wp-url', 'wp-viewport', 'wp-widgets', 'wp-wordcount'), 'version' => 'bd5fc39f67032f7daa25'), 'edit-widgets.min.js' => array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-plugins', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-url', 'wp-viewport', 'wp-widgets'), 'version' => 'd08a45bf0157f5ad078d'), 'editor.min.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-wordcount'), 'version' => '6d6b314f13ac55f217e3'), 'element.min.js' => array('dependencies' => array('react', 'react-dom', 'wp-escape-html', 'wp-polyfill'), 'version' => '608f8a98f5fac8ef4e67'), 'escape-html.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '03e27a7b6ae14f7afaa6'), 'format-library.min.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-block-editor', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-url'), 'version' => '0181637b101a64c01f58'), 'hooks.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'c6aec9a8d4e5a5d543a1'), 'html-entities.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '36a4a255da7dd2e1bf8e'), 'i18n.min.js' => array('dependencies' => array('wp-hooks', 'wp-polyfill'), 'version' => '7701b0c3857f914212ef'), 'interactivity-router.min.js' => array('dependencies' => array('wp-interactivity', 'wp-polyfill'), 'version' => '2443fbb322447fa977ea'), 'is-shallow-equal.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '20c2b06ecf04afb14fee'), 'keyboard-shortcuts.min.js' => array('dependencies' => array('react', 'wp-data', 'wp-element', 'wp-keycodes', 'wp-polyfill'), 'version' => 'ced3bdf9c5a44c76b190'), 'keycodes.min.js' => array('dependencies' => array('wp-i18n', 'wp-polyfill'), 'version' => '5629d895f64ba0084d7f'), 'list-reusable-blocks.min.js' => array('dependencies' => array('react', 'wp-api-fetch', 'wp-blob', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => 'c5b51d066b3e8b95cb2d'), 'media-utils.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-blob', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '6c1610651c8671849dca'), 'notices.min.js' => array('dependencies' => array('wp-data', 'wp-polyfill'), 'version' => '38e88f4b627cf873edd0'), 'nux.min.js' => array('dependencies' => array('react', 'wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives'), 'version' => '3ade1fbf3dff4870949e'), 'patterns.min.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => 'a0feaeac635b02f155ea'), 'plugins.min.js' => array('dependencies' => array('react', 'wp-compose', 'wp-element', 'wp-hooks', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-primitives'), 'version' => '41001593d66725cc17e1'), 'preferences.min.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-private-apis'), 'version' => 'be3f4c0daa65fe2a768e'), 'preferences-persistence.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-polyfill'), 'version' => 'cd54ea1783944064afa9'), 'primitives.min.js' => array('dependencies' => array('wp-element', 'wp-polyfill'), 'version' => '6984e6eb5d6157c4fe44'), 'priority-queue.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '422e19e9d48b269c5219'), 'private-apis.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '2755e5f92915e77a4f9f'), 'redux-routine.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '0be1b2a6a79703e28531'), 'reusable-blocks.min.js' => array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => 'bcdb59eab89e040f635d'), 'rich-text.min.js' => array('dependencies' => array('wp-a11y', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-escape-html', 'wp-i18n', 'wp-keycodes', 'wp-polyfill'), 'version' => '485a9c5a72bba919745a'), 'router.min.js' => array('dependencies' => array('react', 'wp-element', 'wp-polyfill', 'wp-private-apis', 'wp-url'), 'version' => '9352f141afa09d1fac7e'), 'server-side-render.min.js' => array('dependencies' => array('react', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => '75e325d94bd6da95881f'), 'shortcode.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'c128a3008a96e820aa86'), 'style-engine.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'd89439d30a43d60bea67'), 'token-list.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '199103fc7cec3b9eef5a'), 'undo-manager.min.js' => array('dependencies' => array('wp-is-shallow-equal', 'wp-polyfill'), 'version' => '312610424b40059d9f44'), 'url.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '42715a191dc366644170'), 'viewport.min.js' => array('dependencies' => array('react', 'wp-compose', 'wp-data', 'wp-polyfill'), 'version' => '8ee1a5addc6d2f1f1ceb'), 'warning.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '122829a085511691f14d'), 'widgets.min.js' => array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives'), 'version' => 'ed9f8ea1700423d974c3'), 'wordcount.min.js' => array('dependencies' => array('wp-polyfill'), 'version' => '5a74890fd7c610679e34')); diff --git a/wp-includes/assets/script-loader-packages.php b/wp-includes/assets/script-loader-packages.php index dfe4072f60..67dceeec90 100644 --- a/wp-includes/assets/script-loader-packages.php +++ b/wp-includes/assets/script-loader-packages.php @@ -1 +1 @@ - array('dependencies' => array('wp-dom-ready', 'wp-i18n', 'wp-polyfill'), 'version' => 'b5ff61edc2245a1950cb'), 'annotations.js' => array('dependencies' => array('wp-data', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-rich-text'), 'version' => 'e07c55999fe14e263e21'), 'api-fetch.js' => array('dependencies' => array('wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => '064121ed1abb9ed32a10'), 'autop.js' => array('dependencies' => array('wp-polyfill'), 'version' => '23677b2f336e3c95f3c7'), 'blob.js' => array('dependencies' => array('wp-polyfill'), 'version' => '4279f5e220950400e9e6'), 'block-directory.js' => array('dependencies' => array('wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-url'), 'version' => '838bfc469bfd175f2d30'), 'block-editor.js' => array('dependencies' => array('react', 'react-dom', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-notices', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-shortcode', 'wp-style-engine', 'wp-token-list', 'wp-url', 'wp-warning', 'wp-wordcount'), 'version' => 'd8dc82f8e1708724e34e'), 'block-library.js' => array('dependencies' => array('wp-a11y', 'wp-api-fetch', 'wp-autop', 'wp-blob', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-viewport', 'wp-wordcount'), 'version' => '782987e5ab04429c624f'), 'block-serialization-default-parser.js' => array('dependencies' => array('wp-polyfill'), 'version' => '85adf50f9c5f80d14aa1'), 'blocks.js' => array('dependencies' => array('wp-autop', 'wp-blob', 'wp-block-serialization-default-parser', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-private-apis', 'wp-shortcode'), 'version' => '313da307f95d84fb20f5'), 'commands.js' => array('dependencies' => array('react', 'react-dom', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-polyfill', 'wp-primitives', 'wp-private-apis'), 'version' => '08e1f24b2983f3c8e82b'), 'components.js' => array('dependencies' => array('react', 'react-dom', 'wp-a11y', 'wp-compose', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-warning'), 'version' => '936ea104608b2933d2f1'), 'compose.js' => array('dependencies' => array('react', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-priority-queue'), 'version' => '228e7d7fccaae67c220c'), 'core-commands.js' => array('dependencies' => array('wp-commands', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-router', 'wp-url'), 'version' => '375c9e258375693411b6'), 'core-data.js' => array('dependencies' => array('wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-private-apis', 'wp-url'), 'version' => '77370c9a15a7db2ae084'), 'customize-widgets.js' => array('dependencies' => array('wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-widgets'), 'version' => '3d725bc7884f48074190'), 'data.js' => array('dependencies' => array('wp-compose', 'wp-deprecated', 'wp-element', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-priority-queue', 'wp-private-apis', 'wp-redux-routine'), 'version' => '2b5bb06caaeb5048ed96'), 'data-controls.js' => array('dependencies' => array('wp-api-fetch', 'wp-data', 'wp-deprecated', 'wp-polyfill'), 'version' => 'd584f6eaf9075247c7ea'), 'date.js' => array('dependencies' => array('moment', 'wp-deprecated', 'wp-polyfill'), 'version' => 'fdd0e33e6e7153e9f39b'), 'deprecated.js' => array('dependencies' => array('wp-hooks', 'wp-polyfill'), 'version' => '191d7f3a805131fb5530'), 'dom.js' => array('dependencies' => array('wp-deprecated', 'wp-polyfill'), 'version' => '94b90b103ee0a85674c5'), 'dom-ready.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'ae5bd6ca23f589f2dac7'), 'edit-post.js' => array('dependencies' => array('wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-commands', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-url', 'wp-viewport', 'wp-warning', 'wp-widgets'), 'version' => '57aa460a64bb0e4ae963'), 'edit-site.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-commands', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-editor', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-plugins', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-reusable-blocks', 'wp-router', 'wp-url', 'wp-viewport', 'wp-widgets', 'wp-wordcount'), 'version' => 'a327e2aa8c782b993946'), 'edit-widgets.js' => array('dependencies' => array('wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-plugins', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-url', 'wp-viewport', 'wp-widgets'), 'version' => 'bbec9f93fddd0072dc37'), 'editor.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-wordcount'), 'version' => '7a0f2e2e0d1ce680faca'), 'element.js' => array('dependencies' => array('react', 'react-dom', 'wp-escape-html', 'wp-polyfill'), 'version' => '10b6413a3a6da33b2264'), 'escape-html.js' => array('dependencies' => array('wp-polyfill'), 'version' => '53958a11eeadd4731b85'), 'format-library.js' => array('dependencies' => array('wp-a11y', 'wp-block-editor', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-rich-text', 'wp-url'), 'version' => '8328cf5af7fe963d518b'), 'hooks.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'c2825736a5a04b1ba4df'), 'html-entities.js' => array('dependencies' => array('wp-polyfill'), 'version' => '5faec882ff4c2ba82326'), 'i18n.js' => array('dependencies' => array('wp-hooks', 'wp-polyfill'), 'version' => 'bbbb3a5d0e355b0e5159'), 'is-shallow-equal.js' => array('dependencies' => array('wp-polyfill'), 'version' => '33c5f8741df506b8861c'), 'keyboard-shortcuts.js' => array('dependencies' => array('wp-data', 'wp-element', 'wp-keycodes', 'wp-polyfill'), 'version' => 'df4eb8a6235f8c883c94'), 'keycodes.js' => array('dependencies' => array('wp-i18n', 'wp-polyfill'), 'version' => '063e98669c67a1b84b0a'), 'list-reusable-blocks.js' => array('dependencies' => array('wp-api-fetch', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '783a65b80a207f8512e0'), 'media-utils.js' => array('dependencies' => array('wp-api-fetch', 'wp-blob', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '9fe3fd6adc6b260619c4'), 'notices.js' => array('dependencies' => array('wp-data', 'wp-polyfill'), 'version' => '6a0c7a42a2154f8fc833'), 'nux.js' => array('dependencies' => array('wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives'), 'version' => '06d5fb6265946f599a57'), 'patterns.js' => array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => '9e33fe43822d9ea96ea3'), 'plugins.js' => array('dependencies' => array('wp-compose', 'wp-element', 'wp-hooks', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-primitives'), 'version' => 'cf9ce5dae9570fdf9714'), 'preferences.js' => array('dependencies' => array('wp-a11y', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives'), 'version' => '216a088227c020408807'), 'preferences-persistence.js' => array('dependencies' => array('wp-api-fetch', 'wp-polyfill'), 'version' => '3fecc3acbb4b8cafcd8b'), 'primitives.js' => array('dependencies' => array('wp-element', 'wp-polyfill'), 'version' => '54acc2bc0957cc0c5eec'), 'priority-queue.js' => array('dependencies' => array('wp-polyfill'), 'version' => '3b99a501866912a283bc'), 'private-apis.js' => array('dependencies' => array('wp-polyfill'), 'version' => '58cbfa9c985f4fae85c8'), 'redux-routine.js' => array('dependencies' => array('wp-polyfill'), 'version' => '154d0b98be93c015ec5a'), 'reusable-blocks.js' => array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => 'fd105556ac05f9703f37'), 'rich-text.js' => array('dependencies' => array('wp-a11y', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-escape-html', 'wp-i18n', 'wp-keycodes', 'wp-polyfill'), 'version' => 'c71e82c747a462300b9a'), 'router.js' => array('dependencies' => array('wp-element', 'wp-polyfill', 'wp-private-apis', 'wp-url'), 'version' => '3b1ce9f5a7a3f2533c5a'), 'server-side-render.js' => array('dependencies' => array('wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => '1bbc22fea6fa0f589211'), 'shortcode.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'b7f08c06584bded4dc0f'), 'style-engine.js' => array('dependencies' => array('wp-polyfill'), 'version' => '6361bf08f629aa878b50'), 'token-list.js' => array('dependencies' => array('wp-polyfill'), 'version' => '1a112ad50d9adf03b517'), 'undo-manager.js' => array('dependencies' => array('wp-is-shallow-equal', 'wp-polyfill'), 'version' => '93d371a3404ab038187e'), 'url.js' => array('dependencies' => array('wp-polyfill'), 'version' => '2eb43eef60790a73edaf'), 'viewport.js' => array('dependencies' => array('wp-compose', 'wp-data', 'wp-element', 'wp-polyfill'), 'version' => '17785f0820e4397c6dd0'), 'warning.js' => array('dependencies' => array('wp-polyfill'), 'version' => '076655dc9e35a2390851'), 'widgets.js' => array('dependencies' => array('wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives'), 'version' => '356c571dfec340b4b96f'), 'wordcount.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'dcb7244d0a90f704c80d')); + array('dependencies' => array('wp-dom-ready', 'wp-i18n', 'wp-polyfill'), 'version' => 'b5ff61edc2245a1950cb'), 'annotations.js' => array('dependencies' => array('wp-data', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-rich-text'), 'version' => 'e07c55999fe14e263e21'), 'api-fetch.js' => array('dependencies' => array('wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => 'c2ebfcac5db769303686'), 'autop.js' => array('dependencies' => array('wp-polyfill'), 'version' => '23677b2f336e3c95f3c7'), 'blob.js' => array('dependencies' => array('wp-polyfill'), 'version' => '06c9fae2f98014ba8707'), 'block-directory.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => '18657c24339460d5f3e4'), 'block-editor.js' => array('dependencies' => array('react', 'react-dom', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-notices', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-style-engine', 'wp-token-list', 'wp-url', 'wp-warning', 'wp-wordcount'), 'version' => '6932968622fe822609fc'), 'block-library.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-autop', 'wp-blob', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-notices', 'wp-patterns', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-viewport', 'wp-wordcount'), 'version' => '2ac156e84f15308df5e9'), 'block-serialization-default-parser.js' => array('dependencies' => array('wp-polyfill'), 'version' => '85adf50f9c5f80d14aa1'), 'blocks.js' => array('dependencies' => array('react', 'wp-autop', 'wp-blob', 'wp-block-serialization-default-parser', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-private-apis', 'wp-rich-text', 'wp-shortcode'), 'version' => '95969eaf1183b9eac9be'), 'commands.js' => array('dependencies' => array('react', 'react-dom', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-polyfill', 'wp-primitives', 'wp-private-apis'), 'version' => 'd1e5a7f63b2e9a846f91'), 'components.js' => array('dependencies' => array('react', 'react-dom', 'wp-a11y', 'wp-compose', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-warning'), 'version' => 'bbaa4b01d6646e05d7a6'), 'compose.js' => array('dependencies' => array('react', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-priority-queue'), 'version' => '1315f5d8d4f882159cab'), 'core-commands.js' => array('dependencies' => array('react', 'wp-commands', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-router', 'wp-url'), 'version' => '0c86cb8b754309b2525c'), 'core-data.js' => array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-private-apis', 'wp-rich-text', 'wp-url'), 'version' => '81cdcef2ff27208c9218'), 'customize-widgets.js' => array('dependencies' => array('react', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-widgets'), 'version' => '8df44ae1f9c96f835f81'), 'data.js' => array('dependencies' => array('react', 'wp-compose', 'wp-deprecated', 'wp-element', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-priority-queue', 'wp-private-apis', 'wp-redux-routine'), 'version' => 'b0385f888071095044bc'), 'data-controls.js' => array('dependencies' => array('wp-api-fetch', 'wp-data', 'wp-deprecated', 'wp-polyfill'), 'version' => 'd584f6eaf9075247c7ea'), 'date.js' => array('dependencies' => array('moment', 'wp-deprecated', 'wp-polyfill'), 'version' => 'fdd0e33e6e7153e9f39b'), 'deprecated.js' => array('dependencies' => array('wp-hooks', 'wp-polyfill'), 'version' => '191d7f3a805131fb5530'), 'dom.js' => array('dependencies' => array('wp-deprecated', 'wp-polyfill'), 'version' => 'fcd2d2e715935910dffc'), 'dom-ready.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'ae5bd6ca23f589f2dac7'), 'edit-post.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-commands', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-url', 'wp-viewport', 'wp-warning', 'wp-widgets'), 'version' => 'de3c2cbd30884d5a78d4'), 'edit-site.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-commands', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-editor', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-plugins', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-reusable-blocks', 'wp-router', 'wp-url', 'wp-viewport', 'wp-widgets', 'wp-wordcount'), 'version' => '7c18066a9728bace63a1'), 'edit-widgets.js' => array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-plugins', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-url', 'wp-viewport', 'wp-widgets'), 'version' => '2bbbb4b11b9031f6296d'), 'editor.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-polyfill', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-wordcount'), 'version' => '9d2061ce20da63796c9e'), 'element.js' => array('dependencies' => array('react', 'react-dom', 'wp-escape-html', 'wp-polyfill'), 'version' => '4bb12979118f46f8d8db'), 'escape-html.js' => array('dependencies' => array('wp-polyfill'), 'version' => '53958a11eeadd4731b85'), 'format-library.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-block-editor', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-url'), 'version' => '881abe8b8686f30c01f8'), 'hooks.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'c2825736a5a04b1ba4df'), 'html-entities.js' => array('dependencies' => array('wp-polyfill'), 'version' => '5faec882ff4c2ba82326'), 'i18n.js' => array('dependencies' => array('wp-hooks', 'wp-polyfill'), 'version' => 'bbbb3a5d0e355b0e5159'), 'interactivity-router.js' => array('dependencies' => array('wp-interactivity', 'wp-polyfill'), 'version' => '5ff3975d87af1f56bb94'), 'is-shallow-equal.js' => array('dependencies' => array('wp-polyfill'), 'version' => '33c5f8741df506b8861c'), 'keyboard-shortcuts.js' => array('dependencies' => array('react', 'wp-data', 'wp-element', 'wp-keycodes', 'wp-polyfill'), 'version' => '683536cbd837236f601c'), 'keycodes.js' => array('dependencies' => array('wp-i18n', 'wp-polyfill'), 'version' => '19e57ba56de281cd5583'), 'list-reusable-blocks.js' => array('dependencies' => array('react', 'wp-api-fetch', 'wp-blob', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '454239aab7915e84e244'), 'media-utils.js' => array('dependencies' => array('wp-api-fetch', 'wp-blob', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '22b343ff748e75d8cb50'), 'notices.js' => array('dependencies' => array('wp-data', 'wp-polyfill'), 'version' => 'faa8ac80687ffe478af7'), 'nux.js' => array('dependencies' => array('react', 'wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives'), 'version' => '2ba45696545000d774c1'), 'patterns.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => '863be8297aa691cb7b9c'), 'plugins.js' => array('dependencies' => array('react', 'wp-compose', 'wp-element', 'wp-hooks', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-primitives'), 'version' => '72b208dbb1ae4126ff79'), 'preferences.js' => array('dependencies' => array('react', 'wp-a11y', 'wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-private-apis'), 'version' => '52704b3a31c0c0af26c8'), 'preferences-persistence.js' => array('dependencies' => array('wp-api-fetch', 'wp-polyfill'), 'version' => 'bda9bf313a189ae14367'), 'primitives.js' => array('dependencies' => array('wp-element', 'wp-polyfill'), 'version' => '54acc2bc0957cc0c5eec'), 'priority-queue.js' => array('dependencies' => array('wp-polyfill'), 'version' => '3b99a501866912a283bc'), 'private-apis.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'f079f3125c76eaffa344'), 'redux-routine.js' => array('dependencies' => array('wp-polyfill'), 'version' => '154d0b98be93c015ec5a'), 'reusable-blocks.js' => array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => 'fcb4decca11ca971126e'), 'rich-text.js' => array('dependencies' => array('wp-a11y', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-escape-html', 'wp-i18n', 'wp-keycodes', 'wp-polyfill'), 'version' => '9750e8b57e81372d0d8b'), 'router.js' => array('dependencies' => array('react', 'wp-element', 'wp-polyfill', 'wp-private-apis', 'wp-url'), 'version' => 'db66e8d9453080d5b9b0'), 'server-side-render.js' => array('dependencies' => array('react', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => '7a66dad7b96ca54cda66'), 'shortcode.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'b7f08c06584bded4dc0f'), 'style-engine.js' => array('dependencies' => array('wp-polyfill'), 'version' => '177fc2935712c81877ba'), 'token-list.js' => array('dependencies' => array('wp-polyfill'), 'version' => '1a112ad50d9adf03b517'), 'undo-manager.js' => array('dependencies' => array('wp-is-shallow-equal', 'wp-polyfill'), 'version' => '93d371a3404ab038187e'), 'url.js' => array('dependencies' => array('wp-polyfill'), 'version' => '3beedf8d85e2bc7280a7'), 'viewport.js' => array('dependencies' => array('react', 'wp-compose', 'wp-data', 'wp-polyfill'), 'version' => '700d858ae3b185b32a95'), 'warning.js' => array('dependencies' => array('wp-polyfill'), 'version' => '076655dc9e35a2390851'), 'widgets.js' => array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives'), 'version' => '064e50a897d20569e95c'), 'wordcount.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'dcb7244d0a90f704c80d')); diff --git a/wp-includes/assets/script-loader-react-refresh-entry.min.php b/wp-includes/assets/script-loader-react-refresh-entry.min.php index 282d9c6330..1413cb6378 100644 --- a/wp-includes/assets/script-loader-react-refresh-entry.min.php +++ b/wp-includes/assets/script-loader-react-refresh-entry.min.php @@ -1 +1 @@ - array('wp-react-refresh-runtime'), 'version' => '794dd7047e2302828128'); + array('wp-react-refresh-runtime'), 'version' => 'e51671a96bba47d2d62d'); diff --git a/wp-includes/assets/script-loader-react-refresh-entry.php b/wp-includes/assets/script-loader-react-refresh-entry.php index 282d9c6330..1413cb6378 100644 --- a/wp-includes/assets/script-loader-react-refresh-entry.php +++ b/wp-includes/assets/script-loader-react-refresh-entry.php @@ -1 +1 @@ - array('wp-react-refresh-runtime'), 'version' => '794dd7047e2302828128'); + array('wp-react-refresh-runtime'), 'version' => 'e51671a96bba47d2d62d'); diff --git a/wp-includes/blocks/908.js b/wp-includes/blocks/908.js new file mode 100644 index 0000000000..f8b6eeaf67 --- /dev/null +++ b/wp-includes/blocks/908.js @@ -0,0 +1,166 @@ +(self["webpackChunkWordPress"] = self["webpackChunkWordPress"] || []).push([[908],{ + +/***/ 908: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ actions: function() { return /* binding */ actions; }, +/* harmony export */ state: function() { return /* binding */ state; } +/* harmony export */ }); +/* harmony import */ var _wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(998); +/** + * WordPress dependencies + */ + + +// The cache of visited and prefetched pages. +const pages = new Map(); + +// Helper to remove domain and hash from the URL. We are only interesting in +// caching the path and the query. +const cleanUrl = url => { + const u = new URL(url, window.location); + return u.pathname + u.search; +}; + +// Fetch a new page and convert it to a static virtual DOM. +const fetchPage = async (url, { + html +}) => { + try { + if (!html) { + const res = await window.fetch(url); + if (res.status !== 200) return false; + html = await res.text(); + } + const dom = new window.DOMParser().parseFromString(html, 'text/html'); + return regionsToVdom(dom); + } catch (e) { + return false; + } +}; + +// Return an object with VDOM trees of those HTML regions marked with a +// `router-region` directive. +const regionsToVdom = dom => { + const regions = {}; + const attrName = `data-${_wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__.directivePrefix}-router-region`; + dom.querySelectorAll(`[${attrName}]`).forEach(region => { + const id = region.getAttribute(attrName); + regions[id] = (0,_wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__.toVdom)(region); + }); + const title = dom.querySelector('title')?.innerText; + return { + regions, + title + }; +}; + +// Render all interactive regions contained in the given page. +const renderRegions = page => { + const attrName = `data-${_wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__.directivePrefix}-router-region`; + document.querySelectorAll(`[${attrName}]`).forEach(region => { + const id = region.getAttribute(attrName); + const fragment = (0,_wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__.getRegionRootFragment)(region); + (0,_wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__.render)(page.regions[id], fragment); + }); + if (page.title) { + document.title = page.title; + } +}; + +// Variable to store the current navigation. +let navigatingTo = ''; + +// Listen to the back and forward buttons and restore the page if it's in the +// cache. +window.addEventListener('popstate', async () => { + const url = cleanUrl(window.location); // Remove hash. + const page = pages.has(url) && (await pages.get(url)); + if (page) { + renderRegions(page); + } else { + window.location.reload(); + } +}); + +// Cache the current regions. +pages.set(cleanUrl(window.location), Promise.resolve(regionsToVdom(document))); +const { + state, + actions +} = (0,_wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__.store)('core/router', { + actions: { + /** + * Navigates to the specified page. + * + * This function normalizes the passed href, fetchs the page HTML if + * needed, and updates any interactive regions whose contents have + * changed. It also creates a new entry in the browser session history. + * + * @param {string} href The page href. + * @param {Object} [options] Options object. + * @param {boolean} [options.force] If true, it forces re-fetching the + * URL. + * @param {string} [options.html] HTML string to be used instead of + * fetching the requested URL. + * @param {boolean} [options.replace] If true, it replaces the current + * entry in the browser session + * history. + * @param {number} [options.timeout] Time until the navigation is + * aborted, in milliseconds. Default + * is 10000. + * + * @return {Promise} Promise that resolves once the navigation is + * completed or aborted. + */ + *navigate(href, options = {}) { + const url = cleanUrl(href); + navigatingTo = href; + actions.prefetch(url, options); + + // Create a promise that resolves when the specified timeout ends. + // The timeout value is 10 seconds by default. + const timeoutPromise = new Promise(resolve => { + var _options$timeout; + return setTimeout(resolve, (_options$timeout = options.timeout) !== null && _options$timeout !== void 0 ? _options$timeout : 10000); + }); + const page = yield Promise.race([pages.get(url), timeoutPromise]); + + // Once the page is fetched, the destination URL could have changed + // (e.g., by clicking another link in the meantime). If so, bail + // out, and let the newer execution to update the HTML. + if (navigatingTo !== href) return; + if (page) { + renderRegions(page); + window.history[options.replace ? 'replaceState' : 'pushState']({}, '', href); + } else { + window.location.assign(href); + yield new Promise(() => {}); + } + }, + /** + * Prefetchs the page with the passed URL. + * + * The function normalizes the URL and stores internally the fetch + * promise, to avoid triggering a second fetch for an ongoing request. + * + * @param {string} url The page URL. + * @param {Object} [options] Options object. + * @param {boolean} [options.force] Force fetching the URL again. + * @param {string} [options.html] HTML string to be used instead of + * fetching the requested URL. + */ + prefetch(url, options = {}) { + url = cleanUrl(url); + if (options.force || !pages.has(url)) { + pages.set(url, fetchPage(url, options)); + } + } + } +}); + +/***/ }) + +}]) \ No newline at end of file diff --git a/wp-includes/blocks/908.min.js b/wp-includes/blocks/908.min.js new file mode 100644 index 0000000000..eafe33f32e --- /dev/null +++ b/wp-includes/blocks/908.min.js @@ -0,0 +1 @@ +(self.webpackChunkWordPress=self.webpackChunkWordPress||[]).push([[908],{908:function(t,e,o){o.r(e),o.d(e,{actions:function(){return u},state:function(){return l}});var r=o(998);const n=new Map,i=t=>{const e=new URL(t,window.location);return e.pathname+e.search},s=t=>{const e={},o=`data-${r.directivePrefix}-router-region`;t.querySelectorAll(`[${o}]`).forEach((t=>{const n=t.getAttribute(o);e[n]=(0,r.toVdom)(t)}));const n=t.querySelector("title")?.innerText;return{regions:e,title:n}},a=t=>{const e=`data-${r.directivePrefix}-router-region`;document.querySelectorAll(`[${e}]`).forEach((o=>{const n=o.getAttribute(e),i=(0,r.getRegionRootFragment)(o);(0,r.render)(t.regions[n],i)})),t.title&&(document.title=t.title)};let c="";window.addEventListener("popstate",(async()=>{const t=i(window.location),e=n.has(t)&&await n.get(t);e?a(e):window.location.reload()})),n.set(i(window.location),Promise.resolve(s(document)));const{state:l,actions:u}=(0,r.store)("core/router",{actions:{*navigate(t,e={}){const o=i(t);c=t,u.prefetch(o,e);const r=new Promise((t=>{var o;return setTimeout(t,null!==(o=e.timeout)&&void 0!==o?o:1e4)})),s=yield Promise.race([n.get(o),r]);c===t&&(s?(a(s),window.history[e.replace?"replaceState":"pushState"]({},"",t)):(window.location.assign(t),yield new Promise((()=>{}))))},prefetch(t,e={}){t=i(t),!e.force&&n.has(t)||n.set(t,(async(t,{html:e})=>{try{if(!e){const o=await window.fetch(t);if(200!==o.status)return!1;e=await o.text()}const o=(new window.DOMParser).parseFromString(e,"text/html");return s(o)}catch(t){return!1}})(t,e))}}})}}]); \ No newline at end of file diff --git a/wp-includes/blocks/audio/block.json b/wp-includes/blocks/audio/block.json index a4740e3044..04df268a74 100644 --- a/wp-includes/blocks/audio/block.json +++ b/wp-includes/blocks/audio/block.json @@ -16,8 +16,8 @@ "__experimentalRole": "content" }, "caption": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": "figcaption", "__experimentalRole": "content" }, diff --git a/wp-includes/blocks/avatar/block.json b/wp-includes/blocks/avatar/block.json index 3b4ac7c84f..fa86541b29 100644 --- a/wp-includes/blocks/avatar/block.json +++ b/wp-includes/blocks/avatar/block.json @@ -30,7 +30,11 @@ "alignWide": false, "spacing": { "margin": true, - "padding": true + "padding": true, + "__experimentalDefaultControls": { + "margin": false, + "padding": false + } }, "__experimentalBorder": { "__experimentalSkipSerialization": true, diff --git a/wp-includes/blocks/block.php b/wp-includes/blocks/block.php index d51b35d68b..444001fa49 100644 --- a/wp-includes/blocks/block.php +++ b/wp-includes/blocks/block.php @@ -46,8 +46,28 @@ function render_block_core_block( $attributes ) { $content = $wp_embed->run_shortcode( $reusable_block->post_content ); $content = $wp_embed->autoembed( $content ); + $has_pattern_overrides = isset( $attributes['overrides'] ); + + /** + * We set the `pattern/overrides` context through the `render_block_context` + * filter so that it is available when a pattern's inner blocks are + * rendering via do_blocks given it only receives the inner content. + */ + if ( $has_pattern_overrides ) { + $filter_block_context = static function ( $context ) use ( $attributes ) { + $context['pattern/overrides'] = $attributes['overrides']; + return $context; + }; + add_filter( 'render_block_context', $filter_block_context, 1 ); + } + $content = do_blocks( $content ); unset( $seen_refs[ $attributes['ref'] ] ); + + if ( $has_pattern_overrides ) { + remove_filter( 'render_block_context', $filter_block_context, 1 ); + } + return $content; } diff --git a/wp-includes/blocks/block/block.json b/wp-includes/blocks/block/block.json index 4cb5396072..b30c865e57 100644 --- a/wp-includes/blocks/block/block.json +++ b/wp-includes/blocks/block/block.json @@ -10,11 +10,15 @@ "attributes": { "ref": { "type": "number" + }, + "overrides": { + "type": "object" } }, "supports": { "customClassName": false, "html": false, - "inserter": false + "inserter": false, + "renaming": false } } diff --git a/wp-includes/blocks/blocks-json.php b/wp-includes/blocks/blocks-json.php index 85656181b0..0da1bb0e5b 100644 --- a/wp-includes/blocks/blocks-json.php +++ b/wp-includes/blocks/blocks-json.php @@ -75,8 +75,8 @@ '__experimentalRole' => 'content' ), 'caption' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'figcaption', '__experimentalRole' => 'content' ), @@ -154,7 +154,11 @@ 'alignWide' => false, 'spacing' => array( 'margin' => true, - 'padding' => true + 'padding' => true, + '__experimentalDefaultControls' => array( + 'margin' => false, + 'padding' => false + ) ), '__experimentalBorder' => array( '__experimentalSkipSerialization' => true, @@ -192,12 +196,16 @@ 'attributes' => array( 'ref' => array( 'type' => 'number' + ), + 'overrides' => array( + 'type' => 'object' ) ), 'supports' => array( 'customClassName' => false, 'html' => false, - 'inserter' => false + 'inserter' => false, + 'renaming' => false ) ), 'button' => array( @@ -214,6 +222,9 @@ 'link' ), 'textdomain' => 'default', + 'usesContext' => array( + 'pattern/overrides' + ), 'attributes' => array( 'tagName' => array( 'type' => 'string', @@ -245,8 +256,8 @@ '__experimentalRole' => 'content' ), 'text' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'a,button', '__experimentalRole' => 'content' ), @@ -516,8 +527,8 @@ 'textdomain' => 'default', 'attributes' => array( 'content' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'code', '__unstablePreserveWhiteSpace' => true ) @@ -1314,7 +1325,7 @@ 'ancestor' => array( 'core/comments' ), - 'description' => 'Displays a title with the number of comments', + 'description' => 'Displays a title with the number of comments.', 'textdomain' => 'default', 'usesContext' => array( 'postId', @@ -1397,9 +1408,6 @@ ), 'alt' => array( 'type' => 'string', - 'source' => 'attribute', - 'selector' => 'img', - 'attribute' => 'alt', 'default' => '' ), 'hasParallax' => array( @@ -1420,6 +1428,9 @@ 'customOverlayColor' => array( 'type' => 'string' ), + 'isUserOverlayColor' => array( + 'type' => 'boolean' + ), 'backgroundType' => array( 'type' => 'string', 'default' => 'image' @@ -1508,6 +1519,9 @@ ), 'enableContrastChecker' => false ), + 'dimensions' => array( + 'aspectRatio' => true + ), 'typography' => array( 'fontSize' => true, 'lineHeight' => true, @@ -1548,8 +1562,8 @@ 'default' => false ), 'summary' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'summary' ) ), @@ -1615,8 +1629,8 @@ '__experimentalRole' => 'content' ), 'caption' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'figcaption', '__experimentalRole' => 'content' ), @@ -1679,8 +1693,8 @@ 'attribute' => 'id' ), 'fileName' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'a:not([download])' ), 'textLinkHref' => array( @@ -1700,8 +1714,8 @@ 'default' => true ), 'downloadButtonText' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'a[download]' ), 'displayPreview' => array( @@ -1730,7 +1744,6 @@ ), 'interactivity' => true ), - 'viewScript' => 'file:./view.min.js', 'editorStyle' => 'wp-block-file-editor', 'style' => 'wp-block-file' ), @@ -1740,7 +1753,7 @@ 'name' => 'core/footnotes', 'title' => 'Footnotes', 'category' => 'text', - 'description' => '', + 'description' => 'Display footnotes added to the page.', 'keywords' => array( 'references' ), @@ -1774,6 +1787,7 @@ 'html' => false, 'multiple' => false, 'reusable' => false, + 'inserter' => false, 'spacing' => array( 'margin' => true, 'padding' => true, @@ -1873,8 +1887,8 @@ 'attribute' => 'data-id' ), 'caption' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => '.blocks-gallery-item__caption' ) ) @@ -1903,14 +1917,18 @@ 'maximum' => 8 ), 'caption' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => '.blocks-gallery-caption' ), 'imageCrop' => array( 'type' => 'boolean', 'default' => true ), + 'randomOrder' => array( + 'type' => 'boolean', + 'default' => false + ), 'fixedHeight' => array( 'type' => 'boolean', 'default' => true @@ -2018,7 +2036,6 @@ '__experimentalOnEnter' => true, '__experimentalOnMerge' => true, '__experimentalSettings' => true, - '__experimentalMetadata' => true, 'align' => array( 'wide', 'full' @@ -2027,7 +2044,11 @@ 'ariaLabel' => true, 'html' => false, 'background' => array( - 'backgroundImage' => true + 'backgroundImage' => true, + 'backgroundSize' => true, + '__experimentalDefaultControls' => array( + 'backgroundImage' => true + ) ), 'color' => array( 'gradients' => true, @@ -2052,6 +2073,7 @@ ) ), 'dimensions' => array( + 'aspectRatio' => true, 'minHeight' => true ), '__experimentalBorder' => array( @@ -2101,15 +2123,17 @@ 'subtitle' ), 'textdomain' => 'default', + 'usesContext' => array( + 'pattern/overrides' + ), 'attributes' => array( 'textAlign' => array( 'type' => 'string' ), 'content' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'h1,h2,h3,h4,h5,h6', - 'default' => '', '__experimentalRole' => 'content' ), 'level' => array( @@ -2154,9 +2178,7 @@ '__experimentalTextDecoration' => true, '__experimentalWritingMode' => true, '__experimentalDefaultControls' => array( - 'fontSize' => true, - 'fontAppearance' => true, - 'textTransform' => true + 'fontSize' => true ) ), '__unstablePasteTextInline' => true, @@ -2243,7 +2265,8 @@ 'usesContext' => array( 'allowResize', 'imageCrop', - 'fixedHeight' + 'fixedHeight', + 'pattern/overrides' ), 'description' => 'Insert an image to make a visual statement.', 'keywords' => array( @@ -2253,9 +2276,6 @@ ), 'textdomain' => 'default', 'attributes' => array( - 'align' => array( - 'type' => 'string' - ), 'url' => array( 'type' => 'string', 'source' => 'attribute', @@ -2272,8 +2292,8 @@ '__experimentalRole' => 'content' ), 'caption' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'figcaption', '__experimentalRole' => 'content' ), @@ -2339,6 +2359,14 @@ ) ), 'supports' => array( + 'interactivity' => true, + 'align' => array( + 'left', + 'center', + 'right', + 'wide', + 'full' + ), 'anchor' => true, 'color' => array( 'text' => false, @@ -2377,8 +2405,7 @@ ) ), 'editorStyle' => 'wp-block-image-editor', - 'style' => 'wp-block-image', - 'viewScript' => 'file:./view.min.js' + 'style' => 'wp-block-image' ), 'latest-comments' => array( '$schema' => 'https://schemas.wp.org/trunk/block.json', @@ -2559,6 +2586,7 @@ 'style' => 'wp-block-latest-posts' ), 'legacy-widget' => array( + '$schema' => 'https://schemas.wp.org/trunk/block.json', 'apiVersion' => 3, 'name' => 'core/legacy-widget', 'title' => 'Legacy Widget', @@ -2686,16 +2714,23 @@ 'type' => 'string' ), 'content' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'li', - 'default' => '', '__experimentalRole' => 'content' ) ), 'supports' => array( 'className' => false, '__experimentalSelector' => 'li', + 'spacing' => array( + 'margin' => true, + 'padding' => true, + '__experimentalDefaultControls' => array( + 'margin' => false, + 'padding' => false + ) + ), 'typography' => array( 'fontSize' => true, 'lineHeight' => true, @@ -2736,6 +2771,14 @@ ), 'supports' => array( 'className' => true, + 'spacing' => array( + 'margin' => true, + 'padding' => true, + '__experimentalDefaultControls' => array( + 'margin' => false, + 'padding' => false + ) + ), 'typography' => array( 'fontSize' => true, 'lineHeight' => true, @@ -2904,7 +2947,7 @@ ), 'originalContent' => array( 'type' => 'string', - 'source' => 'html' + 'source' => 'raw' ) ), 'supports' => array( @@ -3101,9 +3144,9 @@ ) ) ), - 'interactivity' => true + 'interactivity' => true, + 'renaming' => false ), - 'viewScript' => 'file:./view.min.js', 'editorStyle' => 'wp-block-navigation-editor', 'style' => 'wp-block-navigation' ), @@ -3182,7 +3225,8 @@ '__experimentalDefaultControls' => array( 'fontSize' => true ) - ) + ), + 'renaming' => false ), 'editorStyle' => 'wp-block-navigation-link-editor', 'style' => 'wp-block-navigation-link' @@ -3403,17 +3447,17 @@ ), 'textdomain' => 'default', 'usesContext' => array( - 'postId' + 'postId', + 'pattern/overrides' ), 'attributes' => array( 'align' => array( 'type' => 'string' ), 'content' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'p', - 'default' => '', '__experimentalRole' => 'content' ), 'dropCap' => array( @@ -3442,7 +3486,6 @@ 'text' => true ) ), - '__experimentalConnections' => true, 'spacing' => array( 'margin' => true, 'padding' => true, @@ -3480,7 +3523,8 @@ 'description' => 'Show a block pattern.', 'supports' => array( 'html' => false, - 'inserter' => false + 'inserter' => false, + 'renaming' => false ), 'textdomain' => 'default', 'attributes' => array( @@ -3934,6 +3978,10 @@ ), 'customGradient' => array( 'type' => 'string' + ), + 'useFirstImageFromPost' => array( + 'type' => 'boolean', + 'default' => false ) ), 'usesContext' => array( @@ -4005,8 +4053,18 @@ 'arrow' => array( 'type' => 'string', 'default' => 'none' + ), + 'inSameTerm' => array( + 'type' => 'boolean' + ), + 'taxonomy' => array( + 'type' => 'string', + 'default' => '' ) ), + 'usesContext' => array( + 'postType' + ), 'supports' => array( 'reusable' => false, 'html' => false, @@ -4044,7 +4102,6 @@ 'usesContext' => array( 'queryId', 'query', - 'queryContext', 'displayLayout', 'templateSlug', 'previewPostType', @@ -4218,9 +4275,7 @@ '__experimentalTextDecoration' => true, '__experimentalLetterSpacing' => true, '__experimentalDefaultControls' => array( - 'fontSize' => true, - 'fontAppearance' => true, - 'textTransform' => true + 'fontSize' => true ) ) ), @@ -4236,10 +4291,9 @@ 'textdomain' => 'default', 'attributes' => array( 'content' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'pre', - 'default' => '', '__unstablePreserveWhiteSpace' => true, '__experimentalRole' => 'content' ) @@ -4283,16 +4337,15 @@ 'textdomain' => 'default', 'attributes' => array( 'value' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'p', '__experimentalRole' => 'content' ), 'citation' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'cite', - 'default' => '', '__experimentalRole' => 'content' ), 'textAlign' => array( @@ -4316,6 +4369,10 @@ 'text' => true ) ), + 'spacing' => array( + 'margin' => true, + 'padding' => true + ), 'typography' => array( 'fontSize' => true, 'lineHeight' => true, @@ -4326,8 +4383,7 @@ '__experimentalTextDecoration' => true, '__experimentalLetterSpacing' => true, '__experimentalDefaultControls' => array( - 'fontSize' => true, - 'fontAppearance' => true + 'fontSize' => true ) ), '__experimentalBorder' => array( @@ -4413,8 +4469,7 @@ 'layout' => true ), 'editorStyle' => 'wp-block-query-editor', - 'style' => 'wp-block-query', - 'viewScript' => 'file:./view.min.js' + 'style' => 'wp-block-query' ), 'query-no-results' => array( '$schema' => 'https://schemas.wp.org/trunk/block.json', @@ -4577,7 +4632,7 @@ 'parent' => array( 'core/query-pagination' ), - 'description' => 'Displays a list of page numbers for pagination', + 'description' => 'Displays a list of page numbers for pagination.', 'textdomain' => 'default', 'attributes' => array( 'midSize' => array( @@ -4719,9 +4774,7 @@ '__experimentalTextTransform' => true, '__experimentalTextDecoration' => true, '__experimentalDefaultControls' => array( - 'fontSize' => true, - 'fontAppearance' => true, - 'textTransform' => true + 'fontSize' => true ) ) ), @@ -4749,10 +4802,9 @@ '__experimentalRole' => 'content' ), 'citation' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'cite', - 'default' => '', '__experimentalRole' => 'content' ), 'align' => array( @@ -4774,8 +4826,7 @@ '__experimentalTextDecoration' => true, '__experimentalLetterSpacing' => true, '__experimentalDefaultControls' => array( - 'fontSize' => true, - 'fontAppearance' => true + 'fontSize' => true ) ), 'color' => array( @@ -4786,6 +4837,12 @@ 'background' => true, 'text' => true ) + ), + 'layout' => array( + 'allowEditing' => false + ), + 'spacing' => array( + 'blockGap' => true ) ), 'styles' => array( @@ -4965,10 +5022,6 @@ ) ), - 'buttonBehavior' => array( - 'type' => 'string', - 'default' => 'expand-searchfield' - ), 'isSearchFieldHidden' => array( 'type' => 'boolean', 'default' => false @@ -5017,7 +5070,6 @@ ), 'html' => false ), - 'viewScript' => 'file:./view.min.js', 'editorStyle' => 'wp-block-search-editor', 'style' => 'wp-block-search' ), @@ -5283,11 +5335,7 @@ '__experimentalFontWeight' => true, '__experimentalLetterSpacing' => true, '__experimentalDefaultControls' => array( - 'fontSize' => true, - 'lineHeight' => true, - 'fontAppearance' => true, - 'letterSpacing' => true, - 'textTransform' => true + 'fontSize' => true ) ) ), @@ -5496,10 +5544,9 @@ 'default' => false ), 'caption' => array( - 'type' => 'string', - 'source' => 'html', - 'selector' => 'figcaption', - 'default' => '' + 'type' => 'rich-text', + 'source' => 'rich-text', + 'selector' => 'figcaption' ), 'head' => array( 'type' => 'array', @@ -5518,8 +5565,8 @@ 'selector' => 'td,th', 'query' => array( 'content' => array( - 'type' => 'string', - 'source' => 'html' + 'type' => 'rich-text', + 'source' => 'rich-text' ), 'tag' => array( 'type' => 'string', @@ -5567,8 +5614,8 @@ 'selector' => 'td,th', 'query' => array( 'content' => array( - 'type' => 'string', - 'source' => 'html' + 'type' => 'rich-text', + 'source' => 'rich-text' ), 'tag' => array( 'type' => 'string', @@ -5616,8 +5663,8 @@ 'selector' => 'td,th', 'query' => array( 'content' => array( - 'type' => 'string', - 'source' => 'html' + 'type' => 'rich-text', + 'source' => 'rich-text' ), 'tag' => array( 'type' => 'string', @@ -5794,7 +5841,8 @@ 'supports' => array( 'align' => true, 'html' => false, - 'reusable' => false + 'reusable' => false, + 'renaming' => false ), 'editorStyle' => 'wp-block-template-part-editor' ), @@ -5900,10 +5948,9 @@ 'textdomain' => 'default', 'attributes' => array( 'content' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'pre', - 'default' => '', '__unstablePreserveWhiteSpace' => true, '__experimentalRole' => 'content' ), @@ -5931,8 +5978,7 @@ '__experimentalTextTransform' => true, '__experimentalTextDecoration' => true, '__experimentalDefaultControls' => array( - 'fontSize' => true, - 'fontAppearance' => true + 'fontSize' => true ) ), 'spacing' => array( @@ -5972,8 +6018,8 @@ 'attribute' => 'autoplay' ), 'caption' => array( - 'type' => 'string', - 'source' => 'html', + 'type' => 'rich-text', + 'source' => 'rich-text', 'selector' => 'figcaption', '__experimentalRole' => 'content' ), @@ -6053,6 +6099,7 @@ 'style' => 'wp-block-video' ), 'widget-group' => array( + '$schema' => 'https://schemas.wp.org/trunk/block.json', 'apiVersion' => 3, 'name' => 'core/widget-group', 'category' => 'widgets', diff --git a/wp-includes/blocks/button/block.json b/wp-includes/blocks/button/block.json index eec327b4ca..f04d4642bb 100644 --- a/wp-includes/blocks/button/block.json +++ b/wp-includes/blocks/button/block.json @@ -8,6 +8,7 @@ "description": "Prompt visitors to take action with a button-style link.", "keywords": [ "link" ], "textdomain": "default", + "usesContext": [ "pattern/overrides" ], "attributes": { "tagName": { "type": "string", @@ -36,8 +37,8 @@ "__experimentalRole": "content" }, "text": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": "a,button", "__experimentalRole": "content" }, diff --git a/wp-includes/blocks/button/editor-rtl.css b/wp-includes/blocks/button/editor-rtl.css index b44770c2bb..859cff5919 100644 --- a/wp-includes/blocks/button/editor-rtl.css +++ b/wp-includes/blocks/button/editor-rtl.css @@ -21,37 +21,6 @@ opacity:.8; } -.wp-block-button__inline-link{ - color:#757575; - height:0; - max-width:290px; - overflow:hidden; -} -.wp-block-button__inline-link-input__suggestions{ - max-width:290px; -} -@media (min-width:782px){ - .wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{ - max-width:260px; - } -} -@media (min-width:960px){ - .wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{ - max-width:290px; - } -} -.is-selected .wp-block-button__inline-link{ - height:auto; - overflow:visible; -} - -.wp-button-label__width .components-button-group{ - display:block; -} -.wp-button-label__width .components-base-control__field{ - margin-bottom:12px; -} - div[data-type="core/button"]{ display:table; } diff --git a/wp-includes/blocks/button/editor-rtl.min.css b/wp-includes/blocks/button/editor-rtl.min.css index 70b3555441..7b9e26da36 100644 --- a/wp-includes/blocks/button/editor-rtl.min.css +++ b/wp-includes/blocks/button/editor-rtl.min.css @@ -1 +1 @@ -.wp-block[data-align=center]>.wp-block-button{margin-left:auto;margin-right:auto;text-align:center}.wp-block[data-align=right]>.wp-block-button{text-align:right}.wp-block-button{cursor:text;position:relative}.wp-block-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.wp-block-button[data-rich-text-placeholder]:after{opacity:.8}.wp-block-button__inline-link{color:#757575;height:0;max-width:290px;overflow:hidden}.wp-block-button__inline-link-input__suggestions{max-width:290px}@media (min-width:782px){.wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{max-width:260px}}@media (min-width:960px){.wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{max-width:290px}}.is-selected .wp-block-button__inline-link{height:auto;overflow:visible}.wp-button-label__width .components-button-group{display:block}.wp-button-label__width .components-base-control__field{margin-bottom:12px}div[data-type="core/button"]{display:table}.editor-styles-wrapper .wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-right-width:medium} \ No newline at end of file +.wp-block[data-align=center]>.wp-block-button{margin-left:auto;margin-right:auto;text-align:center}.wp-block[data-align=right]>.wp-block-button{text-align:right}.wp-block-button{cursor:text;position:relative}.wp-block-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.wp-block-button[data-rich-text-placeholder]:after{opacity:.8}div[data-type="core/button"]{display:table}.editor-styles-wrapper .wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-right-width:medium} \ No newline at end of file diff --git a/wp-includes/blocks/button/editor.css b/wp-includes/blocks/button/editor.css index 39d3b86a16..2c5e6c9041 100644 --- a/wp-includes/blocks/button/editor.css +++ b/wp-includes/blocks/button/editor.css @@ -21,37 +21,6 @@ opacity:.8; } -.wp-block-button__inline-link{ - color:#757575; - height:0; - max-width:290px; - overflow:hidden; -} -.wp-block-button__inline-link-input__suggestions{ - max-width:290px; -} -@media (min-width:782px){ - .wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{ - max-width:260px; - } -} -@media (min-width:960px){ - .wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{ - max-width:290px; - } -} -.is-selected .wp-block-button__inline-link{ - height:auto; - overflow:visible; -} - -.wp-button-label__width .components-button-group{ - display:block; -} -.wp-button-label__width .components-base-control__field{ - margin-bottom:12px; -} - div[data-type="core/button"]{ display:table; } diff --git a/wp-includes/blocks/button/editor.min.css b/wp-includes/blocks/button/editor.min.css index 32721ecbdb..bafac8caa0 100644 --- a/wp-includes/blocks/button/editor.min.css +++ b/wp-includes/blocks/button/editor.min.css @@ -1,2 +1,2 @@ .wp-block[data-align=center]>.wp-block-button{margin-left:auto;margin-right:auto;text-align:center}.wp-block[data-align=right]>.wp-block-button{ - /*!rtl:ignore*/text-align:right}.wp-block-button{cursor:text;position:relative}.wp-block-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.wp-block-button[data-rich-text-placeholder]:after{opacity:.8}.wp-block-button__inline-link{color:#757575;height:0;max-width:290px;overflow:hidden}.wp-block-button__inline-link-input__suggestions{max-width:290px}@media (min-width:782px){.wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{max-width:260px}}@media (min-width:960px){.wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{max-width:290px}}.is-selected .wp-block-button__inline-link{height:auto;overflow:visible}.wp-button-label__width .components-button-group{display:block}.wp-button-label__width .components-base-control__field{margin-bottom:12px}div[data-type="core/button"]{display:table}.editor-styles-wrapper .wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-left-width:medium} \ No newline at end of file + /*!rtl:ignore*/text-align:right}.wp-block-button{cursor:text;position:relative}.wp-block-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.wp-block-button[data-rich-text-placeholder]:after{opacity:.8}div[data-type="core/button"]{display:table}.editor-styles-wrapper .wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-left-width:medium} \ No newline at end of file diff --git a/wp-includes/blocks/button/style-rtl.css b/wp-includes/blocks/button/style-rtl.css index 5e0c72e537..a2e973d5d8 100644 --- a/wp-includes/blocks/button/style-rtl.css +++ b/wp-includes/blocks/button/style-rtl.css @@ -64,16 +64,16 @@ border-radius:0 !important; } -.wp-block-button .wp-block-button__link.is-style-outline,.wp-block-button.is-style-outline>.wp-block-button__link{ +.wp-block-button .wp-block-button__link:where(.is-style-outline),.wp-block-button:where(.is-style-outline)>.wp-block-button__link{ border:2px solid; padding:.667em 1.333em; } -.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color){ +.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color){ color:currentColor; } -.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background){ +.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background){ background-color:transparent; background-image:none; } diff --git a/wp-includes/blocks/button/style-rtl.min.css b/wp-includes/blocks/button/style-rtl.min.css index 307c048992..06026f9a30 100644 --- a/wp-includes/blocks/button/style-rtl.min.css +++ b/wp-includes/blocks/button/style-rtl.min.css @@ -1 +1 @@ -.wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}.wp-block-button .wp-block-button__link.is-style-outline,.wp-block-button.is-style-outline>.wp-block-button__link{border:2px solid;padding:.667em 1.333em}.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color){color:currentColor}.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background){background-color:transparent;background-image:none}.wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-right-width:medium} \ No newline at end of file +.wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}.wp-block-button .wp-block-button__link:where(.is-style-outline),.wp-block-button:where(.is-style-outline)>.wp-block-button__link{border:2px solid;padding:.667em 1.333em}.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color){color:currentColor}.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background){background-color:transparent;background-image:none}.wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-right-width:medium} \ No newline at end of file diff --git a/wp-includes/blocks/button/style.css b/wp-includes/blocks/button/style.css index 09a46edd8f..48b973da4e 100644 --- a/wp-includes/blocks/button/style.css +++ b/wp-includes/blocks/button/style.css @@ -64,16 +64,16 @@ border-radius:0 !important; } -.wp-block-button .wp-block-button__link.is-style-outline,.wp-block-button.is-style-outline>.wp-block-button__link{ +.wp-block-button .wp-block-button__link:where(.is-style-outline),.wp-block-button:where(.is-style-outline)>.wp-block-button__link{ border:2px solid; padding:.667em 1.333em; } -.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color){ +.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color){ color:currentColor; } -.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background){ +.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background){ background-color:transparent; background-image:none; } diff --git a/wp-includes/blocks/button/style.min.css b/wp-includes/blocks/button/style.min.css index cd8f86bea5..f3a572f4d0 100644 --- a/wp-includes/blocks/button/style.min.css +++ b/wp-includes/blocks/button/style.min.css @@ -1 +1 @@ -.wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}.wp-block-button .wp-block-button__link.is-style-outline,.wp-block-button.is-style-outline>.wp-block-button__link{border:2px solid;padding:.667em 1.333em}.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color){color:currentColor}.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background){background-color:transparent;background-image:none}.wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-left-width:medium} \ No newline at end of file +.wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}.wp-block-button .wp-block-button__link:where(.is-style-outline),.wp-block-button:where(.is-style-outline)>.wp-block-button__link{border:2px solid;padding:.667em 1.333em}.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color){color:currentColor}.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background){background-color:transparent;background-image:none}.wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-left-width:medium} \ No newline at end of file diff --git a/wp-includes/blocks/calendar.php b/wp-includes/blocks/calendar.php index f1f7967235..04b888972b 100644 --- a/wp-includes/blocks/calendar.php +++ b/wp-includes/blocks/calendar.php @@ -33,10 +33,8 @@ function render_block_core_calendar( $attributes ) { str_contains( $permalink_structure, '%monthnum%' ) && str_contains( $permalink_structure, '%year%' ) ) { - // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited $monthnum = $attributes['month']; - // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited - $year = $attributes['year']; + $year = $attributes['year']; } } @@ -70,10 +68,8 @@ function render_block_core_calendar( $attributes ) { $calendar ); - // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited $monthnum = $previous_monthnum; - // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited - $year = $previous_year; + $year = $previous_year; return $output; } diff --git a/wp-includes/blocks/categories.php b/wp-includes/blocks/categories.php index 7e3979b7ae..c35376505b 100644 --- a/wp-includes/blocks/categories.php +++ b/wp-includes/blocks/categories.php @@ -70,8 +70,7 @@ function render_block_core_categories( $attributes ) { function build_dropdown_script_block_core_categories( $dropdown_id ) { ob_start(); ?> - ', '' ), '', ob_get_clean() ) ); } /** diff --git a/wp-includes/blocks/code/block.json b/wp-includes/blocks/code/block.json index 80df74b506..bd5db3c918 100644 --- a/wp-includes/blocks/code/block.json +++ b/wp-includes/blocks/code/block.json @@ -8,8 +8,8 @@ "textdomain": "default", "attributes": { "content": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": "code", "__unstablePreserveWhiteSpace": true } diff --git a/wp-includes/blocks/comments-title/block.json b/wp-includes/blocks/comments-title/block.json index 12b105afe9..4107f5d590 100644 --- a/wp-includes/blocks/comments-title/block.json +++ b/wp-includes/blocks/comments-title/block.json @@ -5,7 +5,7 @@ "title": "Comments Title", "category": "theme", "ancestor": [ "core/comments" ], - "description": "Displays a title with the number of comments", + "description": "Displays a title with the number of comments.", "textdomain": "default", "usesContext": [ "postId", "postType" ], "attributes": { diff --git a/wp-includes/blocks/cover/block.json b/wp-includes/blocks/cover/block.json index e88dd2d65a..80562da309 100644 --- a/wp-includes/blocks/cover/block.json +++ b/wp-includes/blocks/cover/block.json @@ -19,9 +19,6 @@ }, "alt": { "type": "string", - "source": "attribute", - "selector": "img", - "attribute": "alt", "default": "" }, "hasParallax": { @@ -42,6 +39,9 @@ "customOverlayColor": { "type": "string" }, + "isUserOverlayColor": { + "type": "boolean" + }, "backgroundType": { "type": "string", "default": "image" @@ -114,6 +114,9 @@ "__experimentalSkipSerialization": [ "gradients" ], "enableContrastChecker": false }, + "dimensions": { + "aspectRatio": true + }, "typography": { "fontSize": true, "lineHeight": true, diff --git a/wp-includes/blocks/cover/style-rtl.css b/wp-includes/blocks/cover/style-rtl.css index 2144332c3c..15e85de7b6 100644 --- a/wp-includes/blocks/cover/style-rtl.css +++ b/wp-includes/blocks/cover/style-rtl.css @@ -5,8 +5,7 @@ display:flex; justify-content:center; min-height:430px; - overflow:hidden; - overflow:clip; + overflow-x:clip; padding:1em; position:relative; } diff --git a/wp-includes/blocks/cover/style-rtl.min.css b/wp-includes/blocks/cover/style-rtl.min.css index e7823ed376..b09cf59ccf 100644 --- a/wp-includes/blocks/cover/style-rtl.min.css +++ b/wp-includes/blocks/cover/style-rtl.min.css @@ -1 +1 @@ -.wp-block-cover,.wp-block-cover-image{align-items:center;background-position:50%;box-sizing:border-box;direction:ltr;display:flex;justify-content:center;min-height:430px;overflow:hidden;overflow:clip;padding:1em;position:relative}.wp-block-cover .has-background-dim:not([class*=-background-color]),.wp-block-cover-image .has-background-dim:not([class*=-background-color]),.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{background-color:transparent}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{background-color:inherit;content:""}.wp-block-cover .wp-block-cover__background,.wp-block-cover .wp-block-cover__gradient-background,.wp-block-cover-image .wp-block-cover__background,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover.has-background-dim:not(.has-background-gradient):before{bottom:0;left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:420px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{content:"";display:block;font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover-image .wp-block-cover__inner-container{color:inherit;direction:rtl;width:100%;z-index:1}.wp-block-cover h1:where(:not(.has-text-color)),.wp-block-cover h2:where(:not(.has-text-color)),.wp-block-cover h3:where(:not(.has-text-color)),.wp-block-cover h4:where(:not(.has-text-color)),.wp-block-cover h5:where(:not(.has-text-color)),.wp-block-cover h6:where(:not(.has-text-color)),.wp-block-cover p:where(:not(.has-text-color)),.wp-block-cover-image h1:where(:not(.has-text-color)),.wp-block-cover-image h2:where(:not(.has-text-color)),.wp-block-cover-image h3:where(:not(.has-text-color)),.wp-block-cover-image h4:where(:not(.has-text-color)),.wp-block-cover-image h5:where(:not(.has-text-color)),.wp-block-cover-image h6:where(:not(.has-text-color)),.wp-block-cover-image p:where(:not(.has-text-color)){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0}.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover .wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background,.wp-block-cover-image .wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background{border:none;bottom:0;box-shadow:none;height:100%;left:0;margin:0;max-height:none;max-width:none;object-fit:cover;outline:none;padding:0;position:absolute;right:0;top:0;width:100%}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:fixed;background-repeat:no-repeat;background-size:cover}@supports (-webkit-touch-callout:inherit){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated,.wp-block-cover__image-background.is-repeated,video.wp-block-cover__video-background.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover__image-background,.wp-block-cover__video-background{z-index:0}.wp-block-cover-image-text,.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-right:0;text-align:right}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-left:0;text-align:left}.wp-block-cover .wp-block-cover-text,.wp-block-cover-image .wp-block-cover-image-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;margin-bottom:0;max-width:840px;padding:.44em;text-align:center;z-index:1}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000} \ No newline at end of file +.wp-block-cover,.wp-block-cover-image{align-items:center;background-position:50%;box-sizing:border-box;direction:ltr;display:flex;justify-content:center;min-height:430px;overflow-x:clip;padding:1em;position:relative}.wp-block-cover .has-background-dim:not([class*=-background-color]),.wp-block-cover-image .has-background-dim:not([class*=-background-color]),.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{background-color:transparent}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{background-color:inherit;content:""}.wp-block-cover .wp-block-cover__background,.wp-block-cover .wp-block-cover__gradient-background,.wp-block-cover-image .wp-block-cover__background,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover.has-background-dim:not(.has-background-gradient):before{bottom:0;left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:420px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{content:"";display:block;font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover-image .wp-block-cover__inner-container{color:inherit;direction:rtl;width:100%;z-index:1}.wp-block-cover h1:where(:not(.has-text-color)),.wp-block-cover h2:where(:not(.has-text-color)),.wp-block-cover h3:where(:not(.has-text-color)),.wp-block-cover h4:where(:not(.has-text-color)),.wp-block-cover h5:where(:not(.has-text-color)),.wp-block-cover h6:where(:not(.has-text-color)),.wp-block-cover p:where(:not(.has-text-color)),.wp-block-cover-image h1:where(:not(.has-text-color)),.wp-block-cover-image h2:where(:not(.has-text-color)),.wp-block-cover-image h3:where(:not(.has-text-color)),.wp-block-cover-image h4:where(:not(.has-text-color)),.wp-block-cover-image h5:where(:not(.has-text-color)),.wp-block-cover-image h6:where(:not(.has-text-color)),.wp-block-cover-image p:where(:not(.has-text-color)){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0}.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover .wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background,.wp-block-cover-image .wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background{border:none;bottom:0;box-shadow:none;height:100%;left:0;margin:0;max-height:none;max-width:none;object-fit:cover;outline:none;padding:0;position:absolute;right:0;top:0;width:100%}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:fixed;background-repeat:no-repeat;background-size:cover}@supports (-webkit-touch-callout:inherit){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated,.wp-block-cover__image-background.is-repeated,video.wp-block-cover__video-background.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover__image-background,.wp-block-cover__video-background{z-index:0}.wp-block-cover-image-text,.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-right:0;text-align:right}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-left:0;text-align:left}.wp-block-cover .wp-block-cover-text,.wp-block-cover-image .wp-block-cover-image-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;margin-bottom:0;max-width:840px;padding:.44em;text-align:center;z-index:1}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000} \ No newline at end of file diff --git a/wp-includes/blocks/cover/style.css b/wp-includes/blocks/cover/style.css index 79c70aebfd..fefb3824b7 100644 --- a/wp-includes/blocks/cover/style.css +++ b/wp-includes/blocks/cover/style.css @@ -5,8 +5,7 @@ display:flex; justify-content:center; min-height:430px; - overflow:hidden; - overflow:clip; + overflow-x:clip; padding:1em; position:relative; } diff --git a/wp-includes/blocks/cover/style.min.css b/wp-includes/blocks/cover/style.min.css index 3f009336f6..de679a210e 100644 --- a/wp-includes/blocks/cover/style.min.css +++ b/wp-includes/blocks/cover/style.min.css @@ -1 +1 @@ -.wp-block-cover,.wp-block-cover-image{align-items:center;background-position:50%;box-sizing:border-box;display:flex;justify-content:center;min-height:430px;overflow:hidden;overflow:clip;padding:1em;position:relative}.wp-block-cover .has-background-dim:not([class*=-background-color]),.wp-block-cover-image .has-background-dim:not([class*=-background-color]),.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{background-color:transparent}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{background-color:inherit;content:""}.wp-block-cover .wp-block-cover__background,.wp-block-cover .wp-block-cover__gradient-background,.wp-block-cover-image .wp-block-cover__background,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover.has-background-dim:not(.has-background-gradient):before{bottom:0;left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:420px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{content:"";display:block;font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover-image .wp-block-cover__inner-container{color:inherit;width:100%;z-index:1}.wp-block-cover h1:where(:not(.has-text-color)),.wp-block-cover h2:where(:not(.has-text-color)),.wp-block-cover h3:where(:not(.has-text-color)),.wp-block-cover h4:where(:not(.has-text-color)),.wp-block-cover h5:where(:not(.has-text-color)),.wp-block-cover h6:where(:not(.has-text-color)),.wp-block-cover p:where(:not(.has-text-color)),.wp-block-cover-image h1:where(:not(.has-text-color)),.wp-block-cover-image h2:where(:not(.has-text-color)),.wp-block-cover-image h3:where(:not(.has-text-color)),.wp-block-cover-image h4:where(:not(.has-text-color)),.wp-block-cover-image h5:where(:not(.has-text-color)),.wp-block-cover-image h6:where(:not(.has-text-color)),.wp-block-cover-image p:where(:not(.has-text-color)){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0}.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover .wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background,.wp-block-cover-image .wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background{border:none;bottom:0;box-shadow:none;height:100%;left:0;margin:0;max-height:none;max-width:none;object-fit:cover;outline:none;padding:0;position:absolute;right:0;top:0;width:100%}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:fixed;background-repeat:no-repeat;background-size:cover}@supports (-webkit-touch-callout:inherit){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated,.wp-block-cover__image-background.is-repeated,video.wp-block-cover__video-background.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover__image-background,.wp-block-cover__video-background{z-index:0}.wp-block-cover-image-text,.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-left:0;text-align:left}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-right:0;text-align:right}.wp-block-cover .wp-block-cover-text,.wp-block-cover-image .wp-block-cover-image-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;margin-bottom:0;max-width:840px;padding:.44em;text-align:center;z-index:1}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000} \ No newline at end of file +.wp-block-cover,.wp-block-cover-image{align-items:center;background-position:50%;box-sizing:border-box;display:flex;justify-content:center;min-height:430px;overflow-x:clip;padding:1em;position:relative}.wp-block-cover .has-background-dim:not([class*=-background-color]),.wp-block-cover-image .has-background-dim:not([class*=-background-color]),.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{background-color:transparent}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{background-color:inherit;content:""}.wp-block-cover .wp-block-cover__background,.wp-block-cover .wp-block-cover__gradient-background,.wp-block-cover-image .wp-block-cover__background,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover.has-background-dim:not(.has-background-gradient):before{bottom:0;left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:420px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{content:"";display:block;font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover-image .wp-block-cover__inner-container{color:inherit;width:100%;z-index:1}.wp-block-cover h1:where(:not(.has-text-color)),.wp-block-cover h2:where(:not(.has-text-color)),.wp-block-cover h3:where(:not(.has-text-color)),.wp-block-cover h4:where(:not(.has-text-color)),.wp-block-cover h5:where(:not(.has-text-color)),.wp-block-cover h6:where(:not(.has-text-color)),.wp-block-cover p:where(:not(.has-text-color)),.wp-block-cover-image h1:where(:not(.has-text-color)),.wp-block-cover-image h2:where(:not(.has-text-color)),.wp-block-cover-image h3:where(:not(.has-text-color)),.wp-block-cover-image h4:where(:not(.has-text-color)),.wp-block-cover-image h5:where(:not(.has-text-color)),.wp-block-cover-image h6:where(:not(.has-text-color)),.wp-block-cover-image p:where(:not(.has-text-color)){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0}.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover .wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background,.wp-block-cover-image .wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background{border:none;bottom:0;box-shadow:none;height:100%;left:0;margin:0;max-height:none;max-width:none;object-fit:cover;outline:none;padding:0;position:absolute;right:0;top:0;width:100%}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:fixed;background-repeat:no-repeat;background-size:cover}@supports (-webkit-touch-callout:inherit){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated,.wp-block-cover__image-background.is-repeated,video.wp-block-cover__video-background.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover__image-background,.wp-block-cover__video-background{z-index:0}.wp-block-cover-image-text,.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-left:0;text-align:left}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-right:0;text-align:right}.wp-block-cover .wp-block-cover-text,.wp-block-cover-image .wp-block-cover-image-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;margin-bottom:0;max-width:840px;padding:.44em;text-align:center;z-index:1}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000} \ No newline at end of file diff --git a/wp-includes/blocks/details/block.json b/wp-includes/blocks/details/block.json index d449d42e1e..a71d3af2a5 100644 --- a/wp-includes/blocks/details/block.json +++ b/wp-includes/blocks/details/block.json @@ -13,8 +13,8 @@ "default": false }, "summary": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": "summary" } }, diff --git a/wp-includes/blocks/embed/block.json b/wp-includes/blocks/embed/block.json index 9ca54db871..5aac8bbd6b 100644 --- a/wp-includes/blocks/embed/block.json +++ b/wp-includes/blocks/embed/block.json @@ -12,8 +12,8 @@ "__experimentalRole": "content" }, "caption": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": "figcaption", "__experimentalRole": "content" }, diff --git a/wp-includes/blocks/file/view.js b/wp-includes/blocks/file.js similarity index 53% rename from wp-includes/blocks/file/view.js rename to wp-includes/blocks/file.js index 9d66df529e..d2bb5d74d5 100644 --- a/wp-includes/blocks/file/view.js +++ b/wp-includes/blocks/file.js @@ -1,12 +1,32 @@ -"use strict"; -(self["__WordPressPrivateInteractivityAPI__"] = self["__WordPressPrivateInteractivityAPI__"] || []).push([[81],{ +import * as __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__ from "@wordpress/interactivity"; +/******/ // The require scope +/******/ var __webpack_require__ = {}; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; -/***/ 149: -/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) { - - -// EXTERNAL MODULE: ./node_modules/@wordpress/interactivity/src/index.js + 15 modules -var src = __webpack_require__(754); +;// CONCATENATED MODULE: external "@wordpress/interactivity" +var x = y => { var x = {}; __webpack_require__.d(x, y); return x; } +var y = x => () => x +var interactivity_namespaceObject = x({ ["store"]: () => __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.store }); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/utils/index.js /** * Uses a combination of user agent matching and feature detection to determine whether @@ -62,21 +82,10 @@ const createActiveXObject = type => { * Internal dependencies */ -(0,src/* store */.h)({ - selectors: { - core: { - file: { - hasPdfPreview: browserSupportsPdfs - } +(0,interactivity_namespaceObject.store)('core/file', { + state: { + get hasPdfPreview() { + return browserSupportsPdfs(); } } }); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ var __webpack_exports__ = (__webpack_exec__(149)); -/******/ } -]); \ No newline at end of file diff --git a/wp-includes/blocks/file.min.js b/wp-includes/blocks/file.min.js new file mode 100644 index 0000000000..9c61b58410 --- /dev/null +++ b/wp-includes/blocks/file.min.js @@ -0,0 +1 @@ +import*as t from"@wordpress/interactivity";var e={d:function(t,o){for(var r in o)e.o(o,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:o[r]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},o=(t=>{var o={};return e.d(o,t),o})({store:()=>t.store});const r=t=>{let e;try{e=new window.ActiveXObject(t)}catch(t){e=void 0}return e};(0,o.store)("core/file",{state:{get hasPdfPreview(){return!(window.navigator.userAgent.indexOf("Mobi")>-1||window.navigator.userAgent.indexOf("Android")>-1||window.navigator.userAgent.indexOf("Macintosh")>-1&&window.navigator.maxTouchPoints&&window.navigator.maxTouchPoints>2||(window.ActiveXObject||"ActiveXObject"in window)&&!r("AcroPDF.PDF")&&!r("PDF.PdfCtrl"))}}}); \ No newline at end of file diff --git a/wp-includes/blocks/file.php b/wp-includes/blocks/file.php index 042ea89970..06eb10cf1d 100644 --- a/wp-includes/blocks/file.php +++ b/wp-includes/blocks/file.php @@ -14,25 +14,8 @@ * * @return string Returns the block content. */ -function render_block_core_file( $attributes, $content, $block ) { - $should_load_view_script = ! empty( $attributes['displayPreview'] ); - $view_js_file = 'wp-block-file-view'; - // If the script already exists, there is no point in removing it from viewScript. - if ( ! wp_script_is( $view_js_file ) ) { - $script_handles = $block->block_type->view_script_handles; - - // If the script is not needed, and it is still in the `view_script_handles`, remove it. - if ( ! $should_load_view_script && in_array( $view_js_file, $script_handles, true ) ) { - $block->block_type->view_script_handles = array_diff( $script_handles, array( $view_js_file ) ); - } - // If the script is needed, but it was previously removed, add it again. - if ( $should_load_view_script && ! in_array( $view_js_file, $script_handles, true ) ) { - $block->block_type->view_script_handles = array_merge( $script_handles, array( $view_js_file ) ); - } - } - +function render_block_core_file( $attributes, $content ) { // Update object's aria-label attribute if present in block HTML. - // Match an aria-label attribute from an object tag. $pattern = '@aria-label="(?[^"]+)?")@i'; $content = preg_replace_callback( @@ -53,13 +36,15 @@ function render_block_core_file( $attributes, $content, $block ) { $content ); - // If it uses the Interactivity API, add the directives. - if ( $should_load_view_script ) { + // If it's interactive, enqueue the script module and add the directives. + if ( ! empty( $attributes['displayPreview'] ) ) { + wp_enqueue_script_module( '@wordpress/block-library/file' ); + $processor = new WP_HTML_Tag_Processor( $content ); $processor->next_tag(); - $processor->set_attribute( 'data-wp-interactive', '' ); + $processor->set_attribute( 'data-wp-interactive', '{"namespace":"core/file"}' ); $processor->next_tag( 'object' ); - $processor->set_attribute( 'data-wp-bind--hidden', '!selectors.core.file.hasPdfPreview' ); + $processor->set_attribute( 'data-wp-bind--hidden', '!state.hasPdfPreview' ); $processor->set_attribute( 'hidden', true ); return $processor->get_updated_html(); } @@ -67,25 +52,6 @@ function render_block_core_file( $attributes, $content, $block ) { return $content; } -/** - * Ensure that the view script has the `wp-interactivity` dependency. - * - * @since 6.4.0 - * - * @global WP_Scripts $wp_scripts - */ -function block_core_file_ensure_interactivity_dependency() { - global $wp_scripts; - if ( - isset( $wp_scripts->registered['wp-block-file-view'] ) && - ! in_array( 'wp-interactivity', $wp_scripts->registered['wp-block-file-view']->deps, true ) - ) { - $wp_scripts->registered['wp-block-file-view']->deps[] = 'wp-interactivity'; - } -} - -add_action( 'wp_print_scripts', 'block_core_file_ensure_interactivity_dependency' ); - /** * Registers the `core/file` block on server. */ @@ -96,5 +62,12 @@ function register_block_core_file() { 'render_callback' => 'render_block_core_file', ) ); + + wp_register_script_module( + '@wordpress/block-library/file', + defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ? gutenberg_url( '/build/interactivity/file.min.js' ) : includes_url( 'blocks/file/view.min.js' ), + array( '@wordpress/interactivity' ), + defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' ) + ); } add_action( 'init', 'register_block_core_file' ); diff --git a/wp-includes/blocks/file/block.json b/wp-includes/blocks/file/block.json index 0cc20b3f50..fd5da67d28 100644 --- a/wp-includes/blocks/file/block.json +++ b/wp-includes/blocks/file/block.json @@ -21,8 +21,8 @@ "attribute": "id" }, "fileName": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": "a:not([download])" }, "textLinkHref": { @@ -42,8 +42,8 @@ "default": true }, "downloadButtonText": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": "a[download]" }, "displayPreview": { @@ -72,7 +72,6 @@ }, "interactivity": true }, - "viewScript": "file:./view.min.js", "editorStyle": "wp-block-file-editor", "style": "wp-block-file" } diff --git a/wp-includes/blocks/file/view.asset.php b/wp-includes/blocks/file/view.asset.php index a9c9136057..ce536d2611 100644 --- a/wp-includes/blocks/file/view.asset.php +++ b/wp-includes/blocks/file/view.asset.php @@ -1 +1 @@ - array(), 'version' => '3fd0154de23a0ecc28af'); + array(), 'version' => '498971a8a9512421f3b5'); diff --git a/wp-includes/blocks/file/view.min.asset.php b/wp-includes/blocks/file/view.min.asset.php index 990e381b31..76f2ca1fbc 100644 --- a/wp-includes/blocks/file/view.min.asset.php +++ b/wp-includes/blocks/file/view.min.asset.php @@ -1 +1 @@ - array(), 'version' => '8a0237493a27c0d781aa'); + array(), 'version' => '9c04187f1796859989c3'); diff --git a/wp-includes/blocks/file/view.min.js b/wp-includes/blocks/file/view.min.js deleted file mode 100644 index 8015cb723d..0000000000 --- a/wp-includes/blocks/file/view.min.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.__WordPressPrivateInteractivityAPI__=self.__WordPressPrivateInteractivityAPI__||[]).push([[81],{149:function(i,t,e){var n=e(754);const o=i=>{let t;try{t=new window.ActiveXObject(i)}catch(i){t=void 0}return t};(0,n.h)({selectors:{core:{file:{hasPdfPreview:()=>!(window.navigator.userAgent.indexOf("Mobi")>-1)&&(!(window.navigator.userAgent.indexOf("Android")>-1)&&(!(window.navigator.userAgent.indexOf("Macintosh")>-1&&window.navigator.maxTouchPoints&&window.navigator.maxTouchPoints>2)&&!((window.ActiveXObject||"ActiveXObject"in window)&&!o("AcroPDF.PDF")&&!o("PDF.PdfCtrl"))))}}}})}},function(i){var t;t=149,i(i.s=t)}]); \ No newline at end of file diff --git a/wp-includes/blocks/footnotes.php b/wp-includes/blocks/footnotes.php index bc6291dd21..0cd2ad73ef 100644 --- a/wp-includes/blocks/footnotes.php +++ b/wp-includes/blocks/footnotes.php @@ -68,17 +68,26 @@ function render_block_core_footnotes( $attributes, $content, $block ) { * @since 6.3.0 */ function register_block_core_footnotes() { - foreach ( array( 'post', 'page' ) as $post_type ) { - register_post_meta( - $post_type, - 'footnotes', - array( - 'show_in_rest' => true, - 'single' => true, - 'type' => 'string', - 'revisions_enabled' => true, - ) - ); + $post_types = get_post_types( + array( + 'show_in_rest' => true, + 'public' => true, + ) + ); + foreach ( $post_types as $post_type ) { + // Only register the meta field if the post type supports the editor, custom fields, and revisions. + if ( post_type_supports( $post_type, 'editor' ) && post_type_supports( $post_type, 'custom-fields' ) && post_type_supports( $post_type, 'revisions' ) ) { + register_post_meta( + $post_type, + 'footnotes', + array( + 'show_in_rest' => true, + 'single' => true, + 'type' => 'string', + 'revisions_enabled' => true, + ) + ); + } } register_block_type_from_metadata( __DIR__ . '/footnotes', diff --git a/wp-includes/blocks/footnotes/block.json b/wp-includes/blocks/footnotes/block.json index 28b094f24f..3192df7796 100644 --- a/wp-includes/blocks/footnotes/block.json +++ b/wp-includes/blocks/footnotes/block.json @@ -4,7 +4,7 @@ "name": "core/footnotes", "title": "Footnotes", "category": "text", - "description": "", + "description": "Display footnotes added to the page.", "keywords": [ "references" ], "textdomain": "default", "usesContext": [ "postId", "postType" ], @@ -33,6 +33,7 @@ "html": false, "multiple": false, "reusable": false, + "inserter": false, "spacing": { "margin": true, "padding": true, diff --git a/wp-includes/blocks/gallery.php b/wp-includes/blocks/gallery.php index edde9b4da1..342264de6f 100644 --- a/wp-includes/blocks/gallery.php +++ b/wp-includes/blocks/gallery.php @@ -32,6 +32,21 @@ function block_core_gallery_data_id_backcompatibility( $parsed_block ) { add_filter( 'render_block_data', 'block_core_gallery_data_id_backcompatibility' ); +/** + * Filter to randomize the order of image blocks. + * + * @param array $parsed_block The block being rendered. + * @return array The block object with randomized order of image blocks. + */ +function block_core_gallery_random_order( $parsed_block ) { + if ( 'core/gallery' === $parsed_block['blockName'] && ! empty( $parsed_block['attrs']['randomOrder'] ) ) { + shuffle( $parsed_block['innerBlocks'] ); + } + return $parsed_block; +} + +add_filter( 'render_block_data', 'block_core_gallery_random_order' ); + /** * Adds a style tag for the --wp--style--unstable-gallery-gap var. * diff --git a/wp-includes/blocks/gallery/block.json b/wp-includes/blocks/gallery/block.json index 0867989af4..a5425c5538 100644 --- a/wp-includes/blocks/gallery/block.json +++ b/wp-includes/blocks/gallery/block.json @@ -46,8 +46,8 @@ "attribute": "data-id" }, "caption": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": ".blocks-gallery-item__caption" } } @@ -72,14 +72,18 @@ "maximum": 8 }, "caption": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": ".blocks-gallery-caption" }, "imageCrop": { "type": "boolean", "default": true }, + "randomOrder": { + "type": "boolean", + "default": false + }, "fixedHeight": { "type": "boolean", "default": true diff --git a/wp-includes/blocks/gallery/style-rtl.css b/wp-includes/blocks/gallery/style-rtl.css index bbfa0b0ed6..0cabbe4e48 100644 --- a/wp-includes/blocks/gallery/style-rtl.css +++ b/wp-includes/blocks/gallery/style-rtl.css @@ -145,8 +145,36 @@ figure.wp-block-gallery.has-nested-images{ padding:0 8px 8px; position:absolute; right:0; + scrollbar-color:transparent transparent; + scrollbar-gutter:stable both-edges; + scrollbar-width:thin; text-align:center; width:100%; + will-change:transform; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar{ + height:12px; + width:12px; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track{ + background-color:transparent; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb{ + background-clip:padding-box; + background-color:transparent; + border:3px solid transparent; + border-radius:8px; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb{ + background-color:hsla(0,0%,100%,.8); +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover{ + scrollbar-color:hsla(0,0%,100%,.8) transparent; +} +@media (hover:none){ + .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{ + scrollbar-color:hsla(0,0%,100%,.8) transparent; + } } .wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{ display:inline; diff --git a/wp-includes/blocks/gallery/style-rtl.min.css b/wp-includes/blocks/gallery/style-rtl.min.css index ec4c42e810..03542a2b74 100644 --- a/wp-includes/blocks/gallery/style-rtl.min.css +++ b/wp-includes/blocks/gallery/style-rtl.min.css @@ -1 +1 @@ -.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 0 1em 1em;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n){margin-left:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure{align-items:flex-end;display:flex;height:100%;justify-content:flex-start;margin:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img{display:block;height:auto;max-width:100%;width:auto}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption{flex-grow:1}.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img{flex:1;height:100%;object-fit:cover;width:100%}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item{margin-left:0;width:100%}@media (min-width:600px){.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item{margin-left:1em;width:calc(33.33333% - .66667em)}.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item{margin-left:1em;width:calc(25% - .75em)}.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item{margin-left:1em;width:calc(20% - .8em)}.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item{margin-left:1em;width:calc(16.66667% - .83333em)}.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item{margin-left:1em;width:calc(14.28571% - .85714em)}.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item{margin-left:1em;width:calc(12.5% - .875em)}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n){margin-left:0}}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child{margin-left:0}.blocks-gallery-grid:not(.has-nested-images).alignleft,.blocks-gallery-grid:not(.has-nested-images).alignright,.wp-block-gallery:not(.has-nested-images).alignleft,.wp-block-gallery:not(.has-nested-images).alignright{max-width:420px;width:100%}.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}figure.wp-block-gallery.has-nested-images{align-items:normal}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image{box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{flex-direction:column;flex-grow:1;margin:0}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%!important;width:auto}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:13px;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;right:0;text-align:center;width:100%}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a{color:inherit}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div{flex:1 1 auto}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption{background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-basis:100%;flex-grow:1;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-bottom:auto;margin-top:0}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){align-self:inherit}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone){display:flex}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{flex:1 0 0%;height:100%;object-fit:cover;width:100%}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){width:calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*.8)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){width:calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*.83333)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){width:calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*.85714)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){width:calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*.875)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image){width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child{width:100%}}.wp-block-gallery.has-nested-images.alignleft,.wp-block-gallery.has-nested-images.alignright{max-width:420px;width:100%}.wp-block-gallery.has-nested-images.aligncenter{justify-content:center} \ No newline at end of file +.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 0 1em 1em;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n){margin-left:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure{align-items:flex-end;display:flex;height:100%;justify-content:flex-start;margin:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img{display:block;height:auto;max-width:100%;width:auto}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption{flex-grow:1}.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img{flex:1;height:100%;object-fit:cover;width:100%}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item{margin-left:0;width:100%}@media (min-width:600px){.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item{margin-left:1em;width:calc(33.33333% - .66667em)}.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item{margin-left:1em;width:calc(25% - .75em)}.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item{margin-left:1em;width:calc(20% - .8em)}.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item{margin-left:1em;width:calc(16.66667% - .83333em)}.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item{margin-left:1em;width:calc(14.28571% - .85714em)}.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item{margin-left:1em;width:calc(12.5% - .875em)}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n){margin-left:0}}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child{margin-left:0}.blocks-gallery-grid:not(.has-nested-images).alignleft,.blocks-gallery-grid:not(.has-nested-images).alignright,.wp-block-gallery:not(.has-nested-images).alignleft,.wp-block-gallery:not(.has-nested-images).alignright{max-width:420px;width:100%}.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}figure.wp-block-gallery.has-nested-images{align-items:normal}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image{box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{flex-direction:column;flex-grow:1;margin:0}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%!important;width:auto}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:13px;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;right:0;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-width:thin;text-align:center;width:100%;will-change:transform}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar{height:12px;width:12px}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track{background-color:transparent}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb{background-color:hsla(0,0%,100%,.8)}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover{scrollbar-color:hsla(0,0%,100%,.8) transparent}@media (hover:none){.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{scrollbar-color:hsla(0,0%,100%,.8) transparent}}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a{color:inherit}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div{flex:1 1 auto}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption{background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-basis:100%;flex-grow:1;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-bottom:auto;margin-top:0}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){align-self:inherit}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone){display:flex}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{flex:1 0 0%;height:100%;object-fit:cover;width:100%}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){width:calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*.8)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){width:calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*.83333)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){width:calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*.85714)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){width:calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*.875)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image){width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child{width:100%}}.wp-block-gallery.has-nested-images.alignleft,.wp-block-gallery.has-nested-images.alignright{max-width:420px;width:100%}.wp-block-gallery.has-nested-images.aligncenter{justify-content:center} \ No newline at end of file diff --git a/wp-includes/blocks/gallery/style.css b/wp-includes/blocks/gallery/style.css index fb2a0736c8..159041499b 100644 --- a/wp-includes/blocks/gallery/style.css +++ b/wp-includes/blocks/gallery/style.css @@ -145,8 +145,36 @@ figure.wp-block-gallery.has-nested-images{ overflow:auto; padding:0 8px 8px; position:absolute; + scrollbar-color:transparent transparent; + scrollbar-gutter:stable both-edges; + scrollbar-width:thin; text-align:center; width:100%; + will-change:transform; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar{ + height:12px; + width:12px; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track{ + background-color:transparent; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb{ + background-clip:padding-box; + background-color:transparent; + border:3px solid transparent; + border-radius:8px; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb{ + background-color:hsla(0,0%,100%,.8); +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover{ + scrollbar-color:hsla(0,0%,100%,.8) transparent; +} +@media (hover:none){ + .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{ + scrollbar-color:hsla(0,0%,100%,.8) transparent; + } } .wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{ display:inline; diff --git a/wp-includes/blocks/gallery/style.min.css b/wp-includes/blocks/gallery/style.min.css index a5ab123e65..c84f056b6c 100644 --- a/wp-includes/blocks/gallery/style.min.css +++ b/wp-includes/blocks/gallery/style.min.css @@ -1 +1 @@ -.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 1em 1em 0;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure{align-items:flex-end;display:flex;height:100%;justify-content:flex-start;margin:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img{display:block;height:auto;max-width:100%;width:auto}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption{flex-grow:1}.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img{flex:1;height:100%;object-fit:cover;width:100%}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item{margin-right:0;width:100%}@media (min-width:600px){.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item{margin-right:1em;width:calc(33.33333% - .66667em)}.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item{margin-right:1em;width:calc(25% - .75em)}.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item{margin-right:1em;width:calc(20% - .8em)}.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item{margin-right:1em;width:calc(16.66667% - .83333em)}.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item{margin-right:1em;width:calc(14.28571% - .85714em)}.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item{margin-right:1em;width:calc(12.5% - .875em)}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n){margin-right:0}}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child{margin-right:0}.blocks-gallery-grid:not(.has-nested-images).alignleft,.blocks-gallery-grid:not(.has-nested-images).alignright,.wp-block-gallery:not(.has-nested-images).alignleft,.wp-block-gallery:not(.has-nested-images).alignright{max-width:420px;width:100%}.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}figure.wp-block-gallery.has-nested-images{align-items:normal}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image{box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{flex-direction:column;flex-grow:1;margin:0}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%!important;width:auto}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:13px;left:0;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;text-align:center;width:100%}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a{color:inherit}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div{flex:1 1 auto}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption{background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-basis:100%;flex-grow:1;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-bottom:auto;margin-top:0}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){align-self:inherit}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone){display:flex}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{flex:1 0 0%;height:100%;object-fit:cover;width:100%}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){width:calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*.8)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){width:calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*.83333)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){width:calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*.85714)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){width:calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*.875)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image){width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child{width:100%}}.wp-block-gallery.has-nested-images.alignleft,.wp-block-gallery.has-nested-images.alignright{max-width:420px;width:100%}.wp-block-gallery.has-nested-images.aligncenter{justify-content:center} \ No newline at end of file +.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 1em 1em 0;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure{align-items:flex-end;display:flex;height:100%;justify-content:flex-start;margin:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img{display:block;height:auto;max-width:100%;width:auto}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption{flex-grow:1}.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img{flex:1;height:100%;object-fit:cover;width:100%}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item{margin-right:0;width:100%}@media (min-width:600px){.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item{margin-right:1em;width:calc(33.33333% - .66667em)}.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item{margin-right:1em;width:calc(25% - .75em)}.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item{margin-right:1em;width:calc(20% - .8em)}.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item{margin-right:1em;width:calc(16.66667% - .83333em)}.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item{margin-right:1em;width:calc(14.28571% - .85714em)}.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item{margin-right:1em;width:calc(12.5% - .875em)}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n){margin-right:0}}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child{margin-right:0}.blocks-gallery-grid:not(.has-nested-images).alignleft,.blocks-gallery-grid:not(.has-nested-images).alignright,.wp-block-gallery:not(.has-nested-images).alignleft,.wp-block-gallery:not(.has-nested-images).alignright{max-width:420px;width:100%}.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}figure.wp-block-gallery.has-nested-images{align-items:normal}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image{box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{flex-direction:column;flex-grow:1;margin:0}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%!important;width:auto}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:13px;left:0;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-width:thin;text-align:center;width:100%;will-change:transform}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar{height:12px;width:12px}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track{background-color:transparent}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb{background-color:hsla(0,0%,100%,.8)}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover{scrollbar-color:hsla(0,0%,100%,.8) transparent}@media (hover:none){.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{scrollbar-color:hsla(0,0%,100%,.8) transparent}}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a{color:inherit}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div{flex:1 1 auto}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption{background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-basis:100%;flex-grow:1;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-bottom:auto;margin-top:0}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){align-self:inherit}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone){display:flex}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{flex:1 0 0%;height:100%;object-fit:cover;width:100%}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){width:calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*.8)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){width:calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*.83333)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){width:calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*.85714)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){width:calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*.875)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image){width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child{width:100%}}.wp-block-gallery.has-nested-images.alignleft,.wp-block-gallery.has-nested-images.alignright{max-width:420px;width:100%}.wp-block-gallery.has-nested-images.aligncenter{justify-content:center} \ No newline at end of file diff --git a/wp-includes/blocks/group/block.json b/wp-includes/blocks/group/block.json index 4b89d86539..674b0645f5 100644 --- a/wp-includes/blocks/group/block.json +++ b/wp-includes/blocks/group/block.json @@ -24,13 +24,16 @@ "__experimentalOnEnter": true, "__experimentalOnMerge": true, "__experimentalSettings": true, - "__experimentalMetadata": true, "align": [ "wide", "full" ], "anchor": true, "ariaLabel": true, "html": false, "background": { - "backgroundImage": true + "backgroundImage": true, + "backgroundSize": true, + "__experimentalDefaultControls": { + "backgroundImage": true + } }, "color": { "gradients": true, @@ -52,6 +55,7 @@ } }, "dimensions": { + "aspectRatio": true, "minHeight": true }, "__experimentalBorder": { diff --git a/wp-includes/blocks/heading/block.json b/wp-includes/blocks/heading/block.json index 7c018f8472..a1eb3fce32 100644 --- a/wp-includes/blocks/heading/block.json +++ b/wp-includes/blocks/heading/block.json @@ -7,15 +7,15 @@ "description": "Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.", "keywords": [ "title", "subtitle" ], "textdomain": "default", + "usesContext": [ "pattern/overrides" ], "attributes": { "textAlign": { "type": "string" }, "content": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": "h1,h2,h3,h4,h5,h6", - "default": "", "__experimentalRole": "content" }, "level": { @@ -57,9 +57,7 @@ "__experimentalTextDecoration": true, "__experimentalWritingMode": true, "__experimentalDefaultControls": { - "fontSize": true, - "fontAppearance": true, - "textTransform": true + "fontSize": true } }, "__unstablePasteTextInline": true, diff --git a/wp-includes/blocks/image.js b/wp-includes/blocks/image.js new file mode 100644 index 0000000000..0314d167e8 --- /dev/null +++ b/wp-includes/blocks/image.js @@ -0,0 +1,521 @@ +import * as __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__ from "@wordpress/interactivity"; +/******/ // The require scope +/******/ var __webpack_require__ = {}; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; + +;// CONCATENATED MODULE: external "@wordpress/interactivity" +var x = y => { var x = {}; __webpack_require__.d(x, y); return x; } +var y = x => () => x +var interactivity_namespaceObject = x({ ["getContext"]: () => __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.getContext, ["getElement"]: () => __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.getElement, ["store"]: () => __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.store }); +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/view.js +/** + * WordPress dependencies + */ + +const focusableSelectors = ['a[href]', 'area[href]', 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])', 'select:not([disabled]):not([aria-hidden])', 'textarea:not([disabled]):not([aria-hidden])', 'button:not([disabled]):not([aria-hidden])', 'iframe', 'object', 'embed', '[contenteditable]', '[tabindex]:not([tabindex^="-"])']; + +/** + * Stores a context-bound scroll handler. + * + * This callback could be defined inline inside of the store + * object but it's created externally to avoid confusion about + * how its logic is called. This logic is not referenced directly + * by the directives in the markup because the scroll event we + * need to listen to is triggered on the window; so by defining it + * outside of the store, we signal that the behavior here is different. + * If we find a compelling reason to move it to the store, feel free. + * + * @type {Function} + */ +let scrollCallback; + +/** + * Tracks whether user is touching screen; used to + * differentiate behavior for touch and mouse input. + * + * @type {boolean} + */ +let isTouching = false; + +/** + * Tracks the last time the screen was touched; used to + * differentiate behavior for touch and mouse input. + * + * @type {number} + */ +let lastTouchTime = 0; + +/** + * Lightbox page-scroll handler: prevents scrolling. + * + * This handler is added to prevent scrolling behaviors that + * trigger content shift while the lightbox is open. + * + * It would be better to accomplish this through CSS alone, but + * using overflow: hidden is currently the only way to do so, and + * that causes the layout to shift and prevents the zoom animation + * from working in some cases because we're unable to account for + * the layout shift when doing the animation calculations. Instead, + * here we use JavaScript to prevent and reset the scrolling + * behavior. In the future, we may be able to use CSS or overflow: hidden + * instead to not rely on JavaScript, but this seems to be the best approach + * for now that provides the best visual experience. + * + * @param {Object} ctx Context object with the `core/image` namespace. + */ +function handleScroll(ctx) { + // We can't override the scroll behavior on mobile devices + // because doing so breaks the pinch to zoom functionality, and we + // want to allow users to zoom in further on the high-res image. + if (!isTouching && Date.now() - lastTouchTime > 450) { + // We are unable to use event.preventDefault() to prevent scrolling + // because the scroll event can't be canceled, so we reset the position instead. + window.scrollTo(ctx.scrollLeftReset, ctx.scrollTopReset); + } +} +const { + state, + actions, + callbacks +} = (0,interactivity_namespaceObject.store)('core/image', { + state: { + windowWidth: window.innerWidth, + windowHeight: window.innerHeight, + get roleAttribute() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + return ctx.lightboxEnabled ? 'dialog' : null; + }, + get ariaModal() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + return ctx.lightboxEnabled ? 'true' : null; + }, + get dialogLabel() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + return ctx.lightboxEnabled ? ctx.dialogLabel : null; + }, + get lightboxObjectFit() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + if (ctx.initialized) { + return 'cover'; + } + }, + get enlargedImgSrc() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + return ctx.initialized ? ctx.imageUploadedSrc : 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='; + } + }, + actions: { + showLightbox(event) { + const ctx = (0,interactivity_namespaceObject.getContext)(); + // We can't initialize the lightbox until the reference + // image is loaded, otherwise the UX is broken. + if (!ctx.imageLoaded) { + return; + } + ctx.initialized = true; + ctx.lastFocusedElement = window.document.activeElement; + ctx.scrollDelta = 0; + ctx.pointerType = event.pointerType; + ctx.lightboxEnabled = true; + setStyles(ctx, ctx.imageRef); + ctx.scrollTopReset = window.pageYOffset || document.documentElement.scrollTop; + + // In most cases, this value will be 0, but this is included + // in case a user has created a page with horizontal scrolling. + ctx.scrollLeftReset = window.pageXOffset || document.documentElement.scrollLeft; + + // We define and bind the scroll callback here so + // that we can pass the context and as an argument. + // We may be able to change this in the future if we + // define the scroll callback in the store instead, but + // this approach seems to tbe clearest for now. + scrollCallback = handleScroll.bind(null, ctx); + + // We need to add a scroll event listener to the window + // here because we are unable to otherwise access it via + // the Interactivity API directives. If we add a native way + // to access the window, we can remove this. + window.addEventListener('scroll', scrollCallback, false); + }, + hideLightbox() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + ctx.hideAnimationEnabled = true; + if (ctx.lightboxEnabled) { + // We want to wait until the close animation is completed + // before allowing a user to scroll again. The duration of this + // animation is defined in the styles.scss and depends on if the + // animation is 'zoom' or 'fade', but in any case we should wait + // a few milliseconds longer than the duration, otherwise a user + // may scroll too soon and cause the animation to look sloppy. + setTimeout(function () { + window.removeEventListener('scroll', scrollCallback); + // If we don't delay before changing the focus, + // the focus ring will appear on Firefox before + // the image has finished animating, which looks broken. + ctx.lightboxTriggerRef.focus({ + preventScroll: true + }); + }, 450); + ctx.lightboxEnabled = false; + } + }, + handleKeydown(event) { + const ctx = (0,interactivity_namespaceObject.getContext)(); + if (ctx.lightboxEnabled) { + if (event.key === 'Tab' || event.keyCode === 9) { + // If shift + tab it change the direction + if (event.shiftKey && window.document.activeElement === ctx.firstFocusableElement) { + event.preventDefault(); + ctx.lastFocusableElement.focus(); + } else if (!event.shiftKey && window.document.activeElement === ctx.lastFocusableElement) { + event.preventDefault(); + ctx.firstFocusableElement.focus(); + } + } + if (event.key === 'Escape' || event.keyCode === 27) { + actions.hideLightbox(event); + } + } + }, + // This is fired just by lazily loaded + // images on the page, not all images. + handleLoad() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + const { + ref + } = (0,interactivity_namespaceObject.getElement)(); + ctx.imageLoaded = true; + ctx.imageCurrentSrc = ref.currentSrc; + callbacks.setButtonStyles(); + }, + handleTouchStart() { + isTouching = true; + }, + handleTouchMove(event) { + const ctx = (0,interactivity_namespaceObject.getContext)(); + // On mobile devices, we want to prevent triggering the + // scroll event because otherwise the page jumps around as + // we reset the scroll position. This also means that closing + // the lightbox requires that a user perform a simple tap. This + // may be changed in the future if we find a better alternative + // to override or reset the scroll position during swipe actions. + if (ctx.lightboxEnabled) { + event.preventDefault(); + } + }, + handleTouchEnd() { + // We need to wait a few milliseconds before resetting + // to ensure that pinch to zoom works consistently + // on mobile devices when the lightbox is open. + lastTouchTime = Date.now(); + isTouching = false; + } + }, + callbacks: { + initOriginImage() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + const { + ref + } = (0,interactivity_namespaceObject.getElement)(); + ctx.imageRef = ref; + if (ref.complete) { + ctx.imageLoaded = true; + ctx.imageCurrentSrc = ref.currentSrc; + } + }, + initTriggerButton() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + const { + ref + } = (0,interactivity_namespaceObject.getElement)(); + ctx.lightboxTriggerRef = ref; + }, + initLightbox() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + const { + ref + } = (0,interactivity_namespaceObject.getElement)(); + if (ctx.lightboxEnabled) { + const focusableElements = ref.querySelectorAll(focusableSelectors); + ctx.firstFocusableElement = focusableElements[0]; + ctx.lastFocusableElement = focusableElements[focusableElements.length - 1]; + + // Move focus to the dialog when opening it. + ref.focus(); + } + }, + setButtonStyles() { + const { + ref + } = (0,interactivity_namespaceObject.getElement)(); + const { + naturalWidth, + naturalHeight, + offsetWidth, + offsetHeight + } = ref; + + // If the image isn't loaded yet, we can't + // calculate where the button should be. + if (naturalWidth === 0 || naturalHeight === 0) { + return; + } + const figure = ref.parentElement; + const figureWidth = ref.parentElement.clientWidth; + + // We need special handling for the height because + // a caption will cause the figure to be taller than + // the image, which means we need to account for that + // when calculating the placement of the button in the + // top right corner of the image. + let figureHeight = ref.parentElement.clientHeight; + const caption = figure.querySelector('figcaption'); + if (caption) { + const captionComputedStyle = window.getComputedStyle(caption); + if (!['absolute', 'fixed'].includes(captionComputedStyle.position)) { + figureHeight = figureHeight - caption.offsetHeight - parseFloat(captionComputedStyle.marginTop) - parseFloat(captionComputedStyle.marginBottom); + } + } + const buttonOffsetTop = figureHeight - offsetHeight; + const buttonOffsetRight = figureWidth - offsetWidth; + const ctx = (0,interactivity_namespaceObject.getContext)(); + + // In the case of an image with object-fit: contain, the + // size of the element can be larger than the image itself, + // so we need to calculate where to place the button. + if (ctx.scaleAttr === 'contain') { + // Natural ratio of the image. + const naturalRatio = naturalWidth / naturalHeight; + // Offset ratio of the image. + const offsetRatio = offsetWidth / offsetHeight; + if (naturalRatio >= offsetRatio) { + // If it reaches the width first, keep + // the width and compute the height. + const referenceHeight = offsetWidth / naturalRatio; + ctx.imageButtonTop = (offsetHeight - referenceHeight) / 2 + buttonOffsetTop + 16; + ctx.imageButtonRight = buttonOffsetRight + 16; + } else { + // If it reaches the height first, keep + // the height and compute the width. + const referenceWidth = offsetHeight * naturalRatio; + ctx.imageButtonTop = buttonOffsetTop + 16; + ctx.imageButtonRight = (offsetWidth - referenceWidth) / 2 + buttonOffsetRight + 16; + } + } else { + ctx.imageButtonTop = buttonOffsetTop + 16; + ctx.imageButtonRight = buttonOffsetRight + 16; + } + }, + setStylesOnResize() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + const { + ref + } = (0,interactivity_namespaceObject.getElement)(); + if (ctx.lightboxEnabled && (state.windowWidth || state.windowHeight)) { + setStyles(ctx, ref); + } + } + } +}); +window.addEventListener('resize', debounce(() => { + state.windowWidth = window.innerWidth; + state.windowHeight = window.innerHeight; +})); + +/** + * Computes styles for the lightbox and adds them to the document. + * + * @function + * @param {Object} ctx - Context for the `core/image` namespace. + * @param {Object} ref - The element reference. + */ +function setStyles(ctx, ref) { + // The reference img element lies adjacent + // to the event target button in the DOM. + let { + naturalWidth, + naturalHeight, + offsetWidth: originalWidth, + offsetHeight: originalHeight + } = ref; + let { + x: screenPosX, + y: screenPosY + } = ref.getBoundingClientRect(); + + // Natural ratio of the image clicked to open the lightbox. + const naturalRatio = naturalWidth / naturalHeight; + // Original ratio of the image clicked to open the lightbox. + let originalRatio = originalWidth / originalHeight; + + // If it has object-fit: contain, recalculate the original sizes + // and the screen position without the blank spaces. + if (ctx.scaleAttr === 'contain') { + if (naturalRatio > originalRatio) { + const heightWithoutSpace = originalWidth / naturalRatio; + // Recalculate screen position without the top space. + screenPosY += (originalHeight - heightWithoutSpace) / 2; + originalHeight = heightWithoutSpace; + } else { + const widthWithoutSpace = originalHeight * naturalRatio; + // Recalculate screen position without the left space. + screenPosX += (originalWidth - widthWithoutSpace) / 2; + originalWidth = widthWithoutSpace; + } + } + originalRatio = originalWidth / originalHeight; + + // Typically, we use the image's full-sized dimensions. If those + // dimensions have not been set (i.e. an external image with only one size), + // the image's dimensions in the lightbox are the same + // as those of the image in the content. + let imgMaxWidth = parseFloat(ctx.targetWidth !== 'none' ? ctx.targetWidth : naturalWidth); + let imgMaxHeight = parseFloat(ctx.targetHeight !== 'none' ? ctx.targetHeight : naturalHeight); + + // Ratio of the biggest image stored in the database. + let imgRatio = imgMaxWidth / imgMaxHeight; + let containerMaxWidth = imgMaxWidth; + let containerMaxHeight = imgMaxHeight; + let containerWidth = imgMaxWidth; + let containerHeight = imgMaxHeight; + // Check if the target image has a different ratio than the original one (thumbnail). + // Recalculate the width and height. + if (naturalRatio.toFixed(2) !== imgRatio.toFixed(2)) { + if (naturalRatio > imgRatio) { + // If the width is reached before the height, we keep the maxWidth + // and recalculate the height. + // Unless the difference between the maxHeight and the reducedHeight + // is higher than the maxWidth, where we keep the reducedHeight and + // recalculate the width. + const reducedHeight = imgMaxWidth / naturalRatio; + if (imgMaxHeight - reducedHeight > imgMaxWidth) { + imgMaxHeight = reducedHeight; + imgMaxWidth = reducedHeight * naturalRatio; + } else { + imgMaxHeight = imgMaxWidth / naturalRatio; + } + } else { + // If the height is reached before the width, we keep the maxHeight + // and recalculate the width. + // Unless the difference between the maxWidth and the reducedWidth + // is higher than the maxHeight, where we keep the reducedWidth and + // recalculate the height. + const reducedWidth = imgMaxHeight * naturalRatio; + if (imgMaxWidth - reducedWidth > imgMaxHeight) { + imgMaxWidth = reducedWidth; + imgMaxHeight = reducedWidth / naturalRatio; + } else { + imgMaxWidth = imgMaxHeight * naturalRatio; + } + } + containerWidth = imgMaxWidth; + containerHeight = imgMaxHeight; + imgRatio = imgMaxWidth / imgMaxHeight; + + // Calculate the max size of the container. + if (originalRatio > imgRatio) { + containerMaxWidth = imgMaxWidth; + containerMaxHeight = containerMaxWidth / originalRatio; + } else { + containerMaxHeight = imgMaxHeight; + containerMaxWidth = containerMaxHeight * originalRatio; + } + } + + // If the image has been pixelated on purpose, keep that size. + if (originalWidth > containerWidth || originalHeight > containerHeight) { + containerWidth = originalWidth; + containerHeight = originalHeight; + } + + // Calculate the final lightbox image size and the + // scale factor. MaxWidth is either the window container + // (accounting for padding) or the image resolution. + let horizontalPadding = 0; + if (window.innerWidth > 480) { + horizontalPadding = 80; + } else if (window.innerWidth > 1920) { + horizontalPadding = 160; + } + const verticalPadding = 80; + const targetMaxWidth = Math.min(window.innerWidth - horizontalPadding, containerWidth); + const targetMaxHeight = Math.min(window.innerHeight - verticalPadding, containerHeight); + const targetContainerRatio = targetMaxWidth / targetMaxHeight; + if (originalRatio > targetContainerRatio) { + // If targetMaxWidth is reached before targetMaxHeight + containerWidth = targetMaxWidth; + containerHeight = containerWidth / originalRatio; + } else { + // If targetMaxHeight is reached before targetMaxWidth + containerHeight = targetMaxHeight; + containerWidth = containerHeight * originalRatio; + } + const containerScale = originalWidth / containerWidth; + const lightboxImgWidth = imgMaxWidth * (containerWidth / containerMaxWidth); + const lightboxImgHeight = imgMaxHeight * (containerHeight / containerMaxHeight); + + // Add the CSS variables needed. + let styleTag = document.getElementById('wp-lightbox-styles'); + if (!styleTag) { + styleTag = document.createElement('style'); + styleTag.id = 'wp-lightbox-styles'; + document.head.appendChild(styleTag); + } + + // As of this writing, using the calculations above will render the lightbox + // with a small, erroneous whitespace on the left side of the image in iOS Safari, + // perhaps due to an inconsistency in how browsers handle absolute positioning and CSS + // transformation. In any case, adding 1 pixel to the container width and height solves + // the problem, though this can be removed if the issue is fixed in the future. + styleTag.innerHTML = ` + :root { + --wp--lightbox-initial-top-position: ${screenPosY}px; + --wp--lightbox-initial-left-position: ${screenPosX}px; + --wp--lightbox-container-width: ${containerWidth + 1}px; + --wp--lightbox-container-height: ${containerHeight + 1}px; + --wp--lightbox-image-width: ${lightboxImgWidth}px; + --wp--lightbox-image-height: ${lightboxImgHeight}px; + --wp--lightbox-scale: ${containerScale}; + --wp--lightbox-scrollbar-width: ${window.innerWidth - document.documentElement.clientWidth}px; + } + `; +} + +/** + * Debounces a function call. + * + * @function + * @param {Function} func - A function to be called + * @param {number} wait - The time to wait before calling the function + */ +function debounce(func, wait = 50) { + let timeout; + return () => { + const later = () => { + timeout = null; + func(); + }; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + }; +} diff --git a/wp-includes/blocks/image.min.js b/wp-includes/blocks/image.min.js new file mode 100644 index 0000000000..dff371b20c --- /dev/null +++ b/wp-includes/blocks/image.min.js @@ -0,0 +1 @@ +import*as t from"@wordpress/interactivity";var e={d:function(t,n){for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},n=(t=>{var n={};return e.d(n,t),n})({getContext:()=>t.getContext,getElement:()=>t.getElement,store:()=>t.store});const i=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","[contenteditable]",'[tabindex]:not([tabindex^="-"])'];let o,l=!1,a=0;function r(t){!l&&Date.now()-a>450&&window.scrollTo(t.scrollLeftReset,t.scrollTopReset)}const{state:d,actions:s,callbacks:g}=(0,n.store)("core/image",{state:{windowWidth:window.innerWidth,windowHeight:window.innerHeight,get roleAttribute(){return(0,n.getContext)().lightboxEnabled?"dialog":null},get ariaModal(){return(0,n.getContext)().lightboxEnabled?"true":null},get dialogLabel(){const t=(0,n.getContext)();return t.lightboxEnabled?t.dialogLabel:null},get lightboxObjectFit(){if((0,n.getContext)().initialized)return"cover"},get enlargedImgSrc(){const t=(0,n.getContext)();return t.initialized?t.imageUploadedSrc:"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="}},actions:{showLightbox(t){const e=(0,n.getContext)();e.imageLoaded&&(e.initialized=!0,e.lastFocusedElement=window.document.activeElement,e.scrollDelta=0,e.pointerType=t.pointerType,e.lightboxEnabled=!0,c(e,e.imageRef),e.scrollTopReset=window.pageYOffset||document.documentElement.scrollTop,e.scrollLeftReset=window.pageXOffset||document.documentElement.scrollLeft,o=r.bind(null,e),window.addEventListener("scroll",o,!1))},hideLightbox(){const t=(0,n.getContext)();t.hideAnimationEnabled=!0,t.lightboxEnabled&&(setTimeout((function(){window.removeEventListener("scroll",o),t.lightboxTriggerRef.focus({preventScroll:!0})}),450),t.lightboxEnabled=!1)},handleKeydown(t){const e=(0,n.getContext)();e.lightboxEnabled&&("Tab"!==t.key&&9!==t.keyCode||(t.shiftKey&&window.document.activeElement===e.firstFocusableElement?(t.preventDefault(),e.lastFocusableElement.focus()):t.shiftKey||window.document.activeElement!==e.lastFocusableElement||(t.preventDefault(),e.firstFocusableElement.focus())),"Escape"!==t.key&&27!==t.keyCode||s.hideLightbox(t))},handleLoad(){const t=(0,n.getContext)(),{ref:e}=(0,n.getElement)();t.imageLoaded=!0,t.imageCurrentSrc=e.currentSrc,g.setButtonStyles()},handleTouchStart(){l=!0},handleTouchMove(t){(0,n.getContext)().lightboxEnabled&&t.preventDefault()},handleTouchEnd(){a=Date.now(),l=!1}},callbacks:{initOriginImage(){const t=(0,n.getContext)(),{ref:e}=(0,n.getElement)();t.imageRef=e,e.complete&&(t.imageLoaded=!0,t.imageCurrentSrc=e.currentSrc)},initTriggerButton(){const t=(0,n.getContext)(),{ref:e}=(0,n.getElement)();t.lightboxTriggerRef=e},initLightbox(){const t=(0,n.getContext)(),{ref:e}=(0,n.getElement)();if(t.lightboxEnabled){const n=e.querySelectorAll(i);t.firstFocusableElement=n[0],t.lastFocusableElement=n[n.length-1],e.focus()}},setButtonStyles(){const{ref:t}=(0,n.getElement)(),{naturalWidth:e,naturalHeight:i,offsetWidth:o,offsetHeight:l}=t;if(0===e||0===i)return;const a=t.parentElement,r=t.parentElement.clientWidth;let d=t.parentElement.clientHeight;const s=a.querySelector("figcaption");if(s){const t=window.getComputedStyle(s);["absolute","fixed"].includes(t.position)||(d=d-s.offsetHeight-parseFloat(t.marginTop)-parseFloat(t.marginBottom))}const g=d-l,c=r-o,h=(0,n.getContext)();if("contain"===h.scaleAttr){const t=e/i;if(t>=o/l){const e=o/t;h.imageButtonTop=(l-e)/2+g+16,h.imageButtonRight=c+16}else{const e=l*t;h.imageButtonTop=g+16,h.imageButtonRight=(o-e)/2+c+16}}else h.imageButtonTop=g+16,h.imageButtonRight=c+16},setStylesOnResize(){const t=(0,n.getContext)(),{ref:e}=(0,n.getElement)();t.lightboxEnabled&&(d.windowWidth||d.windowHeight)&&c(t,e)}}});function c(t,e){let{naturalWidth:n,naturalHeight:i,offsetWidth:o,offsetHeight:l}=e,{x:a,y:r}=e.getBoundingClientRect();const d=n/i;let s=o/l;if("contain"===t.scaleAttr)if(d>s){const t=o/d;r+=(l-t)/2,l=t}else{const t=l*d;a+=(o-t)/2,o=t}s=o/l;let g=parseFloat("none"!==t.targetWidth?t.targetWidth:n),c=parseFloat("none"!==t.targetHeight?t.targetHeight:i),h=g/c,u=g,m=c,w=g,b=c;if(d.toFixed(2)!==h.toFixed(2)){if(d>h){const t=g/d;c-t>g?(c=t,g=t*d):c=g/d}else{const t=c*d;g-t>c?(g=t,c=t/d):g=c*d}w=g,b=c,h=g/c,s>h?(u=g,m=u/s):(m=c,u=m*s)}(o>w||l>b)&&(w=o,b=l);let f=0;window.innerWidth>480?f=80:window.innerWidth>1920&&(f=160);const p=Math.min(window.innerWidth-f,w),x=Math.min(window.innerHeight-80,b);s>p/x?(w=p,b=w/s):(b=x,w=b*s);const E=o/w,C=g*(w/u),y=c*(b/m);let A=document.getElementById("wp-lightbox-styles");A||(A=document.createElement("style"),A.id="wp-lightbox-styles",document.head.appendChild(A)),A.innerHTML=`\n\t\t:root {\n\t\t\t--wp--lightbox-initial-top-position: ${r}px;\n\t\t\t--wp--lightbox-initial-left-position: ${a}px;\n\t\t\t--wp--lightbox-container-width: ${w+1}px;\n\t\t\t--wp--lightbox-container-height: ${b+1}px;\n\t\t\t--wp--lightbox-image-width: ${C}px;\n\t\t\t--wp--lightbox-image-height: ${y}px;\n\t\t\t--wp--lightbox-scale: ${E};\n\t\t\t--wp--lightbox-scrollbar-width: ${window.innerWidth-document.documentElement.clientWidth}px;\n\t\t}\n\t`}window.addEventListener("resize",function(t,e=50){let n;return()=>{clearTimeout(n),n=setTimeout((()=>{n=null,t()}),e)}}((()=>{d.windowWidth=window.innerWidth,d.windowHeight=window.innerHeight}))); \ No newline at end of file diff --git a/wp-includes/blocks/image.php b/wp-includes/blocks/image.php index acefd5714b..f926890c1a 100644 --- a/wp-includes/blocks/image.php +++ b/wp-includes/blocks/image.php @@ -37,9 +37,6 @@ function render_block_core_image( $attributes, $content, $block ) { $link_destination = isset( $attributes['linkDestination'] ) ? $attributes['linkDestination'] : 'none'; $lightbox_settings = block_core_image_get_lightbox_settings( $block->parsed_block ); - $view_js_file_handle = 'wp-block-image-view'; - $script_handles = $block->block_type->view_script_handles; - /* * If the lightbox is enabled and the image is not linked, add the filter * and the JavaScript view file. @@ -50,31 +47,22 @@ function render_block_core_image( $attributes, $content, $block ) { isset( $lightbox_settings['enabled'] ) && true === $lightbox_settings['enabled'] ) { - $block->block_type->supports['interactivity'] = true; - - if ( ! in_array( $view_js_file_handle, $script_handles, true ) ) { - $block->block_type->view_script_handles = array_merge( $script_handles, array( $view_js_file_handle ) ); - } + wp_enqueue_script_module( '@wordpress/block-library/image' ); /* - * This render needs to happen in a filter with priority 15 to ensure - * that it runs after the duotone filter and that duotone styles are - * applied to the image in the lightbox. We also need to ensure that the - * lightbox works with any plugins that might use filters as well. We - * can consider removing this in the future if the way the blocks are - * rendered changes, or if a new kind of filter is introduced. + * This render needs to happen in a filter with priority 15 to ensure that + * it runs after the duotone filter and that duotone styles are applied to + * the image in the lightbox. Lightbox has to work with any plugins that + * might use filters as well. Removing this can be considered in the + * future if the way the blocks are rendered changes, or if a + * new kind of filter is introduced. */ add_filter( 'render_block_core/image', 'block_core_image_render_lightbox', 15, 2 ); } else { /* - * Remove the filter and the JavaScript view file if previously added by - * other Image blocks. + * Remove the filter if previously added by other Image blocks. */ remove_filter( 'render_block_core/image', 'block_core_image_render_lightbox', 15 ); - // If the script is not needed, and it is still in the `view_script_handles`, remove it. - if ( in_array( $view_js_file_handle, $script_handles, true ) ) { - $block->block_type->view_script_handles = array_diff( $script_handles, array( $view_js_file_handle ) ); - } } return $processor->get_updated_html(); @@ -93,12 +81,6 @@ function block_core_image_get_lightbox_settings( $block ) { // Get the lightbox setting from the block attributes. if ( isset( $block['attrs']['lightbox'] ) ) { $lightbox_settings = $block['attrs']['lightbox']; - // If the lightbox setting is not set in the block attributes, - // check the legacy lightbox settings that are set using the - // `gutenberg_should_render_lightbox` filter. - // We can remove this elseif statement when the legacy lightbox settings are removed. - } elseif ( isset( $block['legacyLightboxSettings'] ) ) { - $lightbox_settings = $block['legacyLightboxSettings']; } if ( ! isset( $lightbox_settings ) ) { @@ -187,27 +169,23 @@ function block_core_image_render_lightbox( $block_content, $block ) { $w = new WP_HTML_Tag_Processor( $block_content ); $w->next_tag( 'figure' ); $w->add_class( 'wp-lightbox-container' ); - $w->set_attribute( 'data-wp-interactive', true ); + $w->set_attribute( 'data-wp-interactive', '{"namespace":"core/image"}' ); $w->set_attribute( 'data-wp-context', sprintf( - '{ "core": - { "image": - { "imageLoaded": false, - "initialized": false, - "lightboxEnabled": false, - "hideAnimationEnabled": false, - "preloadInitialized": false, - "lightboxAnimation": "%s", - "imageUploadedSrc": "%s", - "imageCurrentSrc": "", - "targetWidth": "%s", - "targetHeight": "%s", - "scaleAttr": "%s", - "dialogLabel": "%s" - } - } + '{ "imageLoaded": false, + "initialized": false, + "lightboxEnabled": false, + "hideAnimationEnabled": false, + "preloadInitialized": false, + "lightboxAnimation": "%s", + "imageUploadedSrc": "%s", + "imageCurrentSrc": "", + "targetWidth": "%s", + "targetHeight": "%s", + "scaleAttr": "%s", + "dialogLabel": "%s" }', $lightbox_animation, $img_uploaded_src, @@ -218,14 +196,14 @@ function block_core_image_render_lightbox( $block_content, $block ) { ) ); $w->next_tag( 'img' ); - $w->set_attribute( 'data-wp-init', 'effects.core.image.initOriginImage' ); - $w->set_attribute( 'data-wp-on--load', 'actions.core.image.handleLoad' ); - $w->set_attribute( 'data-wp-effect', 'effects.core.image.setButtonStyles' ); + $w->set_attribute( 'data-wp-init', 'callbacks.initOriginImage' ); + $w->set_attribute( 'data-wp-on--load', 'actions.handleLoad' ); + $w->set_attribute( 'data-wp-watch', 'callbacks.setButtonStyles' ); // We need to set an event callback on the `img` specifically // because the `figure` element can also contain a caption, and // we don't want to trigger the lightbox when the caption is clicked. - $w->set_attribute( 'data-wp-on--click', 'actions.core.image.showLightbox' ); - $w->set_attribute( 'data-wp-effect--setStylesOnResize', 'effects.core.image.setStylesOnResize' ); + $w->set_attribute( 'data-wp-on--click', 'actions.showLightbox' ); + $w->set_attribute( 'data-wp-watch--setStylesOnResize', 'callbacks.setStylesOnResize' ); $body_content = $w->get_updated_html(); // Add a button alongside image in the body content. @@ -239,9 +217,10 @@ function block_core_image_render_lightbox( $block_content, $block ) { type="button" aria-haspopup="dialog" aria-label="' . esc_attr( $aria_label ) . '" - data-wp-on--click="actions.core.image.showLightbox" - data-wp-style--right="context.core.image.imageButtonRight" - data-wp-style--top="context.core.image.imageButtonTop" + data-wp-init="callbacks.initTriggerButton" + data-wp-on--click="actions.showLightbox" + data-wp-style--right="context.imageButtonRight" + data-wp-style--top="context.imageButtonTop" > @@ -267,8 +246,8 @@ function block_core_image_render_lightbox( $block_content, $block ) { // use the exact same image as in the content when the lightbox is first opened while // we wait for the larger image to load. $m->set_attribute( 'src', '' ); - $m->set_attribute( 'data-wp-bind--src', 'context.core.image.imageCurrentSrc' ); - $m->set_attribute( 'data-wp-style--object-fit', 'selectors.core.image.lightboxObjectFit' ); + $m->set_attribute( 'data-wp-bind--src', 'context.imageCurrentSrc' ); + $m->set_attribute( 'data-wp-style--object-fit', 'state.lightboxObjectFit' ); $initial_image_content = $m->get_updated_html(); $q = new WP_HTML_Tag_Processor( $block_content ); @@ -283,8 +262,8 @@ function block_core_image_render_lightbox( $block_content, $block ) { // and Chrome (see https://github.com/WordPress/gutenberg/pull/52765#issuecomment-1674008151). Until that // is resolved, manually setting the 'src' seems to be the best solution to load the large image on demand. $q->set_attribute( 'src', '' ); - $q->set_attribute( 'data-wp-bind--src', 'selectors.core.image.enlargedImgSrc' ); - $q->set_attribute( 'data-wp-style--object-fit', 'selectors.core.image.lightboxObjectFit' ); + $q->set_attribute( 'data-wp-bind--src', 'state.enlargedImgSrc' ); + $q->set_attribute( 'data-wp-style--object-fit', 'state.lightboxObjectFit' ); $enlarged_image_content = $q->get_updated_html(); // If the current theme does NOT have a `theme.json`, or the colors are not defined, @@ -307,21 +286,21 @@ function block_core_image_render_lightbox( $block_content, $block ) { $lightbox_html = << - @@ -333,25 +312,6 @@ HTML; return str_replace( '', $lightbox_html . '', $body_content ); } -/** - * Ensures that the view script has the `wp-interactivity` dependency. - * - * @since 6.4.0 - * - * @global WP_Scripts $wp_scripts - */ -function block_core_image_ensure_interactivity_dependency() { - global $wp_scripts; - if ( - isset( $wp_scripts->registered['wp-block-image-view'] ) && - ! in_array( 'wp-interactivity', $wp_scripts->registered['wp-block-image-view']->deps, true ) - ) { - $wp_scripts->registered['wp-block-image-view']->deps[] = 'wp-interactivity'; - } -} - -add_action( 'wp_print_scripts', 'block_core_image_ensure_interactivity_dependency' ); - /** * Registers the `core/image` block on server. */ @@ -362,5 +322,12 @@ function register_block_core_image() { 'render_callback' => 'render_block_core_image', ) ); + + wp_register_script_module( + '@wordpress/block-library/image', + defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ? gutenberg_url( '/build/interactivity/image.min.js' ) : includes_url( 'blocks/image/view.min.js' ), + array( '@wordpress/interactivity' ), + defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' ) + ); } add_action( 'init', 'register_block_core_image' ); diff --git a/wp-includes/blocks/image/block.json b/wp-includes/blocks/image/block.json index d665a8a8f7..d60bcadf0e 100644 --- a/wp-includes/blocks/image/block.json +++ b/wp-includes/blocks/image/block.json @@ -4,14 +4,16 @@ "name": "core/image", "title": "Image", "category": "media", - "usesContext": [ "allowResize", "imageCrop", "fixedHeight" ], + "usesContext": [ + "allowResize", + "imageCrop", + "fixedHeight", + "pattern/overrides" + ], "description": "Insert an image to make a visual statement.", "keywords": [ "img", "photo", "picture" ], "textdomain": "default", "attributes": { - "align": { - "type": "string" - }, "url": { "type": "string", "source": "attribute", @@ -28,8 +30,8 @@ "__experimentalRole": "content" }, "caption": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": "figcaption", "__experimentalRole": "content" }, @@ -95,6 +97,8 @@ } }, "supports": { + "interactivity": true, + "align": [ "left", "center", "right", "wide", "full" ], "anchor": true, "color": { "text": false, @@ -130,6 +134,5 @@ { "name": "rounded", "label": "Rounded" } ], "editorStyle": "wp-block-image-editor", - "style": "wp-block-image", - "viewScript": "file:./view.min.js" + "style": "wp-block-image" } diff --git a/wp-includes/blocks/image/editor-rtl.css b/wp-includes/blocks/image/editor-rtl.css index 41c1e01d44..d74dec9c54 100644 --- a/wp-includes/blocks/image/editor-rtl.css +++ b/wp-includes/blocks/image/editor-rtl.css @@ -12,9 +12,12 @@ .wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{ display:none; } -.wp-block-image.wp-block-image.is-selected .components-placeholder:before{ +.wp-block-image.wp-block-image .block-bindings-media-placeholder-message,.wp-block-image.wp-block-image.is-selected .components-placeholder:before{ opacity:0; } +.wp-block-image.wp-block-image.is-selected .block-bindings-media-placeholder-message{ + opacity:1; +} .wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{ transition:none; } diff --git a/wp-includes/blocks/image/editor-rtl.min.css b/wp-includes/blocks/image/editor-rtl.min.css index 76b3aa4b69..430050a8a1 100644 --- a/wp-includes/blocks/image/editor-rtl.min.css +++ b/wp-includes/blocks/image/editor-rtl.min.css @@ -1 +1 @@ -.wp-block-image.wp-block-image.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;filter:none!important}.wp-block-image.wp-block-image.is-selected .components-placeholder>svg{opacity:0}.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-image.wp-block-image.is-selected .components-placeholder:before{opacity:0}.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{transition:none}figure.wp-block-image:not(.wp-block){margin:0}.wp-block-image{position:relative}.wp-block-image .is-applying img,.wp-block-image.is-transient img{opacity:.3}.wp-block-image figcaption img{display:inline}.wp-block-image .components-spinner{position:absolute;right:50%;top:50%;transform:translate(50%,-50%)}.wp-block-image .components-resizable-box__container{display:table}.wp-block-image .components-resizable-box__container img{display:block;height:inherit;width:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{left:0;margin:-1px 0;position:absolute;right:0}@media (min-width:600px){.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{margin:-1px}}[data-align=full]>.wp-block-image img,[data-align=wide]>.wp-block-image img{height:auto;width:100%}.wp-block[data-align=center]>.wp-block-image,.wp-block[data-align=left]>.wp-block-image,.wp-block[data-align=right]>.wp-block-image{display:table}.wp-block[data-align=center]>.wp-block-image>figcaption,.wp-block[data-align=left]>.wp-block-image>figcaption,.wp-block[data-align=right]>.wp-block-image>figcaption{caption-side:bottom;display:table-caption}.wp-block[data-align=left]>.wp-block-image{margin:.5em 0 .5em 1em}.wp-block[data-align=right]>.wp-block-image{margin:.5em 1em .5em 0}.wp-block[data-align=center]>.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}.wp-block-image__crop-area{max-width:100%;overflow:hidden;position:relative;width:100%}.wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image{border:none;border-radius:0}.wp-block-image__crop-icon{align-items:center;display:flex;justify-content:center;min-width:48px;padding:0 8px}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{min-width:260px;overflow:visible!important}.wp-block-image__aspect-ratio{align-items:center;display:flex;height:46px;margin-bottom:-8px}.wp-block-image__aspect-ratio .components-button{padding-left:0;padding-right:0;width:36px} \ No newline at end of file +.wp-block-image.wp-block-image.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;filter:none!important}.wp-block-image.wp-block-image.is-selected .components-placeholder>svg{opacity:0}.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-image.wp-block-image .block-bindings-media-placeholder-message,.wp-block-image.wp-block-image.is-selected .components-placeholder:before{opacity:0}.wp-block-image.wp-block-image.is-selected .block-bindings-media-placeholder-message{opacity:1}.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{transition:none}figure.wp-block-image:not(.wp-block){margin:0}.wp-block-image{position:relative}.wp-block-image .is-applying img,.wp-block-image.is-transient img{opacity:.3}.wp-block-image figcaption img{display:inline}.wp-block-image .components-spinner{position:absolute;right:50%;top:50%;transform:translate(50%,-50%)}.wp-block-image .components-resizable-box__container{display:table}.wp-block-image .components-resizable-box__container img{display:block;height:inherit;width:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{left:0;margin:-1px 0;position:absolute;right:0}@media (min-width:600px){.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{margin:-1px}}[data-align=full]>.wp-block-image img,[data-align=wide]>.wp-block-image img{height:auto;width:100%}.wp-block[data-align=center]>.wp-block-image,.wp-block[data-align=left]>.wp-block-image,.wp-block[data-align=right]>.wp-block-image{display:table}.wp-block[data-align=center]>.wp-block-image>figcaption,.wp-block[data-align=left]>.wp-block-image>figcaption,.wp-block[data-align=right]>.wp-block-image>figcaption{caption-side:bottom;display:table-caption}.wp-block[data-align=left]>.wp-block-image{margin:.5em 0 .5em 1em}.wp-block[data-align=right]>.wp-block-image{margin:.5em 1em .5em 0}.wp-block[data-align=center]>.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}.wp-block-image__crop-area{max-width:100%;overflow:hidden;position:relative;width:100%}.wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image{border:none;border-radius:0}.wp-block-image__crop-icon{align-items:center;display:flex;justify-content:center;min-width:48px;padding:0 8px}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{min-width:260px;overflow:visible!important}.wp-block-image__aspect-ratio{align-items:center;display:flex;height:46px;margin-bottom:-8px}.wp-block-image__aspect-ratio .components-button{padding-left:0;padding-right:0;width:36px} \ No newline at end of file diff --git a/wp-includes/blocks/image/editor.css b/wp-includes/blocks/image/editor.css index ccdc0d0f29..e33ea734b1 100644 --- a/wp-includes/blocks/image/editor.css +++ b/wp-includes/blocks/image/editor.css @@ -12,9 +12,12 @@ .wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{ display:none; } -.wp-block-image.wp-block-image.is-selected .components-placeholder:before{ +.wp-block-image.wp-block-image .block-bindings-media-placeholder-message,.wp-block-image.wp-block-image.is-selected .components-placeholder:before{ opacity:0; } +.wp-block-image.wp-block-image.is-selected .block-bindings-media-placeholder-message{ + opacity:1; +} .wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{ transition:none; } diff --git a/wp-includes/blocks/image/editor.min.css b/wp-includes/blocks/image/editor.min.css index 89b31b0753..71e26a86f9 100644 --- a/wp-includes/blocks/image/editor.min.css +++ b/wp-includes/blocks/image/editor.min.css @@ -1 +1 @@ -.wp-block-image.wp-block-image.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;filter:none!important}.wp-block-image.wp-block-image.is-selected .components-placeholder>svg{opacity:0}.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-image.wp-block-image.is-selected .components-placeholder:before{opacity:0}.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{transition:none}figure.wp-block-image:not(.wp-block){margin:0}.wp-block-image{position:relative}.wp-block-image .is-applying img,.wp-block-image.is-transient img{opacity:.3}.wp-block-image figcaption img{display:inline}.wp-block-image .components-spinner{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.wp-block-image .components-resizable-box__container{display:table}.wp-block-image .components-resizable-box__container img{display:block;height:inherit;width:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{left:0;margin:-1px 0;position:absolute;right:0}@media (min-width:600px){.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{margin:-1px}}[data-align=full]>.wp-block-image img,[data-align=wide]>.wp-block-image img{height:auto;width:100%}.wp-block[data-align=center]>.wp-block-image,.wp-block[data-align=left]>.wp-block-image,.wp-block[data-align=right]>.wp-block-image{display:table}.wp-block[data-align=center]>.wp-block-image>figcaption,.wp-block[data-align=left]>.wp-block-image>figcaption,.wp-block[data-align=right]>.wp-block-image>figcaption{caption-side:bottom;display:table-caption}.wp-block[data-align=left]>.wp-block-image{margin:.5em 1em .5em 0}.wp-block[data-align=right]>.wp-block-image{margin:.5em 0 .5em 1em}.wp-block[data-align=center]>.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}.wp-block-image__crop-area{max-width:100%;overflow:hidden;position:relative;width:100%}.wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image{border:none;border-radius:0}.wp-block-image__crop-icon{align-items:center;display:flex;justify-content:center;min-width:48px;padding:0 8px}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{min-width:260px;overflow:visible!important}.wp-block-image__aspect-ratio{align-items:center;display:flex;height:46px;margin-bottom:-8px}.wp-block-image__aspect-ratio .components-button{padding-left:0;padding-right:0;width:36px} \ No newline at end of file +.wp-block-image.wp-block-image.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;filter:none!important}.wp-block-image.wp-block-image.is-selected .components-placeholder>svg{opacity:0}.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-image.wp-block-image .block-bindings-media-placeholder-message,.wp-block-image.wp-block-image.is-selected .components-placeholder:before{opacity:0}.wp-block-image.wp-block-image.is-selected .block-bindings-media-placeholder-message{opacity:1}.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{transition:none}figure.wp-block-image:not(.wp-block){margin:0}.wp-block-image{position:relative}.wp-block-image .is-applying img,.wp-block-image.is-transient img{opacity:.3}.wp-block-image figcaption img{display:inline}.wp-block-image .components-spinner{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.wp-block-image .components-resizable-box__container{display:table}.wp-block-image .components-resizable-box__container img{display:block;height:inherit;width:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{left:0;margin:-1px 0;position:absolute;right:0}@media (min-width:600px){.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{margin:-1px}}[data-align=full]>.wp-block-image img,[data-align=wide]>.wp-block-image img{height:auto;width:100%}.wp-block[data-align=center]>.wp-block-image,.wp-block[data-align=left]>.wp-block-image,.wp-block[data-align=right]>.wp-block-image{display:table}.wp-block[data-align=center]>.wp-block-image>figcaption,.wp-block[data-align=left]>.wp-block-image>figcaption,.wp-block[data-align=right]>.wp-block-image>figcaption{caption-side:bottom;display:table-caption}.wp-block[data-align=left]>.wp-block-image{margin:.5em 1em .5em 0}.wp-block[data-align=right]>.wp-block-image{margin:.5em 0 .5em 1em}.wp-block[data-align=center]>.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}.wp-block-image__crop-area{max-width:100%;overflow:hidden;position:relative;width:100%}.wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image{border:none;border-radius:0}.wp-block-image__crop-icon{align-items:center;display:flex;justify-content:center;min-width:48px;padding:0 8px}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{min-width:260px;overflow:visible!important}.wp-block-image__aspect-ratio{align-items:center;display:flex;height:46px;margin-bottom:-8px}.wp-block-image__aspect-ratio .components-button{padding-left:0;padding-right:0;width:36px} \ No newline at end of file diff --git a/wp-includes/blocks/image/style-rtl.css b/wp-includes/blocks/image/style-rtl.css index 363e38a35f..19268b2740 100644 --- a/wp-includes/blocks/image/style-rtl.css +++ b/wp-includes/blocks/image/style-rtl.css @@ -150,7 +150,7 @@ right:0; top:0; visibility:hidden; - width:100vw; + width:100%; z-index:100000; } .wp-lightbox-overlay .close-button{ @@ -280,7 +280,7 @@ } @keyframes lightbox-zoom-in{ 0%{ - transform:translate(calc((-50vw + var(--wp--lightbox-initial-left-position))*-1), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); + transform:translate(calc(((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position))*-1), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); } to{ transform:translate(50%, -50%) scale(1); @@ -295,7 +295,7 @@ visibility:visible; } to{ - transform:translate(calc((-50vw + var(--wp--lightbox-initial-left-position))*-1), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); + transform:translate(calc(((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position))*-1), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); visibility:hidden; } } \ No newline at end of file diff --git a/wp-includes/blocks/image/style-rtl.min.css b/wp-includes/blocks/image/style-rtl.min.css index 25bf896dac..1e26b971fa 100644 --- a/wp-includes/blocks/image/style-rtl.min.css +++ b/wp-includes/blocks/image/style-rtl.min.css @@ -1 +1 @@ -.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-left-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-right-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-left-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-right-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;left:16px;opacity:0;padding:0;position:absolute;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;overflow:hidden;position:fixed;right:0;top:0;visibility:hidden;width:100vw;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;left:calc(env(safe-area-inset-left) + 16px);min-height:40px;min-width:40px;padding:0;position:absolute;top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);overflow:hidden;position:absolute;right:50%;top:50%;transform:translate(50%,-50%);transform-origin:top right;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:100% 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active){animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-50vw + var(--wp--lightbox-initial-left-position))*-1),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-50vw + var(--wp--lightbox-initial-left-position))*-1),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}} \ No newline at end of file +.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-left-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-right-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-left-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-right-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;left:16px;opacity:0;padding:0;position:absolute;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;overflow:hidden;position:fixed;right:0;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;left:calc(env(safe-area-inset-left) + 16px);min-height:40px;min-width:40px;padding:0;position:absolute;top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);overflow:hidden;position:absolute;right:50%;top:50%;transform:translate(50%,-50%);transform-origin:top right;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:100% 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active){animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc(((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position))*-1),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc(((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position))*-1),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}} \ No newline at end of file diff --git a/wp-includes/blocks/image/style.css b/wp-includes/blocks/image/style.css index d06a8687ae..9d8770ed5b 100644 --- a/wp-includes/blocks/image/style.css +++ b/wp-includes/blocks/image/style.css @@ -150,7 +150,7 @@ position:fixed; top:0; visibility:hidden; - width:100vw; + width:100%; z-index:100000; } .wp-lightbox-overlay .close-button{ @@ -280,7 +280,7 @@ } @keyframes lightbox-zoom-in{ 0%{ - transform:translate(calc(-50vw + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); + transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); } to{ transform:translate(-50%, -50%) scale(1); @@ -295,7 +295,7 @@ visibility:visible; } to{ - transform:translate(calc(-50vw + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); + transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); visibility:hidden; } } \ No newline at end of file diff --git a/wp-includes/blocks/image/style.min.css b/wp-includes/blocks/image/style.min.css index 0ee2855c0c..6f9acffb72 100644 --- a/wp-includes/blocks/image/style.min.css +++ b/wp-includes/blocks/image/style.min.css @@ -1 +1 @@ -.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-left-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-left-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100vw;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:0;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active){animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc(-50vw + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc(-50vw + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}} \ No newline at end of file +.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-left-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-left-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:0;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active){animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}} \ No newline at end of file diff --git a/wp-includes/blocks/image/view.asset.php b/wp-includes/blocks/image/view.asset.php index a646d3688b..58058b1408 100644 --- a/wp-includes/blocks/image/view.asset.php +++ b/wp-includes/blocks/image/view.asset.php @@ -1 +1 @@ - array(), 'version' => '749bd8d7dd37390bdeea'); + array(), 'version' => '7500eb032759d407a71d'); diff --git a/wp-includes/blocks/image/view.js b/wp-includes/blocks/image/view.js deleted file mode 100644 index 4d022ef3d8..0000000000 --- a/wp-includes/blocks/image/view.js +++ /dev/null @@ -1,533 +0,0 @@ -"use strict"; -(self["__WordPressPrivateInteractivityAPI__"] = self["__WordPressPrivateInteractivityAPI__"] || []).push([[354],{ - -/***/ 699: -/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) { - -/* harmony import */ var _wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(754); -/** - * WordPress dependencies - */ - -const focusableSelectors = ['a[href]', 'area[href]', 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])', 'select:not([disabled]):not([aria-hidden])', 'textarea:not([disabled]):not([aria-hidden])', 'button:not([disabled]):not([aria-hidden])', 'iframe', 'object', 'embed', '[contenteditable]', '[tabindex]:not([tabindex^="-"])']; - -/* - * Stores a context-bound scroll handler. - * - * This callback could be defined inline inside of the store - * object but it's created externally to avoid confusion about - * how its logic is called. This logic is not referenced directly - * by the directives in the markup because the scroll event we - * need to listen to is triggered on the window; so by defining it - * outside of the store, we signal that the behavior here is different. - * If we find a compelling reason to move it to the store, feel free. - * - * @type {Function} - */ -let scrollCallback; - -/* - * Tracks whether user is touching screen; used to - * differentiate behavior for touch and mouse input. - * - * @type {boolean} - */ -let isTouching = false; - -/* - * Tracks the last time the screen was touched; used to - * differentiate behavior for touch and mouse input. - * - * @type {number} - */ -let lastTouchTime = 0; - -/* - * Lightbox page-scroll handler: prevents scrolling. - * - * This handler is added to prevent scrolling behaviors that - * trigger content shift while the lightbox is open. - * - * It would be better to accomplish this through CSS alone, but - * using overflow: hidden is currently the only way to do so, and - * that causes the layout to shift and prevents the zoom animation - * from working in some cases because we're unable to account for - * the layout shift when doing the animation calculations. Instead, - * here we use JavaScript to prevent and reset the scrolling - * behavior. In the future, we may be able to use CSS or overflow: hidden - * instead to not rely on JavaScript, but this seems to be the best approach - * for now that provides the best visual experience. - * - * @param {Object} context Interactivity page context? - */ -function handleScroll(context) { - // We can't override the scroll behavior on mobile devices - // because doing so breaks the pinch to zoom functionality, and we - // want to allow users to zoom in further on the high-res image. - if (!isTouching && Date.now() - lastTouchTime > 450) { - // We are unable to use event.preventDefault() to prevent scrolling - // because the scroll event can't be canceled, so we reset the position instead. - window.scrollTo(context.core.image.scrollLeftReset, context.core.image.scrollTopReset); - } -} -(0,_wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__/* .store */ .h)({ - state: { - core: { - image: { - windowWidth: window.innerWidth, - windowHeight: window.innerHeight - } - } - }, - actions: { - core: { - image: { - showLightbox: ({ - context, - event - }) => { - // We can't initialize the lightbox until the reference - // image is loaded, otherwise the UX is broken. - if (!context.core.image.imageLoaded) { - return; - } - context.core.image.initialized = true; - context.core.image.lastFocusedElement = window.document.activeElement; - context.core.image.scrollDelta = 0; - context.core.image.pointerType = event.pointerType; - context.core.image.lightboxEnabled = true; - setStyles(context, context.core.image.imageRef); - context.core.image.scrollTopReset = window.pageYOffset || document.documentElement.scrollTop; - - // In most cases, this value will be 0, but this is included - // in case a user has created a page with horizontal scrolling. - context.core.image.scrollLeftReset = window.pageXOffset || document.documentElement.scrollLeft; - - // We define and bind the scroll callback here so - // that we can pass the context and as an argument. - // We may be able to change this in the future if we - // define the scroll callback in the store instead, but - // this approach seems to tbe clearest for now. - scrollCallback = handleScroll.bind(null, context); - - // We need to add a scroll event listener to the window - // here because we are unable to otherwise access it via - // the Interactivity API directives. If we add a native way - // to access the window, we can remove this. - window.addEventListener('scroll', scrollCallback, false); - }, - hideLightbox: async ({ - context - }) => { - context.core.image.hideAnimationEnabled = true; - if (context.core.image.lightboxEnabled) { - // We want to wait until the close animation is completed - // before allowing a user to scroll again. The duration of this - // animation is defined in the styles.scss and depends on if the - // animation is 'zoom' or 'fade', but in any case we should wait - // a few milliseconds longer than the duration, otherwise a user - // may scroll too soon and cause the animation to look sloppy. - setTimeout(function () { - window.removeEventListener('scroll', scrollCallback); - // If we don't delay before changing the focus, - // the focus ring will appear on Firefox before - // the image has finished animating, which looks broken. - context.core.image.lightboxTriggerRef.focus({ - preventScroll: true - }); - }, 450); - context.core.image.lightboxEnabled = false; - } - }, - handleKeydown: ({ - context, - actions, - event - }) => { - if (context.core.image.lightboxEnabled) { - if (event.key === 'Tab' || event.keyCode === 9) { - // If shift + tab it change the direction - if (event.shiftKey && window.document.activeElement === context.core.image.firstFocusableElement) { - event.preventDefault(); - context.core.image.lastFocusableElement.focus(); - } else if (!event.shiftKey && window.document.activeElement === context.core.image.lastFocusableElement) { - event.preventDefault(); - context.core.image.firstFocusableElement.focus(); - } - } - if (event.key === 'Escape' || event.keyCode === 27) { - actions.core.image.hideLightbox({ - context, - event - }); - } - } - }, - // This is fired just by lazily loaded - // images on the page, not all images. - handleLoad: ({ - context, - effects, - ref - }) => { - context.core.image.imageLoaded = true; - context.core.image.imageCurrentSrc = ref.currentSrc; - effects.core.image.setButtonStyles({ - context, - ref - }); - }, - handleTouchStart: () => { - isTouching = true; - }, - handleTouchMove: ({ - context, - event - }) => { - // On mobile devices, we want to prevent triggering the - // scroll event because otherwise the page jumps around as - // we reset the scroll position. This also means that closing - // the lightbox requires that a user perform a simple tap. This - // may be changed in the future if we find a better alternative - // to override or reset the scroll position during swipe actions. - if (context.core.image.lightboxEnabled) { - event.preventDefault(); - } - }, - handleTouchEnd: () => { - // We need to wait a few milliseconds before resetting - // to ensure that pinch to zoom works consistently - // on mobile devices when the lightbox is open. - lastTouchTime = Date.now(); - isTouching = false; - } - } - } - }, - selectors: { - core: { - image: { - roleAttribute: ({ - context - }) => { - return context.core.image.lightboxEnabled ? 'dialog' : null; - }, - ariaModal: ({ - context - }) => { - return context.core.image.lightboxEnabled ? 'true' : null; - }, - dialogLabel: ({ - context - }) => { - return context.core.image.lightboxEnabled ? context.core.image.dialogLabel : null; - }, - lightboxObjectFit: ({ - context - }) => { - if (context.core.image.initialized) { - return 'cover'; - } - }, - enlargedImgSrc: ({ - context - }) => { - return context.core.image.initialized ? context.core.image.imageUploadedSrc : 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='; - } - } - } - }, - effects: { - core: { - image: { - initOriginImage: ({ - context, - ref - }) => { - context.core.image.imageRef = ref; - context.core.image.lightboxTriggerRef = ref.parentElement.querySelector('.lightbox-trigger'); - if (ref.complete) { - context.core.image.imageLoaded = true; - context.core.image.imageCurrentSrc = ref.currentSrc; - } - }, - initLightbox: async ({ - context, - ref - }) => { - if (context.core.image.lightboxEnabled) { - const focusableElements = ref.querySelectorAll(focusableSelectors); - context.core.image.firstFocusableElement = focusableElements[0]; - context.core.image.lastFocusableElement = focusableElements[focusableElements.length - 1]; - - // Move focus to the dialog when opening it. - ref.focus(); - } - }, - setButtonStyles: ({ - context, - ref - }) => { - const { - naturalWidth, - naturalHeight, - offsetWidth, - offsetHeight - } = ref; - - // If the image isn't loaded yet, we can't - // calculate where the button should be. - if (naturalWidth === 0 || naturalHeight === 0) { - return; - } - const figure = ref.parentElement; - const figureWidth = ref.parentElement.clientWidth; - - // We need special handling for the height because - // a caption will cause the figure to be taller than - // the image, which means we need to account for that - // when calculating the placement of the button in the - // top right corner of the image. - let figureHeight = ref.parentElement.clientHeight; - const caption = figure.querySelector('figcaption'); - if (caption) { - const captionComputedStyle = window.getComputedStyle(caption); - figureHeight = figureHeight - caption.offsetHeight - parseFloat(captionComputedStyle.marginTop) - parseFloat(captionComputedStyle.marginBottom); - } - const buttonOffsetTop = figureHeight - offsetHeight; - const buttonOffsetRight = figureWidth - offsetWidth; - - // In the case of an image with object-fit: contain, the - // size of the element can be larger than the image itself, - // so we need to calculate where to place the button. - if (context.core.image.scaleAttr === 'contain') { - // Natural ratio of the image. - const naturalRatio = naturalWidth / naturalHeight; - // Offset ratio of the image. - const offsetRatio = offsetWidth / offsetHeight; - if (naturalRatio >= offsetRatio) { - // If it reaches the width first, keep - // the width and compute the height. - const referenceHeight = offsetWidth / naturalRatio; - context.core.image.imageButtonTop = (offsetHeight - referenceHeight) / 2 + buttonOffsetTop + 16; - context.core.image.imageButtonRight = buttonOffsetRight + 16; - } else { - // If it reaches the height first, keep - // the height and compute the width. - const referenceWidth = offsetHeight * naturalRatio; - context.core.image.imageButtonTop = buttonOffsetTop + 16; - context.core.image.imageButtonRight = (offsetWidth - referenceWidth) / 2 + buttonOffsetRight + 16; - } - } else { - context.core.image.imageButtonTop = buttonOffsetTop + 16; - context.core.image.imageButtonRight = buttonOffsetRight + 16; - } - }, - setStylesOnResize: ({ - state, - context, - ref - }) => { - if (context.core.image.lightboxEnabled && (state.core.image.windowWidth || state.core.image.windowHeight)) { - setStyles(context, ref); - } - } - } - } - } -}, { - afterLoad: ({ - state - }) => { - window.addEventListener('resize', debounce(() => { - state.core.image.windowWidth = window.innerWidth; - state.core.image.windowHeight = window.innerHeight; - })); - } -}); - -/* - * Computes styles for the lightbox and adds them to the document. - * - * @function - * @param {Object} context - An Interactivity API context - * @param {Object} event - A triggering event - */ -function setStyles(context, ref) { - // The reference img element lies adjacent - // to the event target button in the DOM. - let { - naturalWidth, - naturalHeight, - offsetWidth: originalWidth, - offsetHeight: originalHeight - } = ref; - let { - x: screenPosX, - y: screenPosY - } = ref.getBoundingClientRect(); - - // Natural ratio of the image clicked to open the lightbox. - const naturalRatio = naturalWidth / naturalHeight; - // Original ratio of the image clicked to open the lightbox. - let originalRatio = originalWidth / originalHeight; - - // If it has object-fit: contain, recalculate the original sizes - // and the screen position without the blank spaces. - if (context.core.image.scaleAttr === 'contain') { - if (naturalRatio > originalRatio) { - const heightWithoutSpace = originalWidth / naturalRatio; - // Recalculate screen position without the top space. - screenPosY += (originalHeight - heightWithoutSpace) / 2; - originalHeight = heightWithoutSpace; - } else { - const widthWithoutSpace = originalHeight * naturalRatio; - // Recalculate screen position without the left space. - screenPosX += (originalWidth - widthWithoutSpace) / 2; - originalWidth = widthWithoutSpace; - } - } - originalRatio = originalWidth / originalHeight; - - // Typically, we use the image's full-sized dimensions. If those - // dimensions have not been set (i.e. an external image with only one size), - // the image's dimensions in the lightbox are the same - // as those of the image in the content. - let imgMaxWidth = parseFloat(context.core.image.targetWidth !== 'none' ? context.core.image.targetWidth : naturalWidth); - let imgMaxHeight = parseFloat(context.core.image.targetHeight !== 'none' ? context.core.image.targetHeight : naturalHeight); - - // Ratio of the biggest image stored in the database. - let imgRatio = imgMaxWidth / imgMaxHeight; - let containerMaxWidth = imgMaxWidth; - let containerMaxHeight = imgMaxHeight; - let containerWidth = imgMaxWidth; - let containerHeight = imgMaxHeight; - // Check if the target image has a different ratio than the original one (thumbnail). - // Recalculate the width and height. - if (naturalRatio.toFixed(2) !== imgRatio.toFixed(2)) { - if (naturalRatio > imgRatio) { - // If the width is reached before the height, we keep the maxWidth - // and recalculate the height. - // Unless the difference between the maxHeight and the reducedHeight - // is higher than the maxWidth, where we keep the reducedHeight and - // recalculate the width. - const reducedHeight = imgMaxWidth / naturalRatio; - if (imgMaxHeight - reducedHeight > imgMaxWidth) { - imgMaxHeight = reducedHeight; - imgMaxWidth = reducedHeight * naturalRatio; - } else { - imgMaxHeight = imgMaxWidth / naturalRatio; - } - } else { - // If the height is reached before the width, we keep the maxHeight - // and recalculate the width. - // Unless the difference between the maxWidth and the reducedWidth - // is higher than the maxHeight, where we keep the reducedWidth and - // recalculate the height. - const reducedWidth = imgMaxHeight * naturalRatio; - if (imgMaxWidth - reducedWidth > imgMaxHeight) { - imgMaxWidth = reducedWidth; - imgMaxHeight = reducedWidth / naturalRatio; - } else { - imgMaxWidth = imgMaxHeight * naturalRatio; - } - } - containerWidth = imgMaxWidth; - containerHeight = imgMaxHeight; - imgRatio = imgMaxWidth / imgMaxHeight; - - // Calculate the max size of the container. - if (originalRatio > imgRatio) { - containerMaxWidth = imgMaxWidth; - containerMaxHeight = containerMaxWidth / originalRatio; - } else { - containerMaxHeight = imgMaxHeight; - containerMaxWidth = containerMaxHeight * originalRatio; - } - } - - // If the image has been pixelated on purpose, keep that size. - if (originalWidth > containerWidth || originalHeight > containerHeight) { - containerWidth = originalWidth; - containerHeight = originalHeight; - } - - // Calculate the final lightbox image size and the - // scale factor. MaxWidth is either the window container - // (accounting for padding) or the image resolution. - let horizontalPadding = 0; - if (window.innerWidth > 480) { - horizontalPadding = 80; - } else if (window.innerWidth > 1920) { - horizontalPadding = 160; - } - const verticalPadding = 80; - const targetMaxWidth = Math.min(window.innerWidth - horizontalPadding, containerWidth); - const targetMaxHeight = Math.min(window.innerHeight - verticalPadding, containerHeight); - const targetContainerRatio = targetMaxWidth / targetMaxHeight; - if (originalRatio > targetContainerRatio) { - // If targetMaxWidth is reached before targetMaxHeight - containerWidth = targetMaxWidth; - containerHeight = containerWidth / originalRatio; - } else { - // If targetMaxHeight is reached before targetMaxWidth - containerHeight = targetMaxHeight; - containerWidth = containerHeight * originalRatio; - } - const containerScale = originalWidth / containerWidth; - const lightboxImgWidth = imgMaxWidth * (containerWidth / containerMaxWidth); - const lightboxImgHeight = imgMaxHeight * (containerHeight / containerMaxHeight); - - // Add the CSS variables needed. - let styleTag = document.getElementById('wp-lightbox-styles'); - if (!styleTag) { - styleTag = document.createElement('style'); - styleTag.id = 'wp-lightbox-styles'; - document.head.appendChild(styleTag); - } - - // As of this writing, using the calculations above will render the lightbox - // with a small, erroneous whitespace on the left side of the image in iOS Safari, - // perhaps due to an inconsistency in how browsers handle absolute positioning and CSS - // transformation. In any case, adding 1 pixel to the container width and height solves - // the problem, though this can be removed if the issue is fixed in the future. - styleTag.innerHTML = ` - :root { - --wp--lightbox-initial-top-position: ${screenPosY}px; - --wp--lightbox-initial-left-position: ${screenPosX}px; - --wp--lightbox-container-width: ${containerWidth + 1}px; - --wp--lightbox-container-height: ${containerHeight + 1}px; - --wp--lightbox-image-width: ${lightboxImgWidth}px; - --wp--lightbox-image-height: ${lightboxImgHeight}px; - --wp--lightbox-scale: ${containerScale}; - } - `; -} - -/* - * Debounces a function call. - * - * @function - * @param {Function} func - A function to be called - * @param {number} wait - The time to wait before calling the function - */ -function debounce(func, wait = 50) { - let timeout; - return () => { - const later = () => { - timeout = null; - func(); - }; - clearTimeout(timeout); - timeout = setTimeout(later, wait); - }; -} - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ var __webpack_exports__ = (__webpack_exec__(699)); -/******/ } -]); \ No newline at end of file diff --git a/wp-includes/blocks/image/view.min.asset.php b/wp-includes/blocks/image/view.min.asset.php index d1b4a615a9..5b46fcb7d5 100644 --- a/wp-includes/blocks/image/view.min.asset.php +++ b/wp-includes/blocks/image/view.min.asset.php @@ -1 +1 @@ - array(), 'version' => '32caaf5e7c6834efef4c'); + array(), 'version' => 'ff354d5368d64857fef0'); diff --git a/wp-includes/blocks/image/view.min.js b/wp-includes/blocks/image/view.min.js deleted file mode 100644 index af1d51295e..0000000000 --- a/wp-includes/blocks/image/view.min.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.__WordPressPrivateInteractivityAPI__=self.__WordPressPrivateInteractivityAPI__||[]).push([[354],{699:function(e,t,i){var o=i(754);const n=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","[contenteditable]",'[tabindex]:not([tabindex^="-"])'];let a,r=!1,c=0;function l(e){!r&&Date.now()-c>450&&window.scrollTo(e.core.image.scrollLeftReset,e.core.image.scrollTopReset)}function g(e,t){let{naturalWidth:i,naturalHeight:o,offsetWidth:n,offsetHeight:a}=t,{x:r,y:c}=t.getBoundingClientRect();const l=i/o;let g=n/a;if("contain"===e.core.image.scaleAttr)if(l>g){const e=n/l;c+=(a-e)/2,a=e}else{const e=a*l;r+=(n-e)/2,n=e}g=n/a;let d=parseFloat("none"!==e.core.image.targetWidth?e.core.image.targetWidth:i),m=parseFloat("none"!==e.core.image.targetHeight?e.core.image.targetHeight:o),s=d/m,h=d,u=m,f=d,w=m;if(l.toFixed(2)!==s.toFixed(2)){if(l>s){const e=d/l;m-e>d?(m=e,d=e*l):m=d/l}else{const e=m*l;d-e>m?(d=e,m=e/l):d=m*l}f=d,w=m,s=d/m,g>s?(h=d,u=h/g):(u=m,h=u*g)}(n>f||a>w)&&(f=n,w=a);let b=0;window.innerWidth>480?b=80:window.innerWidth>1920&&(b=160);const x=Math.min(window.innerWidth-b,f),p=Math.min(window.innerHeight-80,w);g>x/p?(f=x,w=f/g):(w=p,f=w*g);const E=n/f,y=d*(f/h),v=m*(w/u);let A=document.getElementById("wp-lightbox-styles");A||(A=document.createElement("style"),A.id="wp-lightbox-styles",document.head.appendChild(A)),A.innerHTML=`\n\t\t:root {\n\t\t\t--wp--lightbox-initial-top-position: ${c}px;\n\t\t\t--wp--lightbox-initial-left-position: ${r}px;\n\t\t\t--wp--lightbox-container-width: ${f+1}px;\n\t\t\t--wp--lightbox-container-height: ${w+1}px;\n\t\t\t--wp--lightbox-image-width: ${y}px;\n\t\t\t--wp--lightbox-image-height: ${v}px;\n\t\t\t--wp--lightbox-scale: ${E};\n\t\t}\n\t`}(0,o.h)({state:{core:{image:{windowWidth:window.innerWidth,windowHeight:window.innerHeight}}},actions:{core:{image:{showLightbox:({context:e,event:t})=>{e.core.image.imageLoaded&&(e.core.image.initialized=!0,e.core.image.lastFocusedElement=window.document.activeElement,e.core.image.scrollDelta=0,e.core.image.pointerType=t.pointerType,e.core.image.lightboxEnabled=!0,g(e,e.core.image.imageRef),e.core.image.scrollTopReset=window.pageYOffset||document.documentElement.scrollTop,e.core.image.scrollLeftReset=window.pageXOffset||document.documentElement.scrollLeft,a=l.bind(null,e),window.addEventListener("scroll",a,!1))},hideLightbox:async({context:e})=>{e.core.image.hideAnimationEnabled=!0,e.core.image.lightboxEnabled&&(setTimeout((function(){window.removeEventListener("scroll",a),e.core.image.lightboxTriggerRef.focus({preventScroll:!0})}),450),e.core.image.lightboxEnabled=!1)},handleKeydown:({context:e,actions:t,event:i})=>{e.core.image.lightboxEnabled&&("Tab"!==i.key&&9!==i.keyCode||(i.shiftKey&&window.document.activeElement===e.core.image.firstFocusableElement?(i.preventDefault(),e.core.image.lastFocusableElement.focus()):i.shiftKey||window.document.activeElement!==e.core.image.lastFocusableElement||(i.preventDefault(),e.core.image.firstFocusableElement.focus())),"Escape"!==i.key&&27!==i.keyCode||t.core.image.hideLightbox({context:e,event:i}))},handleLoad:({context:e,effects:t,ref:i})=>{e.core.image.imageLoaded=!0,e.core.image.imageCurrentSrc=i.currentSrc,t.core.image.setButtonStyles({context:e,ref:i})},handleTouchStart:()=>{r=!0},handleTouchMove:({context:e,event:t})=>{e.core.image.lightboxEnabled&&t.preventDefault()},handleTouchEnd:()=>{c=Date.now(),r=!1}}}},selectors:{core:{image:{roleAttribute:({context:e})=>e.core.image.lightboxEnabled?"dialog":null,ariaModal:({context:e})=>e.core.image.lightboxEnabled?"true":null,dialogLabel:({context:e})=>e.core.image.lightboxEnabled?e.core.image.dialogLabel:null,lightboxObjectFit:({context:e})=>{if(e.core.image.initialized)return"cover"},enlargedImgSrc:({context:e})=>e.core.image.initialized?e.core.image.imageUploadedSrc:"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="}}},effects:{core:{image:{initOriginImage:({context:e,ref:t})=>{e.core.image.imageRef=t,e.core.image.lightboxTriggerRef=t.parentElement.querySelector(".lightbox-trigger"),t.complete&&(e.core.image.imageLoaded=!0,e.core.image.imageCurrentSrc=t.currentSrc)},initLightbox:async({context:e,ref:t})=>{if(e.core.image.lightboxEnabled){const i=t.querySelectorAll(n);e.core.image.firstFocusableElement=i[0],e.core.image.lastFocusableElement=i[i.length-1],t.focus()}},setButtonStyles:({context:e,ref:t})=>{const{naturalWidth:i,naturalHeight:o,offsetWidth:n,offsetHeight:a}=t;if(0===i||0===o)return;const r=t.parentElement,c=t.parentElement.clientWidth;let l=t.parentElement.clientHeight;const g=r.querySelector("figcaption");if(g){const e=window.getComputedStyle(g);l=l-g.offsetHeight-parseFloat(e.marginTop)-parseFloat(e.marginBottom)}const d=l-a,m=c-n;if("contain"===e.core.image.scaleAttr){const t=i/o;if(t>=n/a){const i=n/t;e.core.image.imageButtonTop=(a-i)/2+d+16,e.core.image.imageButtonRight=m+16}else{const i=a*t;e.core.image.imageButtonTop=d+16,e.core.image.imageButtonRight=(n-i)/2+m+16}}else e.core.image.imageButtonTop=d+16,e.core.image.imageButtonRight=m+16},setStylesOnResize:({state:e,context:t,ref:i})=>{t.core.image.lightboxEnabled&&(e.core.image.windowWidth||e.core.image.windowHeight)&&g(t,i)}}}}},{afterLoad:({state:e})=>{window.addEventListener("resize",function(e,t=50){let i;return()=>{const o=()=>{i=null,e()};clearTimeout(i),i=setTimeout(o,t)}}((()=>{e.core.image.windowWidth=window.innerWidth,e.core.image.windowHeight=window.innerHeight})))}})}},function(e){var t;t=699,e(e.s=t)}]); \ No newline at end of file diff --git a/wp-includes/blocks/legacy-widget/block.json b/wp-includes/blocks/legacy-widget/block.json index 6b0c1e2a91..a03eb09063 100644 --- a/wp-includes/blocks/legacy-widget/block.json +++ b/wp-includes/blocks/legacy-widget/block.json @@ -1,4 +1,5 @@ { + "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 3, "name": "core/legacy-widget", "title": "Legacy Widget", diff --git a/wp-includes/blocks/list-item/block.json b/wp-includes/blocks/list-item/block.json index 41221f1c31..06997c2ac2 100644 --- a/wp-includes/blocks/list-item/block.json +++ b/wp-includes/blocks/list-item/block.json @@ -12,16 +12,23 @@ "type": "string" }, "content": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": "li", - "default": "", "__experimentalRole": "content" } }, "supports": { "className": false, "__experimentalSelector": "li", + "spacing": { + "margin": true, + "padding": true, + "__experimentalDefaultControls": { + "margin": false, + "padding": false + } + }, "typography": { "fontSize": true, "lineHeight": true, diff --git a/wp-includes/blocks/loginout/block.json b/wp-includes/blocks/loginout/block.json index 3593961c09..59fceec596 100644 --- a/wp-includes/blocks/loginout/block.json +++ b/wp-includes/blocks/loginout/block.json @@ -19,6 +19,14 @@ }, "supports": { "className": true, + "spacing": { + "margin": true, + "padding": true, + "__experimentalDefaultControls": { + "margin": false, + "padding": false + } + }, "typography": { "fontSize": true, "lineHeight": true, diff --git a/wp-includes/blocks/missing/block.json b/wp-includes/blocks/missing/block.json index 0bc512bbbf..242a1d2c6b 100644 --- a/wp-includes/blocks/missing/block.json +++ b/wp-includes/blocks/missing/block.json @@ -15,7 +15,7 @@ }, "originalContent": { "type": "string", - "source": "html" + "source": "raw" } }, "supports": { diff --git a/wp-includes/blocks/navigation-link.php b/wp-includes/blocks/navigation-link.php index 5333ab6ea3..71ef26b630 100644 --- a/wp-includes/blocks/navigation-link.php +++ b/wp-includes/blocks/navigation-link.php @@ -1,6 +1,6 @@ get_registered( 'core/navigation-link' ); + // If the block is not registered yet, bail early. + // Variation will be registered in register_block_core_navigation_link then. + if ( ! $navigation_block_type ) { + return; + } + + $navigation_block_type->variations = array_merge( + $navigation_block_type->variations, + array( $variation ) + ); +} + +/** + * Unregister a variation for a post type / taxonomy for the navigation link block. + * + * @param string $name Name of the post type / taxonomy (which was used as variation name). + * @return void + */ +function block_core_navigation_link_unregister_variation( $name ) { + // Directly get the variations from the registered block type + // because there's no server side (un)registration for variations (see #47170). + $navigation_block_type = WP_Block_Type_Registry::get_instance()->get_registered( 'core/navigation-link' ); + // If the block is not registered (yet), there's no need to remove a variation. + if ( ! $navigation_block_type || empty( $navigation_block_type->variations ) ) { + return; + } + $variations = $navigation_block_type->variations; + // Search for the variation and remove it from the array. + foreach ( $variations as $i => $variation ) { + if ( $variation['name'] === $name ) { + unset( $variations[ $i ] ); + break; + } + } + // Reindex array after removing one variation. + $navigation_block_type->variations = array_values( $variations ); +} + +/** + * Register the navigation link block. + * Returns an array of variations for the navigation link block. + * + * @return array + */ +function build_navigation_link_block_variations() { + // This will only handle post types and taxonomies registered until this point (init on priority 9). + // See action hooks below for other post types and taxonomies. + // See https://github.com/WordPress/gutenberg/issues/53826 for details. $post_types = get_post_types( array( 'show_in_nav_menus' => true ), 'objects' ); $taxonomies = get_taxonomies( array( 'show_in_nav_menus' => true ), 'objects' ); @@ -360,12 +411,80 @@ function register_block_core_navigation_link() { } } + return array_merge( $built_ins, $variations ); +} + +/** + * Register the navigation link block. + * + * @uses render_block_core_navigation() + * @throws WP_Error An WP_Error exception parsing the block definition. + */ +function register_block_core_navigation_link() { register_block_type_from_metadata( __DIR__ . '/navigation-link', array( - 'render_callback' => 'render_block_core_navigation_link', - 'variations' => array_merge( $built_ins, $variations ), + 'render_callback' => 'render_block_core_navigation_link', + 'variation_callback' => 'build_navigation_link_block_variations', ) ); } add_action( 'init', 'register_block_core_navigation_link' ); +// Register actions for all post types and taxonomies, to add variations when they are registered. +// All post types/taxonomies registered before register_block_core_navigation_link, will be handled by that function. +add_action( 'registered_post_type', 'block_core_navigation_link_register_post_type_variation', 10, 2 ); +add_action( 'registered_taxonomy', 'block_core_navigation_link_register_taxonomy_variation', 10, 3 ); +// Handle unregistering of post types and taxonomies and remove the variations. +add_action( 'unregistered_post_type', 'block_core_navigation_link_unregister_post_type_variation' ); +add_action( 'unregistered_taxonomy', 'block_core_navigation_link_unregister_taxonomy_variation' ); + +/** + * Register custom post type variations for navigation link on post type registration + * Handles all post types registered after the block is registered in register_navigation_link_post_type_variations + * + * @param string $post_type The post type name passed from registered_post_type action hook. + * @param WP_Post_Type $post_type_object The post type object passed from registered_post_type. + * @return void + */ +function block_core_navigation_link_register_post_type_variation( $post_type, $post_type_object ) { + if ( $post_type_object->show_in_nav_menus ) { + $variation = build_variation_for_navigation_link( $post_type_object, 'post-type' ); + block_core_navigation_link_register_variation( $variation ); + } +} + +/** + * Register a custom taxonomy variation for navigation link on taxonomy registration + * Handles all taxonomies registered after the block is registered in register_navigation_link_post_type_variations + * + * @param string $taxonomy Taxonomy slug. + * @param array|string $object_type Object type or array of object types. + * @param array $args Array of taxonomy registration arguments. + * @return void + */ +function block_core_navigation_link_register_taxonomy_variation( $taxonomy, $object_type, $args ) { + if ( isset( $args['show_in_nav_menus'] ) && $args['show_in_nav_menus'] ) { + $variation = build_variation_for_navigation_link( (object) $args, 'post-type' ); + block_core_navigation_link_register_variation( $variation ); + } +} + +/** + * Unregisters a custom post type variation for navigation link on post type unregistration. + * + * @param string $post_type The post type name passed from unregistered_post_type action hook. + * @return void + */ +function block_core_navigation_link_unregister_post_type_variation( $post_type ) { + block_core_navigation_link_unregister_variation( $post_type ); +} + +/** + * Unregisters a custom taxonomy variation for navigation link on taxonomy unregistration. + * + * @param string $taxonomy The taxonomy name passed from unregistered_taxonomy action hook. + * @return void + */ +function block_core_navigation_link_unregister_taxonomy_variation( $taxonomy ) { + block_core_navigation_link_unregister_variation( $taxonomy ); +} diff --git a/wp-includes/blocks/navigation-link/block.json b/wp-includes/blocks/navigation-link/block.json index b2cbeaed63..d8f2fe31ae 100644 --- a/wp-includes/blocks/navigation-link/block.json +++ b/wp-includes/blocks/navigation-link/block.json @@ -71,7 +71,8 @@ "__experimentalDefaultControls": { "fontSize": true } - } + }, + "renaming": false }, "editorStyle": "wp-block-navigation-link-editor", "style": "wp-block-navigation-link" diff --git a/wp-includes/blocks/navigation.js b/wp-includes/blocks/navigation.js new file mode 100644 index 0000000000..161fdd1db2 --- /dev/null +++ b/wp-includes/blocks/navigation.js @@ -0,0 +1,247 @@ +import * as __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__ from "@wordpress/interactivity"; +/******/ // The require scope +/******/ var __webpack_require__ = {}; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; + +;// CONCATENATED MODULE: external "@wordpress/interactivity" +var x = y => { var x = {}; __webpack_require__.d(x, y); return x; } +var y = x => () => x +var interactivity_namespaceObject = x({ ["getContext"]: () => __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.getContext, ["getElement"]: () => __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.getElement, ["store"]: () => __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.store }); +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/navigation/constants.js +const DEFAULT_BLOCK = { + name: 'core/navigation-link' +}; +const ALLOWED_BLOCKS = (/* unused pure expression or super */ null && (['core/navigation-link', 'core/search', 'core/social-links', 'core/page-list', 'core/spacer', 'core/home-link', 'core/site-title', 'core/site-logo', 'core/navigation-submenu', 'core/loginout', 'core/buttons'])); +const PRIORITIZED_INSERTER_BLOCKS = (/* unused pure expression or super */ null && (['core/navigation-link/page', 'core/navigation-link'])); + +// These parameters must be kept aligned with those in +// lib/compat/wordpress-6.3/navigation-block-preloading.php +// and +// edit-site/src/components/sidebar-navigation-screen-navigation-menus/constants.js +const PRELOADED_NAVIGATION_MENUS_QUERY = { + per_page: 100, + status: ['publish', 'draft'], + order: 'desc', + orderby: 'date' +}; +const SELECT_NAVIGATION_MENUS_ARGS = ['postType', 'wp_navigation', PRELOADED_NAVIGATION_MENUS_QUERY]; +const NAVIGATION_MOBILE_COLLAPSE = '600px'; +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/navigation/view.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + +const focusableSelectors = ['a[href]', 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])', 'select:not([disabled]):not([aria-hidden])', 'textarea:not([disabled]):not([aria-hidden])', 'button:not([disabled]):not([aria-hidden])', '[contenteditable]', '[tabindex]:not([tabindex^="-"])']; + +// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out +// when the user taps in the body. It can be removed once we add an overlay to +// capture the clicks, instead of relying on the focusout event. +document.addEventListener('click', () => {}); +const { + state, + actions +} = (0,interactivity_namespaceObject.store)('core/navigation', { + state: { + get roleAttribute() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + return ctx.type === 'overlay' && state.isMenuOpen ? 'dialog' : null; + }, + get ariaModal() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + return ctx.type === 'overlay' && state.isMenuOpen ? 'true' : null; + }, + get ariaLabel() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + return ctx.type === 'overlay' && state.isMenuOpen ? ctx.ariaLabel : null; + }, + get isMenuOpen() { + // The menu is opened if either `click`, `hover` or `focus` is true. + return Object.values(state.menuOpenedBy).filter(Boolean).length > 0; + }, + get menuOpenedBy() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + return ctx.type === 'overlay' ? ctx.overlayOpenedBy : ctx.submenuOpenedBy; + } + }, + actions: { + openMenuOnHover() { + const { + type, + overlayOpenedBy + } = (0,interactivity_namespaceObject.getContext)(); + if (type === 'submenu' && + // Only open on hover if the overlay is closed. + Object.values(overlayOpenedBy || {}).filter(Boolean).length === 0) actions.openMenu('hover'); + }, + closeMenuOnHover() { + actions.closeMenu('hover'); + }, + openMenuOnClick() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + const { + ref + } = (0,interactivity_namespaceObject.getElement)(); + ctx.previousFocus = ref; + actions.openMenu('click'); + }, + closeMenuOnClick() { + actions.closeMenu('click'); + actions.closeMenu('focus'); + }, + openMenuOnFocus() { + actions.openMenu('focus'); + }, + toggleMenuOnClick() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + const { + ref + } = (0,interactivity_namespaceObject.getElement)(); + // Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261 + if (window.document.activeElement !== ref) ref.focus(); + const { + menuOpenedBy + } = state; + if (menuOpenedBy.click || menuOpenedBy.focus) { + actions.closeMenu('click'); + actions.closeMenu('focus'); + } else { + ctx.previousFocus = ref; + actions.openMenu('click'); + } + }, + handleMenuKeydown(event) { + const { + type, + firstFocusableElement, + lastFocusableElement + } = (0,interactivity_namespaceObject.getContext)(); + if (state.menuOpenedBy.click) { + // If Escape close the menu. + if (event?.key === 'Escape') { + actions.closeMenu('click'); + actions.closeMenu('focus'); + return; + } + + // Trap focus if it is an overlay (main menu). + if (type === 'overlay' && event.key === 'Tab') { + // If shift + tab it change the direction. + if (event.shiftKey && window.document.activeElement === firstFocusableElement) { + event.preventDefault(); + lastFocusableElement.focus(); + } else if (!event.shiftKey && window.document.activeElement === lastFocusableElement) { + event.preventDefault(); + firstFocusableElement.focus(); + } + } + } + }, + handleMenuFocusout(event) { + const { + modal + } = (0,interactivity_namespaceObject.getContext)(); + // If focus is outside modal, and in the document, close menu + // event.target === The element losing focus + // event.relatedTarget === The element receiving focus (if any) + // When focusout is outsite the document, + // `window.document.activeElement` doesn't change. + + // The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari. + if (event.relatedTarget === null || !modal?.contains(event.relatedTarget) && event.target !== window.document.activeElement) { + actions.closeMenu('click'); + actions.closeMenu('focus'); + } + }, + openMenu(menuOpenedOn = 'click') { + const { + type + } = (0,interactivity_namespaceObject.getContext)(); + state.menuOpenedBy[menuOpenedOn] = true; + if (type === 'overlay') { + // Add a `has-modal-open` class to the root. + document.documentElement.classList.add('has-modal-open'); + } + }, + closeMenu(menuClosedOn = 'click') { + const ctx = (0,interactivity_namespaceObject.getContext)(); + state.menuOpenedBy[menuClosedOn] = false; + // Check if the menu is still open or not. + if (!state.isMenuOpen) { + if (ctx.modal?.contains(window.document.activeElement)) { + ctx.previousFocus?.focus(); + } + ctx.modal = null; + ctx.previousFocus = null; + if (ctx.type === 'overlay') { + document.documentElement.classList.remove('has-modal-open'); + } + } + } + }, + callbacks: { + initMenu() { + const ctx = (0,interactivity_namespaceObject.getContext)(); + const { + ref + } = (0,interactivity_namespaceObject.getElement)(); + if (state.isMenuOpen) { + const focusableElements = ref.querySelectorAll(focusableSelectors); + ctx.modal = ref; + ctx.firstFocusableElement = focusableElements[0]; + ctx.lastFocusableElement = focusableElements[focusableElements.length - 1]; + } + }, + focusFirstElement() { + const { + ref + } = (0,interactivity_namespaceObject.getElement)(); + if (state.isMenuOpen) { + const focusableElements = ref.querySelectorAll(focusableSelectors); + focusableElements?.[0]?.focus(); + } + }, + initNav() { + const context = (0,interactivity_namespaceObject.getContext)(); + const mediaQuery = window.matchMedia(`(max-width: ${NAVIGATION_MOBILE_COLLAPSE})`); + + // Run once to set the initial state. + context.isCollapsed = mediaQuery.matches; + function handleCollapse(event) { + context.isCollapsed = event.matches; + } + + // Run on resize to update the state. + mediaQuery.addEventListener('change', handleCollapse); + + // Remove the listener when the component is unmounted. + return () => { + mediaQuery.removeEventListener('change', handleCollapse); + }; + } + } +}); diff --git a/wp-includes/blocks/navigation.min.js b/wp-includes/blocks/navigation.min.js new file mode 100644 index 0000000000..2fd6ed52ab --- /dev/null +++ b/wp-includes/blocks/navigation.min.js @@ -0,0 +1 @@ +import*as e from"@wordpress/interactivity";var t={d:function(e,n){for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},n=(e=>{var n={};return t.d(n,e),n})({getContext:()=>e.getContext,getElement:()=>e.getElement,store:()=>e.store});const o=["a[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","[contenteditable]",'[tabindex]:not([tabindex^="-"])'];document.addEventListener("click",(()=>{}));const{state:l,actions:c}=(0,n.store)("core/navigation",{state:{get roleAttribute(){return"overlay"===(0,n.getContext)().type&&l.isMenuOpen?"dialog":null},get ariaModal(){return"overlay"===(0,n.getContext)().type&&l.isMenuOpen?"true":null},get ariaLabel(){const e=(0,n.getContext)();return"overlay"===e.type&&l.isMenuOpen?e.ariaLabel:null},get isMenuOpen(){return Object.values(l.menuOpenedBy).filter(Boolean).length>0},get menuOpenedBy(){const e=(0,n.getContext)();return"overlay"===e.type?e.overlayOpenedBy:e.submenuOpenedBy}},actions:{openMenuOnHover(){const{type:e,overlayOpenedBy:t}=(0,n.getContext)();"submenu"===e&&0===Object.values(t||{}).filter(Boolean).length&&c.openMenu("hover")},closeMenuOnHover(){c.closeMenu("hover")},openMenuOnClick(){const e=(0,n.getContext)(),{ref:t}=(0,n.getElement)();e.previousFocus=t,c.openMenu("click")},closeMenuOnClick(){c.closeMenu("click"),c.closeMenu("focus")},openMenuOnFocus(){c.openMenu("focus")},toggleMenuOnClick(){const e=(0,n.getContext)(),{ref:t}=(0,n.getElement)();window.document.activeElement!==t&&t.focus();const{menuOpenedBy:o}=l;o.click||o.focus?(c.closeMenu("click"),c.closeMenu("focus")):(e.previousFocus=t,c.openMenu("click"))},handleMenuKeydown(e){const{type:t,firstFocusableElement:o,lastFocusableElement:s}=(0,n.getContext)();if(l.menuOpenedBy.click){if("Escape"===e?.key)return c.closeMenu("click"),void c.closeMenu("focus");"overlay"===t&&"Tab"===e.key&&(e.shiftKey&&window.document.activeElement===o?(e.preventDefault(),s.focus()):e.shiftKey||window.document.activeElement!==s||(e.preventDefault(),o.focus()))}},handleMenuFocusout(e){const{modal:t}=(0,n.getContext)();(null===e.relatedTarget||!t?.contains(e.relatedTarget)&&e.target!==window.document.activeElement)&&(c.closeMenu("click"),c.closeMenu("focus"))},openMenu(e="click"){const{type:t}=(0,n.getContext)();l.menuOpenedBy[e]=!0,"overlay"===t&&document.documentElement.classList.add("has-modal-open")},closeMenu(e="click"){const t=(0,n.getContext)();l.menuOpenedBy[e]=!1,l.isMenuOpen||(t.modal?.contains(window.document.activeElement)&&t.previousFocus?.focus(),t.modal=null,t.previousFocus=null,"overlay"===t.type&&document.documentElement.classList.remove("has-modal-open"))}},callbacks:{initMenu(){const e=(0,n.getContext)(),{ref:t}=(0,n.getElement)();if(l.isMenuOpen){const n=t.querySelectorAll(o);e.modal=t,e.firstFocusableElement=n[0],e.lastFocusableElement=n[n.length-1]}},focusFirstElement(){const{ref:e}=(0,n.getElement)();if(l.isMenuOpen){const t=e.querySelectorAll(o);t?.[0]?.focus()}},initNav(){const e=(0,n.getContext)(),t=window.matchMedia("(max-width: 600px)");function o(t){e.isCollapsed=t.matches}return e.isCollapsed=t.matches,t.addEventListener("change",o),()=>{t.removeEventListener("change",o)}}}}); \ No newline at end of file diff --git a/wp-includes/blocks/navigation.php b/wp-includes/blocks/navigation.php index 4d9fe4a08c..a0672a0bed 100644 --- a/wp-includes/blocks/navigation.php +++ b/wp-includes/blocks/navigation.php @@ -5,6 +5,648 @@ * @package WordPress */ +/** + * Helper functions used to render the navigation block. + */ +class WP_Navigation_Block_Renderer { + /** + * Used to determine which blocks are wrapped in an
  • . + * + * @var array + */ + private static $nav_blocks_wrapped_in_list_item = array( + 'core/navigation-link', + 'core/home-link', + 'core/site-title', + 'core/site-logo', + 'core/navigation-submenu', + ); + + /** + * Used to determine which blocks need an
  • wrapper. + * + * @var array + */ + private static $needs_list_item_wrapper = array( + 'core/site-title', + 'core/site-logo', + ); + + /** + * Keeps track of all the navigation names that have been seen. + * + * @var array + */ + private static $seen_menu_names = array(); + + /** + * Returns whether or not this is responsive navigation. + * + * @param array $attributes The block attributes. + * @return bool Returns whether or not this is responsive navigation. + */ + private static function is_responsive( $attributes ) { + /** + * This is for backwards compatibility after the `isResponsive` attribute was been removed. + */ + + $has_old_responsive_attribute = ! empty( $attributes['isResponsive'] ) && $attributes['isResponsive']; + return isset( $attributes['overlayMenu'] ) && 'never' !== $attributes['overlayMenu'] || $has_old_responsive_attribute; + } + + /** + * Returns whether or not a navigation has a submenu. + * + * @param WP_Block_List $inner_blocks The list of inner blocks. + * @return bool Returns whether or not a navigation has a submenu. + */ + private static function has_submenus( $inner_blocks ) { + foreach ( $inner_blocks as $inner_block ) { + $inner_block_content = $inner_block->render(); + $p = new WP_HTML_Tag_Processor( $inner_block_content ); + if ( $p->next_tag( + array( + 'name' => 'LI', + 'class_name' => 'has-child', + ) + ) ) { + return true; + } + } + return false; + } + + /** + * Determine whether the navigation blocks is interactive. + * + * @param array $attributes The block attributes. + * @param WP_Block_List $inner_blocks The list of inner blocks. + * @return bool Returns whether or not to load the view script. + */ + private static function is_interactive( $attributes, $inner_blocks ) { + $has_submenus = static::has_submenus( $inner_blocks ); + $is_responsive_menu = static::is_responsive( $attributes ); + return ( $has_submenus && ( $attributes['openSubmenusOnClick'] || $attributes['showSubmenuIcon'] ) ) || $is_responsive_menu; + } + + /** + * Returns whether or not a block needs a list item wrapper. + * + * @param WP_Block $block The block. + * @return bool Returns whether or not a block needs a list item wrapper. + */ + private static function does_block_need_a_list_item_wrapper( $block ) { + return in_array( $block->name, static::$needs_list_item_wrapper, true ); + } + + /** + * Returns the markup for a single inner block. + * + * @param WP_Block $inner_block The inner block. + * @return string Returns the markup for a single inner block. + */ + private static function get_markup_for_inner_block( $inner_block ) { + $inner_block_content = $inner_block->render(); + if ( ! empty( $inner_block_content ) ) { + if ( static::does_block_need_a_list_item_wrapper( $inner_block ) ) { + return '
  • ' . $inner_block_content . '
  • '; + } + + return $inner_block_content; + } + } + + /** + * Returns the html for the inner blocks of the navigation block. + * + * @param array $attributes The block attributes. + * @param WP_Block_List $inner_blocks The list of inner blocks. + * @return string Returns the html for the inner blocks of the navigation block. + */ + private static function get_inner_blocks_html( $attributes, $inner_blocks ) { + $has_submenus = static::has_submenus( $inner_blocks ); + $is_interactive = static::is_interactive( $attributes, $inner_blocks ); + + $style = static::get_styles( $attributes ); + $class = static::get_classes( $attributes ); + $container_attributes = get_block_wrapper_attributes( + array( + 'class' => 'wp-block-navigation__container ' . $class, + 'style' => $style, + ) + ); + + $inner_blocks_html = ''; + $is_list_open = false; + + foreach ( $inner_blocks as $inner_block ) { + $is_list_item = in_array( $inner_block->name, static::$nav_blocks_wrapped_in_list_item, true ); + + if ( $is_list_item && ! $is_list_open ) { + $is_list_open = true; + $inner_blocks_html .= sprintf( + '
      ', + $container_attributes + ); + } + + if ( ! $is_list_item && $is_list_open ) { + $is_list_open = false; + $inner_blocks_html .= '
    '; + } + + $inner_blocks_html .= static::get_markup_for_inner_block( $inner_block ); + } + + if ( $is_list_open ) { + $inner_blocks_html .= ''; + } + + // Add directives to the submenu if needed. + if ( $has_submenus && $is_interactive ) { + $tags = new WP_HTML_Tag_Processor( $inner_blocks_html ); + $inner_blocks_html = block_core_navigation_add_directives_to_submenu( $tags, $attributes ); + } + + return $inner_blocks_html; + } + + /** + * Gets the inner blocks for the navigation block from the navigation post. + * + * @param array $attributes The block attributes. + * @return WP_Block_List Returns the inner blocks for the navigation block. + */ + private static function get_inner_blocks_from_navigation_post( $attributes ) { + $navigation_post = get_post( $attributes['ref'] ); + if ( ! isset( $navigation_post ) ) { + return new WP_Block_List( array(), $attributes ); + } + + // Only published posts are valid. If this is changed then a corresponding change + // must also be implemented in `use-navigation-menu.js`. + if ( 'publish' === $navigation_post->post_status ) { + $parsed_blocks = parse_blocks( $navigation_post->post_content ); + + // 'parse_blocks' includes a null block with '\n\n' as the content when + // it encounters whitespace. This code strips it. + $blocks = block_core_navigation_filter_out_empty_blocks( $parsed_blocks ); + + if ( function_exists( 'get_hooked_blocks' ) ) { + // Run Block Hooks algorithm to inject hooked blocks. + $markup = block_core_navigation_insert_hooked_blocks( $blocks, $navigation_post ); + $root_nav_block = parse_blocks( $markup )[0]; + + $blocks = isset( $root_nav_block['innerBlocks'] ) ? $root_nav_block['innerBlocks'] : $blocks; + } + + // TODO - this uses the full navigation block attributes for the + // context which could be refined. + return new WP_Block_List( $blocks, $attributes ); + } + } + + /** + * Gets the inner blocks for the navigation block from the fallback. + * + * @param array $attributes The block attributes. + * @return WP_Block_List Returns the inner blocks for the navigation block. + */ + private static function get_inner_blocks_from_fallback( $attributes ) { + $fallback_blocks = block_core_navigation_get_fallback_blocks(); + + // Fallback my have been filtered so do basic test for validity. + if ( empty( $fallback_blocks ) || ! is_array( $fallback_blocks ) ) { + return new WP_Block_List( array(), $attributes ); + } + + return new WP_Block_List( $fallback_blocks, $attributes ); + } + + /** + * Gets the inner blocks for the navigation block. + * + * @param array $attributes The block attributes. + * @param WP_Block $block The parsed block. + * @return WP_Block_List Returns the inner blocks for the navigation block. + */ + private static function get_inner_blocks( $attributes, $block ) { + $inner_blocks = $block->inner_blocks; + + // Ensure that blocks saved with the legacy ref attribute name (navigationMenuId) continue to render. + if ( array_key_exists( 'navigationMenuId', $attributes ) ) { + $attributes['ref'] = $attributes['navigationMenuId']; + } + + // If: + // - the gutenberg plugin is active + // - `__unstableLocation` is defined + // - we have menu items at the defined location + // - we don't have a relationship to a `wp_navigation` Post (via `ref`). + // ...then create inner blocks from the classic menu assigned to that location. + if ( + defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN && + array_key_exists( '__unstableLocation', $attributes ) && + ! array_key_exists( 'ref', $attributes ) && + ! empty( block_core_navigation_get_menu_items_at_location( $attributes['__unstableLocation'] ) ) + ) { + $inner_blocks = block_core_navigation_get_inner_blocks_from_unstable_location( $attributes ); + } + + // Load inner blocks from the navigation post. + if ( array_key_exists( 'ref', $attributes ) ) { + $inner_blocks = static::get_inner_blocks_from_navigation_post( $attributes ); + } + + // If there are no inner blocks then fallback to rendering an appropriate fallback. + if ( empty( $inner_blocks ) ) { + $inner_blocks = static::get_inner_blocks_from_fallback( $attributes ); + } + + /** + * Filter navigation block $inner_blocks. + * Allows modification of a navigation block menu items. + * + * @since 6.1.0 + * + * @param \WP_Block_List $inner_blocks + */ + $inner_blocks = apply_filters( 'block_core_navigation_render_inner_blocks', $inner_blocks ); + + $post_ids = block_core_navigation_get_post_ids( $inner_blocks ); + if ( $post_ids ) { + _prime_post_caches( $post_ids, false, false ); + } + + return $inner_blocks; + } + + /** + * Gets the name of the current navigation, if it has one. + * + * @param array $attributes The block attributes. + * @return string Returns the name of the navigation. + */ + private static function get_navigation_name( $attributes ) { + + $navigation_name = $attributes['ariaLabel'] ?? ''; + + // Load the navigation post. + if ( array_key_exists( 'ref', $attributes ) ) { + $navigation_post = get_post( $attributes['ref'] ); + if ( ! isset( $navigation_post ) ) { + return $navigation_name; + } + + // Only published posts are valid. If this is changed then a corresponding change + // must also be implemented in `use-navigation-menu.js`. + if ( 'publish' === $navigation_post->post_status ) { + $navigation_name = $navigation_post->post_title; + + // This is used to count the number of times a navigation name has been seen, + // so that we can ensure every navigation has a unique id. + if ( isset( static::$seen_menu_names[ $navigation_name ] ) ) { + ++static::$seen_menu_names[ $navigation_name ]; + } else { + static::$seen_menu_names[ $navigation_name ] = 1; + } + } + } + + return $navigation_name; + } + + /** + * Returns the layout class for the navigation block. + * + * @param array $attributes The block attributes. + * @return string Returns the layout class for the navigation block. + */ + private static function get_layout_class( $attributes ) { + $layout_justification = array( + 'left' => 'items-justified-left', + 'right' => 'items-justified-right', + 'center' => 'items-justified-center', + 'space-between' => 'items-justified-space-between', + ); + + $layout_class = ''; + if ( + isset( $attributes['layout']['justifyContent'] ) && + isset( $layout_justification[ $attributes['layout']['justifyContent'] ] ) + ) { + $layout_class .= $layout_justification[ $attributes['layout']['justifyContent'] ]; + } + if ( isset( $attributes['layout']['orientation'] ) && 'vertical' === $attributes['layout']['orientation'] ) { + $layout_class .= ' is-vertical'; + } + + if ( isset( $attributes['layout']['flexWrap'] ) && 'nowrap' === $attributes['layout']['flexWrap'] ) { + $layout_class .= ' no-wrap'; + } + return $layout_class; + } + + /** + * Return classes for the navigation block. + * + * @param array $attributes The block attributes. + * @return string Returns the classes for the navigation block. + */ + private static function get_classes( $attributes ) { + // Restore legacy classnames for submenu positioning. + $layout_class = static::get_layout_class( $attributes ); + $colors = block_core_navigation_build_css_colors( $attributes ); + $font_sizes = block_core_navigation_build_css_font_sizes( $attributes ); + $is_responsive_menu = static::is_responsive( $attributes ); + + // Manually add block support text decoration as CSS class. + $text_decoration = $attributes['style']['typography']['textDecoration'] ?? null; + $text_decoration_class = sprintf( 'has-text-decoration-%s', $text_decoration ); + + // Sets the is-collapsed class when the navigation is set to always use the overlay. + // This saves us from needing to do this check in the view.js file (see the collapseNav function). + $is_collapsed_class = static::is_always_overlay( $attributes ) ? array( 'is-collapsed' ) : array(); + + $classes = array_merge( + $colors['css_classes'], + $font_sizes['css_classes'], + $is_responsive_menu ? array( 'is-responsive' ) : array(), + $layout_class ? array( $layout_class ) : array(), + $text_decoration ? array( $text_decoration_class ) : array(), + $is_collapsed_class + ); + return implode( ' ', $classes ); + } + + private static function is_always_overlay( $attributes ) { + return isset( $attributes['overlayMenu'] ) && 'always' === $attributes['overlayMenu']; + } + + /** + * Get styles for the navigation block. + * + * @param array $attributes The block attributes. + * @return string Returns the styles for the navigation block. + */ + private static function get_styles( $attributes ) { + $colors = block_core_navigation_build_css_colors( $attributes ); + $font_sizes = block_core_navigation_build_css_font_sizes( $attributes ); + $block_styles = isset( $attributes['styles'] ) ? $attributes['styles'] : ''; + return $block_styles . $colors['inline_styles'] . $font_sizes['inline_styles']; + } + + /** + * Get the responsive container markup + * + * @param array $attributes The block attributes. + * @param WP_Block_List $inner_blocks The list of inner blocks. + * @param string $inner_blocks_html The markup for the inner blocks. + * @return string Returns the container markup. + */ + private static function get_responsive_container_markup( $attributes, $inner_blocks, $inner_blocks_html ) { + $is_interactive = static::is_interactive( $attributes, $inner_blocks ); + $colors = block_core_navigation_build_css_colors( $attributes ); + $modal_unique_id = wp_unique_id( 'modal-' ); + + $responsive_container_classes = array( + 'wp-block-navigation__responsive-container', + implode( ' ', $colors['overlay_css_classes'] ), + ); + $open_button_classes = array( + 'wp-block-navigation__responsive-container-open', + ); + + $should_display_icon_label = isset( $attributes['hasIcon'] ) && true === $attributes['hasIcon']; + $toggle_button_icon = ''; + if ( isset( $attributes['icon'] ) ) { + if ( 'menu' === $attributes['icon'] ) { + $toggle_button_icon = ''; + } + } + $toggle_button_content = $should_display_icon_label ? $toggle_button_icon : __( 'Menu' ); + $toggle_close_button_icon = ''; + $toggle_close_button_content = $should_display_icon_label ? $toggle_close_button_icon : __( 'Close' ); + $toggle_aria_label_open = $should_display_icon_label ? 'aria-label="' . __( 'Open menu' ) . '"' : ''; // Open button label. + $toggle_aria_label_close = $should_display_icon_label ? 'aria-label="' . __( 'Close menu' ) . '"' : ''; // Close button label. + + // Add Interactivity API directives to the markup if needed. + $open_button_directives = ''; + $responsive_container_directives = ''; + $responsive_dialog_directives = ''; + $close_button_directives = ''; + if ( $is_interactive ) { + $open_button_directives = ' + data-wp-on--click="actions.openMenuOnClick" + data-wp-on--keydown="actions.handleMenuKeydown" + '; + $responsive_container_directives = ' + data-wp-class--has-modal-open="state.isMenuOpen" + data-wp-class--is-menu-open="state.isMenuOpen" + data-wp-watch="callbacks.initMenu" + data-wp-on--keydown="actions.handleMenuKeydown" + data-wp-on--focusout="actions.handleMenuFocusout" + tabindex="-1" + '; + $responsive_dialog_directives = ' + data-wp-bind--aria-modal="state.ariaModal" + data-wp-bind--aria-label="state.ariaLabel" + data-wp-bind--role="state.roleAttribute" + '; + $close_button_directives = ' + data-wp-on--click="actions.closeMenuOnClick" + '; + $responsive_container_content_directives = ' + data-wp-watch="callbacks.focusFirstElement" + '; + } + + return sprintf( + ' +
    +
    +
    + +
    + %2$s +
    +
    +
    +
    ', + esc_attr( $modal_unique_id ), + $inner_blocks_html, + $toggle_aria_label_open, + $toggle_aria_label_close, + esc_attr( implode( ' ', $responsive_container_classes ) ), + esc_attr( implode( ' ', $open_button_classes ) ), + esc_attr( safecss_filter_attr( $colors['overlay_inline_styles'] ) ), + $toggle_button_content, + $toggle_close_button_content, + $open_button_directives, + $responsive_container_directives, + $responsive_dialog_directives, + $close_button_directives, + $responsive_container_content_directives + ); + } + + /** + * Get the wrapper attributes + * + * @param array $attributes The block attributes. + * @param WP_Block_List $inner_blocks A list of inner blocks. + * @return string Returns the navigation block markup. + */ + private static function get_nav_wrapper_attributes( $attributes, $inner_blocks ) { + $nav_menu_name = static::get_unique_navigation_name( $attributes ); + $is_interactive = static::is_interactive( $attributes, $inner_blocks ); + $is_responsive_menu = static::is_responsive( $attributes ); + $style = static::get_styles( $attributes ); + $class = static::get_classes( $attributes ); + $wrapper_attributes = get_block_wrapper_attributes( + array( + 'class' => $class, + 'style' => $style, + 'aria-label' => $nav_menu_name, + ) + ); + + if ( $is_responsive_menu ) { + $nav_element_directives = static::get_nav_element_directives( $is_interactive, $attributes ); + $wrapper_attributes .= ' ' . $nav_element_directives; + } + + return $wrapper_attributes; + } + + /** + * Gets the nav element directives. + * + * @param bool $is_interactive Whether the block is interactive. + * @param array $attributes The block attributes. + * @return string the directives for the navigation element. + */ + private static function get_nav_element_directives( $is_interactive, $attributes ) { + if ( ! $is_interactive ) { + return ''; + } + // When adding to this array be mindful of security concerns. + $nav_element_context = wp_json_encode( + array( + 'overlayOpenedBy' => array(), + 'type' => 'overlay', + 'roleAttribute' => '', + 'ariaLabel' => __( 'Menu' ), + ), + JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP + ); + $nav_element_directives = ' + data-wp-interactive=\'{"namespace":"core/navigation"}\' + data-wp-context=\'' . $nav_element_context . '\' + '; + + /* + * When the navigation's 'overlayMenu' attribute is set to 'always', JavaScript + * is not needed for collapsing the menu because the class is set manually. + */ + if ( ! static::is_always_overlay( $attributes ) ) { + $nav_element_directives .= 'data-wp-init="callbacks.initNav"'; + $nav_element_directives .= ' '; // space separator + $nav_element_directives .= 'data-wp-class--is-collapsed="context.isCollapsed"'; + } + + return $nav_element_directives; + } + + /** + * Handle view script module loading. + * + * @param array $attributes The block attributes. + * @param WP_Block $block The parsed block. + * @param WP_Block_List $inner_blocks The list of inner blocks. + */ + private static function handle_view_script_module_loading( $attributes, $block, $inner_blocks ) { + if ( static::is_interactive( $attributes, $inner_blocks ) ) { + wp_enqueue_script_module( '@wordpress/block-library/navigation' ); + } + } + + /** + * Returns the markup for the navigation block. + * + * @param array $attributes The block attributes. + * @param WP_Block_List $inner_blocks The list of inner blocks. + * @return string Returns the navigation wrapper markup. + */ + private static function get_wrapper_markup( $attributes, $inner_blocks ) { + $inner_blocks_html = static::get_inner_blocks_html( $attributes, $inner_blocks ); + if ( static::is_responsive( $attributes ) ) { + return static::get_responsive_container_markup( $attributes, $inner_blocks, $inner_blocks_html ); + } + return $inner_blocks_html; + } + + /** + * Returns a unique name for the navigation. + * + * @param array $attributes The block attributes. + * @return string Returns a unique name for the navigation. + */ + private static function get_unique_navigation_name( $attributes ) { + $nav_menu_name = static::get_navigation_name( $attributes ); + + // If the menu name has been used previously then append an ID + // to the name to ensure uniqueness across a given post. + if ( isset( static::$seen_menu_names[ $nav_menu_name ] ) && static::$seen_menu_names[ $nav_menu_name ] > 1 ) { + $count = static::$seen_menu_names[ $nav_menu_name ]; + $nav_menu_name = $nav_menu_name . ' ' . ( $count ); + } + + return $nav_menu_name; + } + + /** + * Renders the navigation block. + * + * @param array $attributes The block attributes. + * @param string $content The saved content. + * @param WP_Block $block The parsed block. + * @return string Returns the navigation block markup. + */ + public static function render( $attributes, $content, $block ) { + /** + * Deprecated: + * The rgbTextColor and rgbBackgroundColor attributes + * have been deprecated in favor of + * customTextColor and customBackgroundColor ones. + * Move the values from old attrs to the new ones. + */ + if ( isset( $attributes['rgbTextColor'] ) && empty( $attributes['textColor'] ) ) { + $attributes['customTextColor'] = $attributes['rgbTextColor']; + } + + if ( isset( $attributes['rgbBackgroundColor'] ) && empty( $attributes['backgroundColor'] ) ) { + $attributes['customBackgroundColor'] = $attributes['rgbBackgroundColor']; + } + + unset( $attributes['rgbTextColor'], $attributes['rgbBackgroundColor'] ); + + $inner_blocks = static::get_inner_blocks( $attributes, $block ); + // Prevent navigation blocks referencing themselves from rendering. + if ( block_core_navigation_block_contains_core_navigation( $inner_blocks ) ) { + return ''; + } + + static::handle_view_script_module_loading( $attributes, $block, $inner_blocks ); + + return sprintf( + '', + static::get_nav_wrapper_attributes( $attributes, $inner_blocks ), + static::get_wrapper_markup( $attributes, $inner_blocks ) + ); + } +} + // These functions are used for the __unstableLocation feature and only active // when the gutenberg plugin is active. if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) { @@ -65,68 +707,84 @@ if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) { return $menu_items_by_parent_id; } -} + /** + * Gets the inner blocks for the navigation block from the unstable location attribute. + * + * @param array $attributes The block attributes. + * @return WP_Block_List Returns the inner blocks for the navigation block. + */ + function block_core_navigation_get_inner_blocks_from_unstable_location( $attributes ) { + $menu_items = block_core_navigation_get_menu_items_at_location( $attributes['__unstableLocation'] ); + if ( empty( $menu_items ) ) { + return new WP_Block_List( array(), $attributes ); + } + + $menu_items_by_parent_id = block_core_navigation_sort_menu_items_by_parent_id( $menu_items ); + $parsed_blocks = block_core_navigation_parse_blocks_from_menu_items( $menu_items_by_parent_id[0], $menu_items_by_parent_id ); + return new WP_Block_List( $parsed_blocks, $attributes ); + } +} /** * Add Interactivity API directives to the navigation-submenu and page-list * blocks markup using the Tag Processor. * - * @param string $w Markup of the navigation block. - * @param array $block_attributes Block attributes. + * @param WP_HTML_Tag_Processor $tags Markup of the navigation block. + * @param array $block_attributes Block attributes. * * @return string Submenu markup with the directives injected. */ -function block_core_navigation_add_directives_to_submenu( $w, $block_attributes ) { - while ( $w->next_tag( +function block_core_navigation_add_directives_to_submenu( $tags, $block_attributes ) { + while ( $tags->next_tag( array( 'tag_name' => 'LI', 'class_name' => 'has-child', ) ) ) { // Add directives to the parent `
  • `. - $w->set_attribute( 'data-wp-interactive', true ); - $w->set_attribute( 'data-wp-context', '{ "core": { "navigation": { "submenuOpenedBy": {}, "type": "submenu" } } }' ); - $w->set_attribute( 'data-wp-effect', 'effects.core.navigation.initMenu' ); - $w->set_attribute( 'data-wp-on--focusout', 'actions.core.navigation.handleMenuFocusout' ); - $w->set_attribute( 'data-wp-on--keydown', 'actions.core.navigation.handleMenuKeydown' ); + $tags->set_attribute( 'data-wp-interactive', '{ "namespace": "core/navigation" }' ); + $tags->set_attribute( 'data-wp-context', '{ "submenuOpenedBy": {}, "type": "submenu" }' ); + $tags->set_attribute( 'data-wp-watch', 'callbacks.initMenu' ); + $tags->set_attribute( 'data-wp-on--focusout', 'actions.handleMenuFocusout' ); + $tags->set_attribute( 'data-wp-on--keydown', 'actions.handleMenuKeydown' ); // This is a fix for Safari. Without it, Safari doesn't change the active // element when the user clicks on a button. It can be removed once we add // an overlay to capture the clicks, instead of relying on the focusout // event. - $w->set_attribute( 'tabindex', '-1' ); + $tags->set_attribute( 'tabindex', '-1' ); if ( ! isset( $block_attributes['openSubmenusOnClick'] ) || false === $block_attributes['openSubmenusOnClick'] ) { - $w->set_attribute( 'data-wp-on--mouseenter', 'actions.core.navigation.openMenuOnHover' ); - $w->set_attribute( 'data-wp-on--mouseleave', 'actions.core.navigation.closeMenuOnHover' ); + $tags->set_attribute( 'data-wp-on--mouseenter', 'actions.openMenuOnHover' ); + $tags->set_attribute( 'data-wp-on--mouseleave', 'actions.closeMenuOnHover' ); } // Add directives to the toggle submenu button. - if ( $w->next_tag( + if ( $tags->next_tag( array( 'tag_name' => 'BUTTON', 'class_name' => 'wp-block-navigation-submenu__toggle', ) ) ) { - $w->set_attribute( 'data-wp-on--click', 'actions.core.navigation.toggleMenuOnClick' ); - $w->set_attribute( 'data-wp-bind--aria-expanded', 'selectors.core.navigation.isMenuOpen' ); + $tags->set_attribute( 'data-wp-on--click', 'actions.toggleMenuOnClick' ); + $tags->set_attribute( 'data-wp-bind--aria-expanded', 'state.isMenuOpen' ); // The `aria-expanded` attribute for SSR is already added in the submenu block. } // Add directives to the submenu. - if ( $w->next_tag( + if ( $tags->next_tag( array( 'tag_name' => 'UL', 'class_name' => 'wp-block-navigation__submenu-container', ) ) ) { - $w->set_attribute( 'data-wp-on--focus', 'actions.core.navigation.openMenuOnFocus' ); + $tags->set_attribute( 'data-wp-on--focus', 'actions.openMenuOnFocus' ); } // Iterate through subitems if exist. - block_core_navigation_add_directives_to_submenu( $w, $block_attributes ); + block_core_navigation_add_directives_to_submenu( $tags, $block_attributes ); } - return $w->get_updated_html(); + return $tags->get_updated_html(); } /** @@ -333,6 +991,17 @@ function block_core_navigation_get_fallback_blocks() { // Normalizing blocks may result in an empty array of blocks if they were all `null` blocks. // In this case default to the (Page List) fallback. $fallback_blocks = ! empty( $maybe_fallback ) ? $maybe_fallback : $fallback_blocks; + + if ( function_exists( 'get_hooked_blocks' ) ) { + // Run Block Hooks algorithm to inject hooked blocks. + // We have to run it here because we need the post ID of the Navigation block to track ignored hooked blocks. + $markup = block_core_navigation_insert_hooked_blocks( $fallback_blocks, $navigation_post ); + $blocks = parse_blocks( $markup ); + + if ( isset( $blocks[0]['innerBlocks'] ) ) { + $fallback_blocks = $blocks[0]['innerBlocks']; + } + } } /** @@ -344,7 +1013,7 @@ function block_core_navigation_get_fallback_blocks() { * * @since 5.9.0 * - * @param array[] default fallback blocks provided by the default block mechanic. + * @param array[] $fallback_blocks default fallback blocks provided by the default block mechanic. */ return apply_filters( 'block_core_navigation_render_fallback', $fallback_blocks ); } @@ -391,391 +1060,10 @@ function block_core_navigation_from_block_get_post_ids( $block ) { * @param string $content The saved content. * @param WP_Block $block The parsed block. * - * @return string Returns the post content with the legacy widget added. + * @return string Returns the navigation block markup. */ function render_block_core_navigation( $attributes, $content, $block ) { - static $seen_menu_names = array(); - - // Flag used to indicate whether the rendered output is considered to be - // a fallback (i.e. the block has no menu associated with it). - $is_fallback = false; - - $nav_menu_name = $attributes['ariaLabel'] ?? ''; - - /** - * Deprecated: - * The rgbTextColor and rgbBackgroundColor attributes - * have been deprecated in favor of - * customTextColor and customBackgroundColor ones. - * Move the values from old attrs to the new ones. - */ - if ( isset( $attributes['rgbTextColor'] ) && empty( $attributes['textColor'] ) ) { - $attributes['customTextColor'] = $attributes['rgbTextColor']; - } - - if ( isset( $attributes['rgbBackgroundColor'] ) && empty( $attributes['backgroundColor'] ) ) { - $attributes['customBackgroundColor'] = $attributes['rgbBackgroundColor']; - } - - unset( $attributes['rgbTextColor'], $attributes['rgbBackgroundColor'] ); - - /** - * This is for backwards compatibility after `isResponsive` attribute has been removed. - */ - $has_old_responsive_attribute = ! empty( $attributes['isResponsive'] ) && $attributes['isResponsive']; - $is_responsive_menu = isset( $attributes['overlayMenu'] ) && 'never' !== $attributes['overlayMenu'] || $has_old_responsive_attribute; - - $inner_blocks = $block->inner_blocks; - - // Ensure that blocks saved with the legacy ref attribute name (navigationMenuId) continue to render. - if ( array_key_exists( 'navigationMenuId', $attributes ) ) { - $attributes['ref'] = $attributes['navigationMenuId']; - } - - // If: - // - the gutenberg plugin is active - // - `__unstableLocation` is defined - // - we have menu items at the defined location - // - we don't have a relationship to a `wp_navigation` Post (via `ref`). - // ...then create inner blocks from the classic menu assigned to that location. - if ( - defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN && - array_key_exists( '__unstableLocation', $attributes ) && - ! array_key_exists( 'ref', $attributes ) && - ! empty( block_core_navigation_get_menu_items_at_location( $attributes['__unstableLocation'] ) ) - ) { - $menu_items = block_core_navigation_get_menu_items_at_location( $attributes['__unstableLocation'] ); - if ( empty( $menu_items ) ) { - return ''; - } - - $menu_items_by_parent_id = block_core_navigation_sort_menu_items_by_parent_id( $menu_items ); - $parsed_blocks = block_core_navigation_parse_blocks_from_menu_items( $menu_items_by_parent_id[0], $menu_items_by_parent_id ); - $inner_blocks = new WP_Block_List( $parsed_blocks, $attributes ); - } - - // Load inner blocks from the navigation post. - if ( array_key_exists( 'ref', $attributes ) ) { - $navigation_post = get_post( $attributes['ref'] ); - if ( ! isset( $navigation_post ) ) { - return ''; - } - - // Only published posts are valid. If this is changed then a corresponding change - // must also be implemented in `use-navigation-menu.js`. - if ( 'publish' === $navigation_post->post_status ) { - $nav_menu_name = $navigation_post->post_title; - - if ( isset( $seen_menu_names[ $nav_menu_name ] ) ) { - ++$seen_menu_names[ $nav_menu_name ]; - } else { - $seen_menu_names[ $nav_menu_name ] = 1; - } - - $parsed_blocks = parse_blocks( $navigation_post->post_content ); - - // 'parse_blocks' includes a null block with '\n\n' as the content when - // it encounters whitespace. This code strips it. - $compacted_blocks = block_core_navigation_filter_out_empty_blocks( $parsed_blocks ); - - // TODO - this uses the full navigation block attributes for the - // context which could be refined. - $inner_blocks = new WP_Block_List( $compacted_blocks, $attributes ); - } - } - - // If there are no inner blocks then fallback to rendering an appropriate fallback. - if ( empty( $inner_blocks ) ) { - $is_fallback = true; // indicate we are rendering the fallback. - - $fallback_blocks = block_core_navigation_get_fallback_blocks(); - - // Fallback my have been filtered so do basic test for validity. - if ( empty( $fallback_blocks ) || ! is_array( $fallback_blocks ) ) { - return ''; - } - - $inner_blocks = new WP_Block_List( $fallback_blocks, $attributes ); - } - - if ( block_core_navigation_block_contains_core_navigation( $inner_blocks ) ) { - return ''; - } - - /** - * Filter navigation block $inner_blocks. - * Allows modification of a navigation block menu items. - * - * @since 6.1.0 - * - * @param \WP_Block_List $inner_blocks - */ - $inner_blocks = apply_filters( 'block_core_navigation_render_inner_blocks', $inner_blocks ); - - $layout_justification = array( - 'left' => 'items-justified-left', - 'right' => 'items-justified-right', - 'center' => 'items-justified-center', - 'space-between' => 'items-justified-space-between', - ); - - // Restore legacy classnames for submenu positioning. - $layout_class = ''; - if ( - isset( $attributes['layout']['justifyContent'] ) && - isset( $layout_justification[ $attributes['layout']['justifyContent'] ] ) - ) { - $layout_class .= $layout_justification[ $attributes['layout']['justifyContent'] ]; - } - if ( isset( $attributes['layout']['orientation'] ) && 'vertical' === $attributes['layout']['orientation'] ) { - $layout_class .= ' is-vertical'; - } - - if ( isset( $attributes['layout']['flexWrap'] ) && 'nowrap' === $attributes['layout']['flexWrap'] ) { - $layout_class .= ' no-wrap'; - } - - // Manually add block support text decoration as CSS class. - $text_decoration = $attributes['style']['typography']['textDecoration'] ?? null; - $text_decoration_class = sprintf( 'has-text-decoration-%s', $text_decoration ); - - $colors = block_core_navigation_build_css_colors( $attributes ); - $font_sizes = block_core_navigation_build_css_font_sizes( $attributes ); - $classes = array_merge( - $colors['css_classes'], - $font_sizes['css_classes'], - $is_responsive_menu ? array( 'is-responsive' ) : array(), - $layout_class ? array( $layout_class ) : array(), - $is_fallback ? array( 'is-fallback' ) : array(), - $text_decoration ? array( $text_decoration_class ) : array() - ); - - $post_ids = block_core_navigation_get_post_ids( $inner_blocks ); - if ( $post_ids ) { - _prime_post_caches( $post_ids, false, false ); - } - - $list_item_nav_blocks = array( - 'core/navigation-link', - 'core/home-link', - 'core/site-title', - 'core/site-logo', - 'core/navigation-submenu', - ); - - $needs_list_item_wrapper = array( - 'core/site-title', - 'core/site-logo', - ); - - $block_styles = isset( $attributes['styles'] ) ? $attributes['styles'] : ''; - $style = $block_styles . $colors['inline_styles'] . $font_sizes['inline_styles']; - $class = implode( ' ', $classes ); - - // If the menu name has been used previously then append an ID - // to the name to ensure uniqueness across a given post. - if ( isset( $seen_menu_names[ $nav_menu_name ] ) && $seen_menu_names[ $nav_menu_name ] > 1 ) { - $count = $seen_menu_names[ $nav_menu_name ]; - $nav_menu_name = $nav_menu_name . ' ' . ( $count ); - } - - $wrapper_attributes = get_block_wrapper_attributes( - array( - 'class' => $class, - 'style' => $style, - 'aria-label' => $nav_menu_name, - ) - ); - - $container_attributes = get_block_wrapper_attributes( - array( - 'class' => 'wp-block-navigation__container ' . $class, - 'style' => $style, - ) - ); - - $inner_blocks_html = ''; - $is_list_open = false; - $has_submenus = false; - foreach ( $inner_blocks as $inner_block ) { - $is_list_item = in_array( $inner_block->name, $list_item_nav_blocks, true ); - - if ( $is_list_item && ! $is_list_open ) { - $is_list_open = true; - $inner_blocks_html .= sprintf( - '
      ', - $container_attributes - ); - } - - if ( ! $is_list_item && $is_list_open ) { - $is_list_open = false; - $inner_blocks_html .= '
    '; - } - - $inner_block_content = $inner_block->render(); - $p = new WP_HTML_Tag_Processor( $inner_block_content ); - if ( $p->next_tag( - array( - 'name' => 'LI', - 'class_name' => 'has-child', - ) - ) ) { - $has_submenus = true; - } - if ( ! empty( $inner_block_content ) ) { - if ( in_array( $inner_block->name, $needs_list_item_wrapper, true ) ) { - $inner_blocks_html .= '
  • ' . $inner_block_content . '
  • '; - } else { - $inner_blocks_html .= $inner_block_content; - } - } - } - - if ( $is_list_open ) { - $inner_blocks_html .= ''; - } - - $should_load_view_script = ( $has_submenus && ( $attributes['openSubmenusOnClick'] || $attributes['showSubmenuIcon'] ) ) || $is_responsive_menu; - $view_js_file = 'wp-block-navigation-view'; - - // If the script already exists, there is no point in removing it from viewScript. - if ( ! wp_script_is( $view_js_file ) ) { - $script_handles = $block->block_type->view_script_handles; - - // If the script is not needed, and it is still in the `view_script_handles`, remove it. - if ( ! $should_load_view_script && in_array( $view_js_file, $script_handles, true ) ) { - $block->block_type->view_script_handles = array_diff( $script_handles, array( $view_js_file ) ); - } - // If the script is needed, but it was previously removed, add it again. - if ( $should_load_view_script && ! in_array( $view_js_file, $script_handles, true ) ) { - $block->block_type->view_script_handles = array_merge( $script_handles, array( $view_js_file ) ); - } - } - - // Add directives to the submenu if needed. - if ( $has_submenus && $should_load_view_script ) { - $w = new WP_HTML_Tag_Processor( $inner_blocks_html ); - $inner_blocks_html = block_core_navigation_add_directives_to_submenu( $w, $attributes ); - } - - $modal_unique_id = wp_unique_id( 'modal-' ); - - // Determine whether or not navigation elements should be wrapped in the markup required to make it responsive, - // return early if they don't. - if ( ! $is_responsive_menu ) { - return sprintf( - '', - $wrapper_attributes, - $inner_blocks_html - ); - } - - $is_hidden_by_default = isset( $attributes['overlayMenu'] ) && 'always' === $attributes['overlayMenu']; - - $responsive_container_classes = array( - 'wp-block-navigation__responsive-container', - $is_hidden_by_default ? 'hidden-by-default' : '', - implode( ' ', $colors['overlay_css_classes'] ), - ); - $open_button_classes = array( - 'wp-block-navigation__responsive-container-open', - $is_hidden_by_default ? 'always-shown' : '', - ); - - $should_display_icon_label = isset( $attributes['hasIcon'] ) && true === $attributes['hasIcon']; - $toggle_button_icon = ''; - if ( isset( $attributes['icon'] ) ) { - if ( 'menu' === $attributes['icon'] ) { - $toggle_button_icon = ''; - } - } - $toggle_button_content = $should_display_icon_label ? $toggle_button_icon : __( 'Menu' ); - $toggle_close_button_icon = ''; - $toggle_close_button_content = $should_display_icon_label ? $toggle_close_button_icon : __( 'Close' ); - $toggle_aria_label_open = $should_display_icon_label ? 'aria-label="' . __( 'Open menu' ) . '"' : ''; // Open button label. - $toggle_aria_label_close = $should_display_icon_label ? 'aria-label="' . __( 'Close menu' ) . '"' : ''; // Close button label. - - // Add Interactivity API directives to the markup if needed. - $nav_element_directives = ''; - $open_button_directives = ''; - $responsive_container_directives = ''; - $responsive_dialog_directives = ''; - $close_button_directives = ''; - if ( $should_load_view_script ) { - $nav_element_context = wp_json_encode( - array( - 'core' => array( - 'navigation' => array( - 'overlayOpenedBy' => array(), - 'type' => 'overlay', - 'roleAttribute' => '', - 'ariaLabel' => __( 'Menu' ), - ), - ), - ), - JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP - ); - $nav_element_directives = ' - data-wp-interactive - data-wp-context=\'' . $nav_element_context . '\' - '; - $open_button_directives = ' - data-wp-on--click="actions.core.navigation.openMenuOnClick" - data-wp-on--keydown="actions.core.navigation.handleMenuKeydown" - '; - $responsive_container_directives = ' - data-wp-class--has-modal-open="selectors.core.navigation.isMenuOpen" - data-wp-class--is-menu-open="selectors.core.navigation.isMenuOpen" - data-wp-effect="effects.core.navigation.initMenu" - data-wp-on--keydown="actions.core.navigation.handleMenuKeydown" - data-wp-on--focusout="actions.core.navigation.handleMenuFocusout" - tabindex="-1" - '; - $responsive_dialog_directives = ' - data-wp-bind--aria-modal="selectors.core.navigation.ariaModal" - data-wp-bind--aria-label="selectors.core.navigation.ariaLabel" - data-wp-bind--role="selectors.core.navigation.roleAttribute" - data-wp-effect="effects.core.navigation.focusFirstElement" - '; - $close_button_directives = ' - data-wp-on--click="actions.core.navigation.closeMenuOnClick" - '; - } - - $responsive_container_markup = sprintf( - ' -
    -
    -
    - -
    - %2$s -
    -
    -
    -
    ', - esc_attr( $modal_unique_id ), - $inner_blocks_html, - $toggle_aria_label_open, - $toggle_aria_label_close, - esc_attr( implode( ' ', $responsive_container_classes ) ), - esc_attr( implode( ' ', $open_button_classes ) ), - esc_attr( safecss_filter_attr( $colors['overlay_inline_styles'] ) ), - $toggle_button_content, - $toggle_close_button_content, - $open_button_directives, - $responsive_container_directives, - $responsive_dialog_directives, - $close_button_directives - ); - - return sprintf( - '', - $wrapper_attributes, - $responsive_container_markup, - $nav_element_directives - ); + return WP_Navigation_Block_Renderer::render( $attributes, $content, $block ); } /** @@ -791,6 +1079,13 @@ function register_block_core_navigation() { 'render_callback' => 'render_block_core_navigation', ) ); + + wp_register_script_module( + '@wordpress/block-library/navigation', + defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ? gutenberg_url( '/build/interactivity/navigation.min.js' ) : includes_url( 'blocks/navigation/view.min.js' ), + array( '@wordpress/interactivity' ), + defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' ) + ); } add_action( 'init', 'register_block_core_navigation' ); @@ -829,25 +1124,6 @@ function block_core_navigation_typographic_presets_backcompatibility( $parsed_bl add_filter( 'render_block_data', 'block_core_navigation_typographic_presets_backcompatibility' ); -/** - * Ensure that the view script has the `wp-interactivity` dependency. - * - * @since 6.4.0 - * - * @global WP_Scripts $wp_scripts - */ -function block_core_navigation_ensure_interactivity_dependency() { - global $wp_scripts; - if ( - isset( $wp_scripts->registered['wp-block-navigation-view'] ) && - ! in_array( 'wp-interactivity', $wp_scripts->registered['wp-block-navigation-view']->deps, true ) - ) { - $wp_scripts->registered['wp-block-navigation-view']->deps[] = 'wp-interactivity'; - } -} - -add_action( 'wp_print_scripts', 'block_core_navigation_ensure_interactivity_dependency' ); - /** * Turns menu item data into a nested array of parsed blocks * @@ -1066,3 +1342,120 @@ function block_core_navigation_get_most_recently_published_navigation() { return null; } + +/** + * Insert hooked blocks into a Navigation block. + * + * Given a Navigation block's inner blocks and its corresponding `wp_navigation` post object, + * this function inserts hooked blocks into it, and returns the serialized inner blocks in a + * mock Navigation block wrapper. + * + * If there are any hooked blocks that need to be inserted as the Navigation block's first or last + * children, the `wp_navigation` post's `_wp_ignored_hooked_blocks` meta is checked to see if any + * of those hooked blocks should be exempted from insertion. + * + * @param array $inner_blocks Parsed inner blocks of a Navigation block. + * @param WP_Post $post `wp_navigation` post object corresponding to the block. + * @return string Serialized inner blocks in mock Navigation block wrapper, with hooked blocks inserted, if any. + */ +function block_core_navigation_insert_hooked_blocks( $inner_blocks, $post = null ) { + $before_block_visitor = null; + $after_block_visitor = null; + $hooked_blocks = get_hooked_blocks(); + $attributes = array(); + + if ( isset( $post->ID ) ) { + $ignored_hooked_blocks = get_post_meta( $post->ID, '_wp_ignored_hooked_blocks', true ); + if ( ! empty( $ignored_hooked_blocks ) ) { + $ignored_hooked_blocks = json_decode( $ignored_hooked_blocks, true ); + $attributes['metadata'] = array( + 'ignoredHookedBlocks' => $ignored_hooked_blocks, + ); + } + } + + $mock_anchor_parent_block = array( + 'blockName' => 'core/navigation', + 'attrs' => $attributes, + 'innerBlocks' => $inner_blocks, + 'innerContent' => array_fill( 0, count( $inner_blocks ), null ), + ); + $before_block_visitor = null; + $after_block_visitor = null; + + if ( ! empty( $hooked_blocks ) || has_filter( 'hooked_block_types' ) ) { + $before_block_visitor = make_before_block_visitor( $hooked_blocks, $post ); + $after_block_visitor = make_after_block_visitor( $hooked_blocks, $post ); + } + + return traverse_and_serialize_block( $mock_anchor_parent_block, $before_block_visitor, $after_block_visitor ); +} + +/** + * Updates the post meta with the list of ignored hooked blocks when the navigation is created or updated via the REST API. + * + * @param WP_Post $post Post object. + */ +function block_core_navigation_update_ignore_hooked_blocks_meta( $post ) { + if ( ! isset( $post->ID ) ) { + return; + } + + // We run the Block Hooks mechanism so it will return the list of ignored hooked blocks + // in the mock root Navigation block's metadata attribute. + // We ignore the rest of the returned `$markup`; `$post->post_content` already has the hooked + // blocks inserted, whereas `$markup` will have them inserted twice. + $blocks = parse_blocks( $post->post_content ); + $markup = block_core_navigation_insert_hooked_blocks( $blocks, $post ); + $root_nav_block = parse_blocks( $markup )[0]; + $ignored_hooked_blocks = isset( $root_nav_block['attrs']['metadata']['ignoredHookedBlocks'] ) + ? $root_nav_block['attrs']['metadata']['ignoredHookedBlocks'] + : array(); + + if ( ! empty( $ignored_hooked_blocks ) ) { + $existing_ignored_hooked_blocks = get_post_meta( $post->ID, '_wp_ignored_hooked_blocks', true ); + if ( ! empty( $existing_ignored_hooked_blocks ) ) { + $existing_ignored_hooked_blocks = json_decode( $existing_ignored_hooked_blocks, true ); + $ignored_hooked_blocks = array_unique( array_merge( $ignored_hooked_blocks, $existing_ignored_hooked_blocks ) ); + } + update_post_meta( $post->ID, '_wp_ignored_hooked_blocks', json_encode( $ignored_hooked_blocks ) ); + } +} + +// Injection of hooked blocks into the Navigation block relies on some functions present in WP >= 6.4 +// that are not present in Gutenberg's WP 6.4 compatibility layer. +if ( function_exists( 'get_hooked_blocks' ) ) { + add_action( 'rest_insert_wp_navigation', 'block_core_navigation_update_ignore_hooked_blocks_meta', 10, 3 ); +} + +/** + * Hooks into the REST API response for the core/navigation block and adds the first and last inner blocks. + * + * @param WP_REST_Response $response The response object. + * @param WP_Post $post Post object. + * @param WP_REST_Request $request Request object. + * @return WP_REST_Response The response object. + */ +function block_core_navigation_insert_hooked_blocks_into_rest_response( $response, $post ) { + if ( ! isset( $response->data['content']['raw'] ) || ! isset( $response->data['content']['rendered'] ) ) { + return $response; + } + $parsed_blocks = parse_blocks( $response->data['content']['raw'] ); + $content = block_core_navigation_insert_hooked_blocks( $parsed_blocks, $post ); + + // Remove mock Navigation block wrapper. + $start = strpos( $content, '-->' ) + strlen( '-->' ); + $end = strrpos( $content, '`. Support these by defaulting an undefined label and @@ -36,7 +36,6 @@ function render_block_core_search( $attributes, $content, $block ) { $show_button = ( ! empty( $attributes['buttonPosition'] ) && 'no-button' === $attributes['buttonPosition'] ) ? false : true; $button_position = $show_button ? $attributes['buttonPosition'] : null; $query_params = ( ! empty( $attributes['query'] ) ) ? $attributes['query'] : array(); - $button_behavior = ( ! empty( $attributes['buttonBehavior'] ) ) ? $attributes['buttonBehavior'] : 'default'; $button = ''; $query_params_markup = ''; $inline_styles = styles_for_block_core_search( $attributes ); @@ -78,29 +77,19 @@ function render_block_core_search( $attributes, $content, $block ) { $input->set_attribute( 'value', get_search_query() ); $input->set_attribute( 'placeholder', $attributes['placeholder'] ); - $is_expandable_searchfield = 'button-only' === $button_position && 'expand-searchfield' === $button_behavior; + // If it's interactive, enqueue the script module and add the directives. + $is_expandable_searchfield = 'button-only' === $button_position; if ( $is_expandable_searchfield ) { - $input->set_attribute( 'data-wp-bind--aria-hidden', '!context.core.search.isSearchInputVisible' ); - $input->set_attribute( 'data-wp-bind--tabindex', 'selectors.core.search.tabindex' ); - // Adding these attributes manually is needed until the Interactivity API SSR logic is added to core. + wp_enqueue_script_module( '@wordpress/block-library/search' ); + + $input->set_attribute( 'data-wp-bind--aria-hidden', '!context.isSearchInputVisible' ); + $input->set_attribute( 'data-wp-bind--tabindex', 'state.tabindex' ); + + // Adding these attributes manually is needed until the Interactivity API + // SSR logic is added to core. $input->set_attribute( 'aria-hidden', 'true' ); $input->set_attribute( 'tabindex', '-1' ); } - - // If the script already exists, there is no point in removing it from viewScript. - $view_js_file = 'wp-block-search-view'; - if ( ! wp_script_is( $view_js_file ) ) { - $script_handles = $block->block_type->view_script_handles; - - // If the script is not needed, and it is still in the `view_script_handles`, remove it. - if ( ! $is_expandable_searchfield && in_array( $view_js_file, $script_handles, true ) ) { - $block->block_type->view_script_handles = array_diff( $script_handles, array( $view_js_file ) ); - } - // If the script is needed, but it was previously removed, add it again. - if ( $is_expandable_searchfield && ! in_array( $view_js_file, $script_handles, true ) ) { - $block->block_type->view_script_handles = array_merge( $script_handles, array( $view_js_file ) ); - } - } } if ( count( $query_params ) > 0 ) { @@ -144,13 +133,15 @@ function render_block_core_search( $attributes, $content, $block ) { if ( $button->next_tag() ) { $button->add_class( implode( ' ', $button_classes ) ); - if ( 'expand-searchfield' === $attributes['buttonBehavior'] && 'button-only' === $attributes['buttonPosition'] ) { - $button->set_attribute( 'data-wp-bind--aria-label', 'selectors.core.search.ariaLabel' ); - $button->set_attribute( 'data-wp-bind--aria-controls', 'selectors.core.search.ariaControls' ); - $button->set_attribute( 'data-wp-bind--aria-expanded', 'context.core.search.isSearchInputVisible' ); - $button->set_attribute( 'data-wp-bind--type', 'selectors.core.search.type' ); - $button->set_attribute( 'data-wp-on--click', 'actions.core.search.openSearchInput' ); - // Adding these attributes manually is needed until the Interactivity API SSR logic is added to core. + if ( 'button-only' === $attributes['buttonPosition'] ) { + $button->set_attribute( 'data-wp-bind--aria-label', 'state.ariaLabel' ); + $button->set_attribute( 'data-wp-bind--aria-controls', 'state.ariaControls' ); + $button->set_attribute( 'data-wp-bind--aria-expanded', 'context.isSearchInputVisible' ); + $button->set_attribute( 'data-wp-bind--type', 'state.type' ); + $button->set_attribute( 'data-wp-on--click', 'actions.openSearchInput' ); + + // Adding these attributes manually is needed until the Interactivity + // API SSR logic is added to core. $button->set_attribute( 'aria-label', __( 'Expand search field' ) ); $button->set_attribute( 'aria-controls', 'wp-block-search__input-' . $input_id ); $button->set_attribute( 'aria-expanded', 'false' ); @@ -172,15 +163,17 @@ function render_block_core_search( $attributes, $content, $block ) { array( 'class' => $classnames ) ); $form_directives = ''; + + // If it's interactive, add the directives. if ( $is_expandable_searchfield ) { $aria_label_expanded = __( 'Submit Search' ); $aria_label_collapsed = __( 'Expand search field' ); $form_directives = ' - data-wp-interactive - data-wp-context=\'{ "core": { "search": { "isSearchInputVisible": ' . $open_by_default . ', "inputId": "' . $input_id . '", "ariaLabelExpanded": "' . $aria_label_expanded . '", "ariaLabelCollapsed": "' . $aria_label_collapsed . '" } } }\' - data-wp-class--wp-block-search__searchfield-hidden="!context.core.search.isSearchInputVisible" - data-wp-on--keydown="actions.core.search.handleSearchKeydown" - data-wp-on--focusout="actions.core.search.handleSearchFocusout" + data-wp-interactive=\'{ "namespace": "core/search" }\' + data-wp-context=\'{ "isSearchInputVisible": ' . $open_by_default . ', "inputId": "' . $input_id . '", "ariaLabelExpanded": "' . $aria_label_expanded . '", "ariaLabelCollapsed": "' . $aria_label_collapsed . '" }\' + data-wp-class--wp-block-search__searchfield-hidden="!context.isSearchInputVisible" + data-wp-on--keydown="actions.handleSearchKeydown" + data-wp-on--focusout="actions.handleSearchFocusout" '; } @@ -203,28 +196,16 @@ function register_block_core_search() { 'render_callback' => 'render_block_core_search', ) ); + + wp_register_script_module( + '@wordpress/block-library/search', + defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ? gutenberg_url( '/build/interactivity/search.min.js' ) : includes_url( 'blocks/search/view.min.js' ), + array( '@wordpress/interactivity' ), + defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' ) + ); } add_action( 'init', 'register_block_core_search' ); -/** - * Ensure that the view script has the `wp-interactivity` dependency. - * - * @since 6.4.0 - * - * @global WP_Scripts $wp_scripts - */ -function block_core_search_ensure_interactivity_dependency() { - global $wp_scripts; - if ( - isset( $wp_scripts->registered['wp-block-search-view'] ) && - ! in_array( 'wp-interactivity', $wp_scripts->registered['wp-block-search-view']->deps, true ) - ) { - $wp_scripts->registered['wp-block-search-view']->deps[] = 'wp-interactivity'; - } -} - -add_action( 'wp_print_scripts', 'block_core_search_ensure_interactivity_dependency' ); - /** * Builds the correct top level classnames for the 'core/search' block. * @@ -249,10 +230,7 @@ function classnames_for_block_core_search( $attributes ) { } if ( 'button-only' === $attributes['buttonPosition'] ) { - $classnames[] = 'wp-block-search__button-only'; - if ( ! empty( $attributes['buttonBehavior'] ) && 'expand-searchfield' === $attributes['buttonBehavior'] ) { - $classnames[] = 'wp-block-search__button-behavior-expand wp-block-search__searchfield-hidden'; - } + $classnames[] = 'wp-block-search__button-only wp-block-search__searchfield-hidden'; } } diff --git a/wp-includes/blocks/search/block.json b/wp-includes/blocks/search/block.json index 5669a9089d..8d5e208045 100644 --- a/wp-includes/blocks/search/block.json +++ b/wp-includes/blocks/search/block.json @@ -43,10 +43,6 @@ "type": "object", "default": {} }, - "buttonBehavior": { - "type": "string", - "default": "expand-searchfield" - }, "isSearchFieldHidden": { "type": "boolean", "default": false @@ -91,7 +87,6 @@ }, "html": false }, - "viewScript": "file:./view.min.js", "editorStyle": "wp-block-search-editor", "style": "wp-block-search" } diff --git a/wp-includes/blocks/search/editor-rtl.css b/wp-includes/blocks/search/editor-rtl.css index 05eeacfbb1..26babe4f87 100644 --- a/wp-includes/blocks/search/editor-rtl.css +++ b/wp-includes/blocks/search/editor-rtl.css @@ -8,6 +8,7 @@ display:flex; height:auto; justify-content:center; + text-align:center; } .wp-block-search__components-button-group{ margin-top:10px; diff --git a/wp-includes/blocks/search/editor-rtl.min.css b/wp-includes/blocks/search/editor-rtl.min.css index b9c22f4815..f24037ce5e 100644 --- a/wp-includes/blocks/search/editor-rtl.min.css +++ b/wp-includes/blocks/search/editor-rtl.min.css @@ -1 +1 @@ -.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{align-items:center;border-radius:initial;display:flex;height:auto;justify-content:center}.wp-block-search__components-button-group{margin-top:10px} \ No newline at end of file +.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{align-items:center;border-radius:initial;display:flex;height:auto;justify-content:center;text-align:center}.wp-block-search__components-button-group{margin-top:10px} \ No newline at end of file diff --git a/wp-includes/blocks/search/editor.css b/wp-includes/blocks/search/editor.css index 05eeacfbb1..26babe4f87 100644 --- a/wp-includes/blocks/search/editor.css +++ b/wp-includes/blocks/search/editor.css @@ -8,6 +8,7 @@ display:flex; height:auto; justify-content:center; + text-align:center; } .wp-block-search__components-button-group{ margin-top:10px; diff --git a/wp-includes/blocks/search/editor.min.css b/wp-includes/blocks/search/editor.min.css index b9c22f4815..f24037ce5e 100644 --- a/wp-includes/blocks/search/editor.min.css +++ b/wp-includes/blocks/search/editor.min.css @@ -1 +1 @@ -.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{align-items:center;border-radius:initial;display:flex;height:auto;justify-content:center}.wp-block-search__components-button-group{margin-top:10px} \ No newline at end of file +.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{align-items:center;border-radius:initial;display:flex;height:auto;justify-content:center;text-align:center}.wp-block-search__components-button-group{margin-top:10px} \ No newline at end of file diff --git a/wp-includes/blocks/search/style-rtl.css b/wp-includes/blocks/search/style-rtl.css index ff600861ba..53a454db5b 100644 --- a/wp-includes/blocks/search/style-rtl.css +++ b/wp-includes/blocks/search/style-rtl.css @@ -43,8 +43,33 @@ .wp-block-search.wp-block-search__button-only .wp-block-search__button{ flex-shrink:0; margin-right:0; + max-width:100%; +} +.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{ max-width:calc(100% - 100px); } +.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{ + min-width:0 !important; + transition-property:width; +} +.wp-block-search.wp-block-search__button-only .wp-block-search__input{ + flex-basis:100%; + transition-duration:.3s; +} +.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{ + overflow:hidden; +} +.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{ + border-left-width:0 !important; + border-right-width:0 !important; + flex-basis:0; + flex-grow:0; + margin:0; + min-width:0 !important; + padding-left:0 !important; + padding-right:0 !important; + width:0 !important; +} :where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){ border:1px solid #949494; @@ -67,29 +92,6 @@ margin:auto; } -.wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{ - min-width:0 !important; - transition-property:width; -} -.wp-block-search__button-behavior-expand .wp-block-search__input{ - flex-basis:100%; - transition-duration:.3s; -} -.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{ - overflow:hidden; -} -.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__input{ - border-left-width:0 !important; - border-right-width:0 !important; - flex-basis:0; - flex-grow:0; - margin:0; - min-width:0 !important; - padding-left:0 !important; - padding-right:0 !important; - width:0 !important; -} - -.wp-block[data-align=right] .wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{ +.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{ float:left; } \ No newline at end of file diff --git a/wp-includes/blocks/search/style-rtl.min.css b/wp-includes/blocks/search/style-rtl.min.css index 73dea5a6f1..63028d4561 100644 --- a/wp-includes/blocks/search/style-rtl.min.css +++ b/wp-includes/blocks/search/style-rtl.min.css @@ -1 +1 @@ -.wp-block-search__button{margin-right:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;min-height:24px;min-width:24px;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-right:0;max-width:calc(100% - 100px)}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search__button-behavior-expand .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}.wp-block[data-align=right] .wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{float:left} \ No newline at end of file +.wp-block-search__button{margin-right:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;min-height:24px;min-width:24px;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-right:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{max-width:calc(100% - 100px)}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:left} \ No newline at end of file diff --git a/wp-includes/blocks/search/style.css b/wp-includes/blocks/search/style.css index 91fe4f72f2..b2ad7a5253 100644 --- a/wp-includes/blocks/search/style.css +++ b/wp-includes/blocks/search/style.css @@ -43,8 +43,33 @@ .wp-block-search.wp-block-search__button-only .wp-block-search__button{ flex-shrink:0; margin-left:0; + max-width:100%; +} +.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{ max-width:calc(100% - 100px); } +.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{ + min-width:0 !important; + transition-property:width; +} +.wp-block-search.wp-block-search__button-only .wp-block-search__input{ + flex-basis:100%; + transition-duration:.3s; +} +.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{ + overflow:hidden; +} +.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{ + border-left-width:0 !important; + border-right-width:0 !important; + flex-basis:0; + flex-grow:0; + margin:0; + min-width:0 !important; + padding-left:0 !important; + padding-right:0 !important; + width:0 !important; +} :where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){ border:1px solid #949494; @@ -67,29 +92,6 @@ margin:auto; } -.wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{ - min-width:0 !important; - transition-property:width; -} -.wp-block-search__button-behavior-expand .wp-block-search__input{ - flex-basis:100%; - transition-duration:.3s; -} -.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{ - overflow:hidden; -} -.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__input{ - border-left-width:0 !important; - border-right-width:0 !important; - flex-basis:0; - flex-grow:0; - margin:0; - min-width:0 !important; - padding-left:0 !important; - padding-right:0 !important; - width:0 !important; -} - -.wp-block[data-align=right] .wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{ +.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{ float:right; } \ No newline at end of file diff --git a/wp-includes/blocks/search/style.min.css b/wp-includes/blocks/search/style.min.css index c744f3770c..3871eabd6c 100644 --- a/wp-includes/blocks/search/style.min.css +++ b/wp-includes/blocks/search/style.min.css @@ -1 +1 @@ -.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;min-height:24px;min-width:24px;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-left:0;max-width:calc(100% - 100px)}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search__button-behavior-expand .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}.wp-block[data-align=right] .wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{float:right} \ No newline at end of file +.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;min-height:24px;min-width:24px;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{max-width:calc(100% - 100px)}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right} \ No newline at end of file diff --git a/wp-includes/blocks/search/view.asset.php b/wp-includes/blocks/search/view.asset.php index 9ecb989ae4..e9b5021ae3 100644 --- a/wp-includes/blocks/search/view.asset.php +++ b/wp-includes/blocks/search/view.asset.php @@ -1 +1 @@ - array(), 'version' => 'bbd4958a430d8ba14c4c'); + array(), 'version' => '2a0784014283afdd3c25'); diff --git a/wp-includes/blocks/search/view.js b/wp-includes/blocks/search/view.js deleted file mode 100644 index 9d18abf48b..0000000000 --- a/wp-includes/blocks/search/view.js +++ /dev/null @@ -1,101 +0,0 @@ -"use strict"; -(self["__WordPressPrivateInteractivityAPI__"] = self["__WordPressPrivateInteractivityAPI__"] || []).push([[222],{ - -/***/ 534: -/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) { - -/* harmony import */ var _wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(754); -/** - * WordPress dependencies - */ - -(0,_wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__/* .store */ .h)({ - selectors: { - core: { - search: { - ariaLabel: ({ - context - }) => { - const { - ariaLabelCollapsed, - ariaLabelExpanded - } = context.core.search; - return context.core.search.isSearchInputVisible ? ariaLabelExpanded : ariaLabelCollapsed; - }, - ariaControls: ({ - context - }) => { - return context.core.search.isSearchInputVisible ? null : context.core.search.inputId; - }, - type: ({ - context - }) => { - return context.core.search.isSearchInputVisible ? 'submit' : 'button'; - }, - tabindex: ({ - context - }) => { - return context.core.search.isSearchInputVisible ? '0' : '-1'; - } - } - } - }, - actions: { - core: { - search: { - openSearchInput: ({ - context, - event, - ref - }) => { - if (!context.core.search.isSearchInputVisible) { - event.preventDefault(); - context.core.search.isSearchInputVisible = true; - ref.parentElement.querySelector('input').focus(); - } - }, - closeSearchInput: ({ - context - }) => { - context.core.search.isSearchInputVisible = false; - }, - handleSearchKeydown: store => { - const { - actions, - event, - ref - } = store; - // If Escape close the menu. - if (event?.key === 'Escape') { - actions.core.search.closeSearchInput(store); - ref.querySelector('button').focus(); - } - }, - handleSearchFocusout: store => { - const { - actions, - event, - ref - } = store; - // If focus is outside search form, and in the document, close menu - // event.target === The element losing focus - // event.relatedTarget === The element receiving focus (if any) - // When focusout is outside the document, - // `window.document.activeElement` doesn't change. - if (!ref.contains(event.relatedTarget) && event.target !== window.document.activeElement) { - actions.core.search.closeSearchInput(store); - } - } - } - } - } -}); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ var __webpack_exports__ = (__webpack_exec__(534)); -/******/ } -]); \ No newline at end of file diff --git a/wp-includes/blocks/search/view.min.asset.php b/wp-includes/blocks/search/view.min.asset.php index dc204c9390..f9f2fddc7d 100644 --- a/wp-includes/blocks/search/view.min.asset.php +++ b/wp-includes/blocks/search/view.min.asset.php @@ -1 +1 @@ - array(), 'version' => 'ff76b5016de2df424c55'); + array(), 'version' => '765a40956d200c79d99e'); diff --git a/wp-includes/blocks/search/view.min.js b/wp-includes/blocks/search/view.min.js deleted file mode 100644 index f38519d52b..0000000000 --- a/wp-includes/blocks/search/view.min.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.__WordPressPrivateInteractivityAPI__=self.__WordPressPrivateInteractivityAPI__||[]).push([[222],{534:function(e,t,c){(0,c(754).h)({selectors:{core:{search:{ariaLabel:({context:e})=>{const{ariaLabelCollapsed:t,ariaLabelExpanded:c}=e.core.search;return e.core.search.isSearchInputVisible?c:t},ariaControls:({context:e})=>e.core.search.isSearchInputVisible?null:e.core.search.inputId,type:({context:e})=>e.core.search.isSearchInputVisible?"submit":"button",tabindex:({context:e})=>e.core.search.isSearchInputVisible?"0":"-1"}}},actions:{core:{search:{openSearchInput:({context:e,event:t,ref:c})=>{e.core.search.isSearchInputVisible||(t.preventDefault(),e.core.search.isSearchInputVisible=!0,c.parentElement.querySelector("input").focus())},closeSearchInput:({context:e})=>{e.core.search.isSearchInputVisible=!1},handleSearchKeydown:e=>{const{actions:t,event:c,ref:r}=e;"Escape"===c?.key&&(t.core.search.closeSearchInput(e),r.querySelector("button").focus())},handleSearchFocusout:e=>{const{actions:t,event:c,ref:r}=e;r.contains(c.relatedTarget)||c.target===window.document.activeElement||t.core.search.closeSearchInput(e)}}}}})}},function(e){var t;t=534,e(e.s=t)}]); \ No newline at end of file diff --git a/wp-includes/blocks/site-title/block.json b/wp-includes/blocks/site-title/block.json index e936bad0e4..4a2685e694 100644 --- a/wp-includes/blocks/site-title/block.json +++ b/wp-includes/blocks/site-title/block.json @@ -56,11 +56,7 @@ "__experimentalFontWeight": true, "__experimentalLetterSpacing": true, "__experimentalDefaultControls": { - "fontSize": true, - "lineHeight": true, - "fontAppearance": true, - "letterSpacing": true, - "textTransform": true + "fontSize": true } } }, diff --git a/wp-includes/blocks/social-link.php b/wp-includes/blocks/social-link.php index cda8e12509..fe256879fa 100644 --- a/wp-includes/blocks/social-link.php +++ b/wp-includes/blocks/social-link.php @@ -33,7 +33,7 @@ function render_block_core_social_link( $attributes, $content, $block ) { * The `is_email` returns false for emails with schema. */ if ( is_email( $url ) ) { - $url = 'mailto:' . $url; + $url = 'mailto:' . antispambot( $url ); } /** @@ -62,10 +62,10 @@ function render_block_core_social_link( $attributes, $content, $block ) { $processor = new WP_HTML_Tag_Processor( $link ); $processor->next_tag( 'a' ); if ( $open_in_new_tab ) { - $processor->set_attribute( 'rel', esc_attr( $rel ) . ' noopener nofollow' ); + $processor->set_attribute( 'rel', trim( $rel . ' noopener nofollow' ) ); $processor->set_attribute( 'target', '_blank' ); } elseif ( '' !== $rel ) { - $processor->set_attribute( 'rel', esc_attr( $rel ) ); + $processor->set_attribute( 'rel', trim( $rel ) ); } return $processor->get_updated_html(); } @@ -194,6 +194,10 @@ function block_core_social_link_services( $service = '', $field = '' ) { 'name' => 'GitHub', 'icon' => '', ), + 'gravatar' => array( + 'name' => 'Gravatar', + 'icon' => '', + ), 'instagram' => array( 'name' => 'Instagram', 'icon' => '', diff --git a/wp-includes/blocks/social-links/style-rtl.css b/wp-includes/blocks/social-links/style-rtl.css index b8defda33c..4548ed51e3 100644 --- a/wp-includes/blocks/social-links/style-rtl.css +++ b/wp-includes/blocks/social-links/style-rtl.css @@ -65,7 +65,12 @@ transform:scale(1.1); } -.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{ +.wp-block-social-links .wp-block-social-link.wp-social-link{ + display:inline-block; + margin:0; + padding:0; +} +.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{ fill:currentColor; color:currentColor; } @@ -134,6 +139,10 @@ background-color:#ea4434; color:#fff; } +.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar{ + background-color:#1d4fc4; + color:#fff; +} .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{ background-color:#f00075; color:#fff; @@ -295,6 +304,9 @@ .wp-block-social-links.is-style-logos-only .wp-social-link-google{ color:#ea4434; } +.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar{ + color:#1d4fc4; +} .wp-block-social-links.is-style-logos-only .wp-social-link-instagram{ color:#f00075; } diff --git a/wp-includes/blocks/social-links/style-rtl.min.css b/wp-includes/blocks/social-links/style-rtl.min.css index a54b7a1b09..f015292bac 100644 --- a/wp-includes/blocks/social-links/style-rtl.min.css +++ b/wp-includes/blocks/social-links/style-rtl.min.css @@ -1 +1 @@ -.wp-block-social-links{background:none;box-sizing:border-box;margin-right:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#ff424d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads,.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#ff424d}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{stroke:#000;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-threads,.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-x{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000} \ No newline at end of file +.wp-block-social-links{background:none;box-sizing:border-box;margin-right:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link.wp-social-link{display:inline-block;margin:0;padding:0}.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar{background-color:#1d4fc4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#ff424d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads,.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar{color:#1d4fc4}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#ff424d}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{stroke:#000;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-threads,.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-x{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000} \ No newline at end of file diff --git a/wp-includes/blocks/social-links/style.css b/wp-includes/blocks/social-links/style.css index 925361500f..24e85831ed 100644 --- a/wp-includes/blocks/social-links/style.css +++ b/wp-includes/blocks/social-links/style.css @@ -65,7 +65,12 @@ transform:scale(1.1); } -.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{ +.wp-block-social-links .wp-block-social-link.wp-social-link{ + display:inline-block; + margin:0; + padding:0; +} +.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{ fill:currentColor; color:currentColor; } @@ -134,6 +139,10 @@ background-color:#ea4434; color:#fff; } +.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar{ + background-color:#1d4fc4; + color:#fff; +} .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{ background-color:#f00075; color:#fff; @@ -295,6 +304,9 @@ .wp-block-social-links.is-style-logos-only .wp-social-link-google{ color:#ea4434; } +.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar{ + color:#1d4fc4; +} .wp-block-social-links.is-style-logos-only .wp-social-link-instagram{ color:#f00075; } diff --git a/wp-includes/blocks/social-links/style.min.css b/wp-includes/blocks/social-links/style.min.css index 050e5ef96a..578cf262fd 100644 --- a/wp-includes/blocks/social-links/style.min.css +++ b/wp-includes/blocks/social-links/style.min.css @@ -1 +1 @@ -.wp-block-social-links{background:none;box-sizing:border-box;margin-left:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#ff424d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads,.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#ff424d}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{stroke:#000;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-threads,.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-x{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000} \ No newline at end of file +.wp-block-social-links{background:none;box-sizing:border-box;margin-left:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link.wp-social-link{display:inline-block;margin:0;padding:0}.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar{background-color:#1d4fc4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#ff424d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads,.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar{color:#1d4fc4}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#ff424d}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{stroke:#000;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-threads,.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-x{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000} \ No newline at end of file diff --git a/wp-includes/blocks/table/block.json b/wp-includes/blocks/table/block.json index d1139d6c55..470886a124 100644 --- a/wp-includes/blocks/table/block.json +++ b/wp-includes/blocks/table/block.json @@ -12,10 +12,9 @@ "default": false }, "caption": { - "type": "string", - "source": "html", - "selector": "figcaption", - "default": "" + "type": "rich-text", + "source": "rich-text", + "selector": "figcaption" }, "head": { "type": "array", @@ -30,8 +29,8 @@ "selector": "td,th", "query": { "content": { - "type": "string", - "source": "html" + "type": "rich-text", + "source": "rich-text" }, "tag": { "type": "string", @@ -75,8 +74,8 @@ "selector": "td,th", "query": { "content": { - "type": "string", - "source": "html" + "type": "rich-text", + "source": "rich-text" }, "tag": { "type": "string", @@ -120,8 +119,8 @@ "selector": "td,th", "query": { "content": { - "type": "string", - "source": "html" + "type": "rich-text", + "source": "rich-text" }, "tag": { "type": "string", diff --git a/wp-includes/blocks/table/editor-rtl.css b/wp-includes/blocks/table/editor-rtl.css index 6be0c40a3c..ab8325eac9 100644 --- a/wp-includes/blocks/table/editor-rtl.css +++ b/wp-includes/blocks/table/editor-rtl.css @@ -1,6 +1,3 @@ -.wp-block-table{ - margin:0; -} .wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{ height:auto; } @@ -33,25 +30,15 @@ align-items:flex-start; display:flex; flex-direction:column; -} -.blocks-table__placeholder-form.blocks-table__placeholder-form>*{ - margin-bottom:8px; + gap:8px; } @media (min-width:782px){ .blocks-table__placeholder-form.blocks-table__placeholder-form{ align-items:flex-end; flex-direction:row; } - .blocks-table__placeholder-form.blocks-table__placeholder-form>*{ - margin-bottom:0; - } } .blocks-table__placeholder-input{ - margin-bottom:0; - margin-left:8px; width:112px; -} -.blocks-table__placeholder-input input{ - height:36px; } \ No newline at end of file diff --git a/wp-includes/blocks/table/editor-rtl.min.css b/wp-includes/blocks/table/editor-rtl.min.css index 09fac9c6d8..f048b398c1 100644 --- a/wp-includes/blocks/table/editor-rtl.min.css +++ b/wp-includes/blocks/table/editor-rtl.min.css @@ -1 +1 @@ -.wp-block-table{margin:0}.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:0}}.blocks-table__placeholder-input{margin-bottom:0;margin-left:8px;width:112px}.blocks-table__placeholder-input input{height:36px} \ No newline at end of file +.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column;gap:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}}.blocks-table__placeholder-input{width:112px} \ No newline at end of file diff --git a/wp-includes/blocks/table/editor.css b/wp-includes/blocks/table/editor.css index 0cdedbc9c0..ab8325eac9 100644 --- a/wp-includes/blocks/table/editor.css +++ b/wp-includes/blocks/table/editor.css @@ -1,6 +1,3 @@ -.wp-block-table{ - margin:0; -} .wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{ height:auto; } @@ -33,25 +30,15 @@ align-items:flex-start; display:flex; flex-direction:column; -} -.blocks-table__placeholder-form.blocks-table__placeholder-form>*{ - margin-bottom:8px; + gap:8px; } @media (min-width:782px){ .blocks-table__placeholder-form.blocks-table__placeholder-form{ align-items:flex-end; flex-direction:row; } - .blocks-table__placeholder-form.blocks-table__placeholder-form>*{ - margin-bottom:0; - } } .blocks-table__placeholder-input{ - margin-bottom:0; - margin-right:8px; width:112px; -} -.blocks-table__placeholder-input input{ - height:36px; } \ No newline at end of file diff --git a/wp-includes/blocks/table/editor.min.css b/wp-includes/blocks/table/editor.min.css index 25f31c90d9..f048b398c1 100644 --- a/wp-includes/blocks/table/editor.min.css +++ b/wp-includes/blocks/table/editor.min.css @@ -1 +1 @@ -.wp-block-table{margin:0}.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:0}}.blocks-table__placeholder-input{margin-bottom:0;margin-right:8px;width:112px}.blocks-table__placeholder-input input{height:36px} \ No newline at end of file +.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column;gap:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}}.blocks-table__placeholder-input{width:112px} \ No newline at end of file diff --git a/wp-includes/blocks/template-part.php b/wp-includes/blocks/template-part.php index 3ad4009069..86a17f33c9 100644 --- a/wp-includes/blocks/template-part.php +++ b/wp-includes/blocks/template-part.php @@ -43,10 +43,10 @@ function render_block_core_template_part( $attributes ) { if ( $template_part_post ) { // A published post might already exist if this template part was customized elsewhere // or if it's part of a customized template. - $content = $template_part_post->post_content; - $area_terms = get_the_terms( $template_part_post, 'wp_template_part_area' ); - if ( ! is_wp_error( $area_terms ) && false !== $area_terms ) { - $area = $area_terms[0]->name; + $block_template = _build_block_template_result_from_post( $template_part_post ); + $content = $block_template->content; + if ( isset( $block_template->area ) ) { + $area = $block_template->area; } /** * Fires when a block template part is loaded from a template post stored in the database. @@ -70,6 +70,12 @@ function render_block_core_template_part( $attributes ) { if ( isset( $block_template->area ) ) { $area = $block_template->area; } + + // Needed for the `render_block_core_template_part_file` and `render_block_core_template_part_none` actions below. + $block_template_file = _get_block_template_file( 'wp_template_part', $attributes['slug'] ); + if ( $block_template_file ) { + $template_part_file_path = $block_template_file['path']; + } } if ( '' !== $content && null !== $content ) { @@ -275,8 +281,8 @@ function register_block_core_template_part() { register_block_type_from_metadata( __DIR__ . '/template-part', array( - 'render_callback' => 'render_block_core_template_part', - 'variations' => build_template_part_block_variations(), + 'render_callback' => 'render_block_core_template_part', + 'variation_callback' => 'build_template_part_block_variations', ) ); } diff --git a/wp-includes/blocks/template-part/block.json b/wp-includes/blocks/template-part/block.json index 9fe431150a..3b0946718b 100644 --- a/wp-includes/blocks/template-part/block.json +++ b/wp-includes/blocks/template-part/block.json @@ -23,7 +23,8 @@ "supports": { "align": true, "html": false, - "reusable": false + "reusable": false, + "renaming": false }, "editorStyle": "wp-block-template-part-editor" } diff --git a/wp-includes/blocks/verse/block.json b/wp-includes/blocks/verse/block.json index d0fffc8ae5..846a1dc99c 100644 --- a/wp-includes/blocks/verse/block.json +++ b/wp-includes/blocks/verse/block.json @@ -9,10 +9,9 @@ "textdomain": "default", "attributes": { "content": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": "pre", - "default": "", "__unstablePreserveWhiteSpace": true, "__experimentalRole": "content" }, @@ -40,8 +39,7 @@ "__experimentalTextTransform": true, "__experimentalTextDecoration": true, "__experimentalDefaultControls": { - "fontSize": true, - "fontAppearance": true + "fontSize": true } }, "spacing": { diff --git a/wp-includes/blocks/video/block.json b/wp-includes/blocks/video/block.json index debe6f20fe..5d4680f39e 100644 --- a/wp-includes/blocks/video/block.json +++ b/wp-includes/blocks/video/block.json @@ -15,8 +15,8 @@ "attribute": "autoplay" }, "caption": { - "type": "string", - "source": "html", + "type": "rich-text", + "source": "rich-text", "selector": "figcaption", "__experimentalRole": "content" }, diff --git a/wp-includes/blocks/widget-group/block.json b/wp-includes/blocks/widget-group/block.json index c29e811554..0e59e58aca 100644 --- a/wp-includes/blocks/widget-group/block.json +++ b/wp-includes/blocks/widget-group/block.json @@ -1,4 +1,5 @@ { + "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 3, "name": "core/widget-group", "category": "widgets", diff --git a/wp-includes/css/dist/block-editor/content-rtl.css b/wp-includes/css/dist/block-editor/content-rtl.css index 7754e70467..d2191835f6 100644 --- a/wp-includes/css/dist/block-editor/content-rtl.css +++ b/wp-includes/css/dist/block-editor/content-rtl.css @@ -85,10 +85,10 @@ .block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected).is-highlighted:after{ box-shadow:none; } -.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected{ +.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]):focus,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected{ outline:none; } -.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{ +.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]):focus:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{ border-radius:1px; bottom:1px; box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); @@ -101,7 +101,7 @@ top:1px; z-index:1; } -.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after,.is-dark-theme .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{ +.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]):focus:after,.is-dark-theme .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{ box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff; } .block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:after{ @@ -159,10 +159,6 @@ margin:0 0 12px; width:100%; } -.block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui .components-notice{ - margin-left:0; - margin-right:0; -} .block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui .components-notice .components-notice__content{ font-size:13px; } @@ -235,6 +231,23 @@ top:1px; } +.block-editor-block-list__block:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after,.block-editor-block-list__block:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after,.is-template-locked:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after,.is-template-locked:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after{ + border-style:dotted; + border:1px dotted var(--wp-admin-theme-color); + border-radius:1px; + bottom:1px; + content:""; + left:1px; + pointer-events:none; + position:absolute; + right:1px; + top:1px; +} +.block-editor-block-list__block:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after,.block-editor-block-list__block:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after,.is-template-locked:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after,.is-template-locked:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after{ + background:rgba(var(--wp-admin-theme-color--rgb), .1); + border:none; +} + .is-focus-mode .block-editor-block-list__block:not(.has-child-selected){ opacity:.2; transition:opacity .1s linear; @@ -517,10 +530,10 @@ color:#000; } -.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child{ +.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child{ pointer-events:none; } -.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after{ +.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child:after,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after{ border:1px dashed; border-radius:2px; bottom:0; @@ -531,7 +544,7 @@ right:0; top:0; } -.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after:before,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after:before{ +.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child:after:before,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child:after:before,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before{ background:currentColor; bottom:0; content:""; @@ -542,13 +555,13 @@ right:0; top:0; } -.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter{ +.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter{ visibility:hidden; } -.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after{ +.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after{ border:none; } -.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter{ +.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter{ visibility:visible; } .block-editor-block-list__block:not(.is-selected)>.block-editor-block-list__block>.block-list-appender:only-child:after{ @@ -578,8 +591,7 @@ opacity:.62; } :where(body .is-layout-constrained) .block-editor-default-block-appender>:first-child:first-child{ - -webkit-margin-before:0; - margin-block-start:0; + margin-block-start:0; } .block-editor-default-block-appender .components-drop-zone__content-icon{ display:none; diff --git a/wp-includes/css/dist/block-editor/content-rtl.min.css b/wp-includes/css/dist/block-editor/content-rtl.min.css index 6cfa6e2327..ae74ecb314 100644 --- a/wp-includes/css/dist/block-editor/content-rtl.min.css +++ b/wp-includes/css/dist/block-editor/content-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-editor-block-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.block-editor-block-icon.has-colors svg{fill:currentColor}@media (forced-colors:active){.block-editor-block-icon.has-colors svg{fill:CanvasText}}.block-editor-block-icon svg{max-height:24px;max-width:24px;min-height:20px;min-width:20px}.block-editor-block-styles .block-editor-block-list__block{margin:0}@keyframes selection-overlay__fade-in-animation{0%{opacity:0}to{opacity:.4}}:root .block-editor-block-list__layout::selection,:root .has-multi-selection .block-editor-block-list__layout::selection,_::-webkit-full-page-media,_:future{background-color:transparent}.block-editor-block-list__layout{position:relative}.block-editor-block-list__layout:where(.block-editor-block-list__block.is-multi-selected:not(.is-partially-selected)){border-radius:2px}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected) ::selection,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected)::selection{background:transparent}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected):after{animation:selection-overlay__fade-in-animation .1s ease-out;animation-fill-mode:forwards;background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.4;outline:2px solid transparent;pointer-events:none;position:absolute;right:0;top:0;z-index:1}@media (prefers-reduced-motion:reduce){.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected):after{animation-delay:0s;animation-duration:1ms}}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected).is-highlighted:after{box-shadow:none}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected{outline:none}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{border-radius:1px;bottom:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:1px;outline:2px solid transparent;pointer-events:none;position:absolute;right:1px;top:1px;z-index:1}.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after,.is-dark-theme .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:after{border-radius:2px;border-top:4px solid #ccc;bottom:auto;box-shadow:none;content:"";left:0;pointer-events:none;position:absolute;right:0;top:-14px;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;z-index:0}.block-editor-block-list__layout .is-block-moving-mode.can-insert-moving-block.block-editor-block-list__block.is-selected:after{border-color:var(--wp-admin-theme-color)}.has-multi-selection .block-editor-block-list__layout{-webkit-user-select:none;user-select:none}.block-editor-block-list__layout [class^=components-]{-webkit-user-select:text;user-select:text}.is-block-moving-mode.block-editor-block-list__block-selection-button{font-size:1px;height:1px;opacity:0;padding:0}.block-editor-block-list__layout .block-editor-block-list__block{overflow-wrap:break-word;pointer-events:auto;position:relative;-webkit-user-select:text;user-select:text}.block-editor-block-list__layout .block-editor-block-list__block.is-editing-disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.block-editor-block-list__layout .block-editor-block-list__block .reusable-block-edit-panel *{z-index:1}.block-editor-block-list__layout .block-editor-block-list__block .components-placeholder .components-with-notices-ui{margin:-10px 0 12px}.block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui{margin:0 0 12px;width:100%}.block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui .components-notice{margin-left:0;margin-right:0}.block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui .components-notice .components-notice__content{font-size:13px}.block-editor-block-list__layout .block-editor-block-list__block.has-warning{min-height:48px}.block-editor-block-list__layout .block-editor-block-list__block.has-warning>*{pointer-events:none;-webkit-user-select:none;user-select:none}.block-editor-block-list__layout .block-editor-block-list__block.has-warning .block-editor-warning{pointer-events:all}.block-editor-block-list__layout .block-editor-block-list__block.has-warning:after{background-color:hsla(0,0%,100%,.4);border-radius:2px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.block-editor-block-list__layout .block-editor-block-list__block.has-warning.is-multi-selected:after{background-color:transparent}.block-editor-block-list__layout .block-editor-block-list__block.is-reusable>.block-editor-inner-blocks>.block-editor-block-list__layout.has-overlay:after{display:none}.block-editor-block-list__layout .block-editor-block-list__block.is-reusable>.block-editor-inner-blocks>.block-editor-block-list__layout.has-overlay .block-editor-block-list__layout.has-overlay:after{display:block}.block-editor-block-list__layout .block-editor-block-list__block.is-reusable.has-child-selected:after{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.block-editor-block-list__layout .block-editor-block-list__block[data-clear=true]{float:none}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-hovered{cursor:default}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-hovered:after{border-radius:1px;bottom:1px;box-shadow:0 0 0 1px var(--wp-admin-theme-color);content:"";left:1px;pointer-events:none;position:absolute;right:1px;top:1px}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected{cursor:default}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected.rich-text{cursor:unset}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected:after{border-radius:2px;bottom:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:1px;pointer-events:none;position:absolute;right:1px;top:1px}.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){opacity:.2;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){transition-delay:0s;transition-duration:0s}}.is-focus-mode .block-editor-block-list__block.is-content-locked-temporarily-editing-as-blocks.has-child-selected,.is-focus-mode .block-editor-block-list__block.is-content-locked-temporarily-editing-as-blocks.has-child-selected .block-editor-block-list__block,.is-focus-mode .block-editor-block-list__block.is-content-locked.has-child-selected,.is-focus-mode .block-editor-block-list__block.is-content-locked.has-child-selected .block-editor-block-list__block,.is-focus-mode .block-editor-block-list__block:not(.has-child-selected) .block-editor-block-list__block,.is-focus-mode .block-editor-block-list__block:not(.has-child-selected).is-multi-selected,.is-focus-mode .block-editor-block-list__block:not(.has-child-selected).is-selected{opacity:1}.wp-block.alignleft,.wp-block.alignright,.wp-block[data-align=left]>*,.wp-block[data-align=right]>*{z-index:21}.wp-site-blocks>[data-align=left]{float:right;margin-left:2em}.wp-site-blocks>[data-align=right]{float:left;margin-right:2em}.wp-site-blocks>[data-align=center]{justify-content:center;margin-left:auto;margin-right:auto}.block-editor-block-list .block-editor-inserter{cursor:move;cursor:grab;margin:8px}@keyframes block-editor-inserter__toggle__fade-in-animation{0%{opacity:0}to{opacity:1}}.wp-block .block-list-appender .block-editor-inserter__toggle{animation:block-editor-inserter__toggle__fade-in-animation .1s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.wp-block .block-list-appender .block-editor-inserter__toggle{animation-delay:0s;animation-duration:1ms}}.block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender{display:none}.block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender .block-editor-inserter__toggle{opacity:0;transform:scale(0)}.block-editor-block-list__block .block-editor-block-list__block-html-textarea{border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;display:block;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;line-height:1.5;margin:0;outline:none;overflow:hidden;padding:12px;resize:none;transition:padding .2s linear;width:100%}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block .block-editor-block-list__block-html-textarea{transition-delay:0s;transition-duration:0s}}.block-editor-block-list__block .block-editor-block-list__block-html-textarea:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-block-list__block .block-editor-warning{position:relative;z-index:5}.block-editor-block-list__block .block-editor-warning.block-editor-block-list__block-crash-warning{margin-bottom:auto}.block-editor-iframe__body{transform-origin:top center;transition:all .3s}.is-vertical .block-list-appender{margin-left:auto;margin-right:12px;margin-top:12px;width:24px}.block-list-appender>.block-editor-inserter{display:block}.block-editor-block-list__block:not(.is-selected):not(.has-child-selected):not(.block-editor-block-list__layout) .block-editor-block-list__layout>.block-list-appender .block-list-appender__toggle{opacity:0;transform:scale(0)}.block-editor-block-list__block.has-block-overlay{cursor:default}.block-editor-block-list__block.has-block-overlay:before{background:transparent;border:none;border-radius:2px;content:"";height:100%;position:absolute;right:0;top:0;width:100%;z-index:10}.block-editor-block-list__block.has-block-overlay:not(.is-multi-selected):after{content:none!important}.block-editor-block-list__block.has-block-overlay:hover:not(.is-dragging-blocks):not(.is-multi-selected):before{background:rgba(var(--wp-admin-theme-color--rgb),.04);box-shadow:0 0 0 1px var(--wp-admin-theme-color) inset}.block-editor-block-list__block.has-block-overlay.is-reusable:hover:not(.is-dragging-blocks):not(.is-multi-selected):before,.block-editor-block-list__block.has-block-overlay.wp-block-template-part:hover:not(.is-dragging-blocks):not(.is-multi-selected):before{background:rgba(var(--wp-block-synced-color--rgb),.04);box-shadow:0 0 0 1px var(--wp-block-synced-color) inset}.block-editor-block-list__block.has-block-overlay.is-selected:not(.is-dragging-blocks):before{box-shadow:0 0 0 1px var(--wp-admin-theme-color) inset}.block-editor-block-list__block.has-block-overlay .block-editor-block-list__block{pointer-events:none}.block-editor-iframe__body.is-zoomed-out .block-editor-block-list__block.has-block-overlay:before{right:calc(50% - 50vw);width:100vw}.block-editor-block-list__layout .is-dragging{background-color:currentColor!important;border-radius:2px!important;opacity:.05!important;pointer-events:none!important}.block-editor-block-list__layout .is-dragging::selection{background:transparent!important}.block-editor-block-list__layout .is-dragging:after{content:none!important}.block-editor-block-preview__content-iframe .block-list-appender{display:none}.block-editor-block-preview__live-content *{pointer-events:none}.block-editor-block-preview__live-content .block-list-appender{display:none}.block-editor-block-preview__live-content .components-button:disabled{opacity:1}.block-editor-block-preview__live-content .block-editor-block-list__block[data-empty=true],.block-editor-block-preview__live-content .components-placeholder{display:none}.block-editor-block-variation-picker .components-placeholder__instructions{margin-bottom:0}.block-editor-block-variation-picker .components-placeholder__fieldset{flex-direction:column}.block-editor-block-variation-picker.has-many-variations .components-placeholder__fieldset{max-width:90%}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;list-style:none;margin:16px 0;padding:0;width:100%}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations>li{flex-shrink:1;list-style:none;margin:8px 0 0 20px;text-align:center;width:75px}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations>li button{display:inline-flex;margin-left:0}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations .block-editor-block-variation-picker__variation{padding:8px}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations .block-editor-block-variation-picker__variation-label{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;line-height:1.4}.block-editor-block-variation-picker__variation{width:100%}.block-editor-block-variation-picker__variation.components-button.has-icon{justify-content:center;width:auto}.block-editor-block-variation-picker__variation.components-button.has-icon.is-secondary{background-color:#fff}.block-editor-block-variation-picker__variation.components-button{height:auto;padding:0}.block-editor-block-variation-picker__variation:before{content:"";padding-bottom:100%}.block-editor-block-variation-picker__variation:first-child{margin-right:0}.block-editor-block-variation-picker__variation:last-child{margin-left:0}.block-editor-button-block-appender{align-items:center;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;display:flex;flex-direction:column;height:auto;justify-content:center;width:100%}.block-editor-button-block-appender.components-button.components-button{padding:12px}.is-dark-theme .block-editor-button-block-appender{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65);color:hsla(0,0%,100%,.65)}.block-editor-button-block-appender:hover{box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);color:var(--wp-admin-theme-color)}.block-editor-button-block-appender:focus{box-shadow:inset 0 0 0 2px var(--wp-admin-theme-color)}.block-editor-button-block-appender:active{color:#000}.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child{pointer-events:none}.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after{border:1px dashed;border-radius:2px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after:before,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter{visibility:hidden}.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after{border:none}.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter{visibility:visible}.block-editor-block-list__block:not(.is-selected)>.block-editor-block-list__block>.block-list-appender:only-child:after{border:none}.block-list-appender:only-child.is-drag-over .block-editor-button-block-appender{background-color:var(--wp-admin-theme-color);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65);color:hsla(0,0%,100%,.65);transition:background-color .2s ease-in-out}@media (prefers-reduced-motion:reduce){.block-list-appender:only-child.is-drag-over .block-editor-button-block-appender{transition:none}}.block-editor-default-block-appender{clear:both;margin-left:auto;margin-right:auto;position:relative}.block-editor-default-block-appender[data-root-client-id=""] .block-editor-default-block-appender__content:hover{outline:1px solid transparent}.block-editor-default-block-appender .block-editor-default-block-appender__content{opacity:.62}:where(body .is-layout-constrained) .block-editor-default-block-appender>:first-child:first-child{-webkit-margin-before:0;margin-block-start:0}.block-editor-default-block-appender .components-drop-zone__content-icon{display:none}.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon{background:#1e1e1e;border-radius:2px;color:#fff;height:24px;min-width:24px;padding:0}.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon:hover{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{left:0;line-height:0;position:absolute;top:0}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter:disabled,.block-editor-default-block-appender .block-editor-inserter:disabled{display:none}.block-editor-block-list__block .block-list-appender{bottom:0;left:0;list-style:none;padding:0;position:absolute;z-index:2}.block-editor-block-list__block .block-list-appender.block-list-appender{line-height:0;margin:0}.block-editor-block-list__block .block-list-appender .block-editor-default-block-appender{height:24px}.block-editor-block-list__block .block-list-appender .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__block .block-list-appender .block-list-appender__toggle{background:#1e1e1e;box-shadow:none;color:#fff;display:none;flex-direction:row;height:24px;min-width:24px;padding:0!important;width:24px}.block-editor-block-list__block .block-list-appender .block-editor-inserter__toggle.components-button.has-icon:hover,.block-editor-block-list__block .block-list-appender .block-list-appender__toggle:hover{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-list__block .block-list-appender .block-editor-default-block-appender__content{display:none}.block-editor-block-list__block .block-list-appender:only-child{align-self:center;left:auto;line-height:inherit;list-style:none;position:relative}.block-editor-block-list__block .block-list-appender:only-child .block-editor-default-block-appender__content{display:block}.block-editor-block-list__block.is-selected .block-editor-block-list__layout>.block-list-appender .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__block.is-selected .block-editor-block-list__layout>.block-list-appender .block-list-appender__toggle,.block-editor-block-list__block.is-selected>.block-list-appender .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__block.is-selected>.block-list-appender .block-list-appender__toggle{display:flex}.block-editor-default-block-appender__content{cursor:text}.block-editor-block-list__layout.has-overlay:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:60}.block-editor-media-placeholder__url-input-container .block-editor-media-placeholder__button{margin-bottom:0}.block-editor-media-placeholder__url-input-form{display:flex}.block-editor-media-placeholder__url-input-form input[type=url].block-editor-media-placeholder__url-input-field{border:none;border-radius:0;flex-grow:1;margin:2px;min-width:200px;width:100%}@media (min-width:600px){.block-editor-media-placeholder__url-input-form input[type=url].block-editor-media-placeholder__url-input-field{width:300px}}.block-editor-media-placeholder__url-input-submit-button{flex-shrink:1}.block-editor-media-placeholder__button{margin-bottom:.5rem}.block-editor-media-placeholder__cancel-button.is-link{display:block;margin:1em}.block-editor-media-placeholder.is-appender{min-height:0}.block-editor-media-placeholder.is-appender:hover{box-shadow:0 0 0 1px var(--wp-admin-theme-color);cursor:pointer}.block-editor-plain-text{border:none;box-shadow:none;color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:0;width:100%}.rich-text [data-rich-text-placeholder]{pointer-events:none}.rich-text [data-rich-text-placeholder]:after{content:attr(data-rich-text-placeholder);opacity:.62}.rich-text:focus{outline:none}.rich-text:focus [data-rich-text-format-boundary]{border-radius:2px}.block-editor-rich-text__editable>p:first-child{margin-top:0}figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]:before{opacity:.8}[data-rich-text-script]{display:inline}[data-rich-text-script]:before{background:#ff0;content:""}.block-editor-warning{align-items:center;background-color:#fff;border:1px solid #1e1e1e;border-radius:2px;display:flex;flex-wrap:wrap;padding:1em}.block-editor-warning,.block-editor-warning .block-editor-warning__message{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.block-editor-warning .block-editor-warning__message{color:#1e1e1e;font-size:13px;line-height:1.4;margin:0}.block-editor-warning p.block-editor-warning__message.block-editor-warning__message{min-height:auto}.block-editor-warning .block-editor-warning__contents{align-items:baseline;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;width:100%}.block-editor-warning .block-editor-warning__actions{align-items:center;display:flex;margin-top:1em}.block-editor-warning .block-editor-warning__action{margin:0 0 0 8px}.block-editor-warning__secondary{margin:auto 8px auto 0}.components-popover.block-editor-warning__dropdown{z-index:99998}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-editor-block-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.block-editor-block-icon.has-colors svg{fill:currentColor}@media (forced-colors:active){.block-editor-block-icon.has-colors svg{fill:CanvasText}}.block-editor-block-icon svg{max-height:24px;max-width:24px;min-height:20px;min-width:20px}.block-editor-block-styles .block-editor-block-list__block{margin:0}@keyframes selection-overlay__fade-in-animation{0%{opacity:0}to{opacity:.4}}:root .block-editor-block-list__layout::selection,:root .has-multi-selection .block-editor-block-list__layout::selection,_::-webkit-full-page-media,_:future{background-color:transparent}.block-editor-block-list__layout{position:relative}.block-editor-block-list__layout:where(.block-editor-block-list__block.is-multi-selected:not(.is-partially-selected)){border-radius:2px}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected) ::selection,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected)::selection{background:transparent}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected):after{animation:selection-overlay__fade-in-animation .1s ease-out;animation-fill-mode:forwards;background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.4;outline:2px solid transparent;pointer-events:none;position:absolute;right:0;top:0;z-index:1}@media (prefers-reduced-motion:reduce){.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected):after{animation-delay:0s;animation-duration:1ms}}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected).is-highlighted:after{box-shadow:none}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]):focus,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected{outline:none}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]):focus:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{border-radius:1px;bottom:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:1px;outline:2px solid transparent;pointer-events:none;position:absolute;right:1px;top:1px;z-index:1}.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]):focus:after,.is-dark-theme .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:after{border-radius:2px;border-top:4px solid #ccc;bottom:auto;box-shadow:none;content:"";left:0;pointer-events:none;position:absolute;right:0;top:-14px;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;z-index:0}.block-editor-block-list__layout .is-block-moving-mode.can-insert-moving-block.block-editor-block-list__block.is-selected:after{border-color:var(--wp-admin-theme-color)}.has-multi-selection .block-editor-block-list__layout{-webkit-user-select:none;user-select:none}.block-editor-block-list__layout [class^=components-]{-webkit-user-select:text;user-select:text}.is-block-moving-mode.block-editor-block-list__block-selection-button{font-size:1px;height:1px;opacity:0;padding:0}.block-editor-block-list__layout .block-editor-block-list__block{overflow-wrap:break-word;pointer-events:auto;position:relative;-webkit-user-select:text;user-select:text}.block-editor-block-list__layout .block-editor-block-list__block.is-editing-disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.block-editor-block-list__layout .block-editor-block-list__block .reusable-block-edit-panel *{z-index:1}.block-editor-block-list__layout .block-editor-block-list__block .components-placeholder .components-with-notices-ui{margin:-10px 0 12px}.block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui{margin:0 0 12px;width:100%}.block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui .components-notice .components-notice__content{font-size:13px}.block-editor-block-list__layout .block-editor-block-list__block.has-warning{min-height:48px}.block-editor-block-list__layout .block-editor-block-list__block.has-warning>*{pointer-events:none;-webkit-user-select:none;user-select:none}.block-editor-block-list__layout .block-editor-block-list__block.has-warning .block-editor-warning{pointer-events:all}.block-editor-block-list__layout .block-editor-block-list__block.has-warning:after{background-color:hsla(0,0%,100%,.4);border-radius:2px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.block-editor-block-list__layout .block-editor-block-list__block.has-warning.is-multi-selected:after{background-color:transparent}.block-editor-block-list__layout .block-editor-block-list__block.is-reusable>.block-editor-inner-blocks>.block-editor-block-list__layout.has-overlay:after{display:none}.block-editor-block-list__layout .block-editor-block-list__block.is-reusable>.block-editor-inner-blocks>.block-editor-block-list__layout.has-overlay .block-editor-block-list__layout.has-overlay:after{display:block}.block-editor-block-list__layout .block-editor-block-list__block.is-reusable.has-child-selected:after{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.block-editor-block-list__layout .block-editor-block-list__block[data-clear=true]{float:none}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-hovered{cursor:default}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-hovered:after{border-radius:1px;bottom:1px;box-shadow:0 0 0 1px var(--wp-admin-theme-color);content:"";left:1px;pointer-events:none;position:absolute;right:1px;top:1px}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected{cursor:default}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected.rich-text{cursor:unset}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected:after{border-radius:2px;bottom:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:1px;pointer-events:none;position:absolute;right:1px;top:1px}.block-editor-block-list__block:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after,.block-editor-block-list__block:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after,.is-template-locked:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after,.is-template-locked:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after{border-style:dotted;border:1px dotted var(--wp-admin-theme-color);border-radius:1px;bottom:1px;content:"";left:1px;pointer-events:none;position:absolute;right:1px;top:1px}.block-editor-block-list__block:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after,.block-editor-block-list__block:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after,.is-template-locked:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after,.is-template-locked:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after{background:rgba(var(--wp-admin-theme-color--rgb),.1);border:none}.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){opacity:.2;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){transition-delay:0s;transition-duration:0s}}.is-focus-mode .block-editor-block-list__block.is-content-locked-temporarily-editing-as-blocks.has-child-selected,.is-focus-mode .block-editor-block-list__block.is-content-locked-temporarily-editing-as-blocks.has-child-selected .block-editor-block-list__block,.is-focus-mode .block-editor-block-list__block.is-content-locked.has-child-selected,.is-focus-mode .block-editor-block-list__block.is-content-locked.has-child-selected .block-editor-block-list__block,.is-focus-mode .block-editor-block-list__block:not(.has-child-selected) .block-editor-block-list__block,.is-focus-mode .block-editor-block-list__block:not(.has-child-selected).is-multi-selected,.is-focus-mode .block-editor-block-list__block:not(.has-child-selected).is-selected{opacity:1}.wp-block.alignleft,.wp-block.alignright,.wp-block[data-align=left]>*,.wp-block[data-align=right]>*{z-index:21}.wp-site-blocks>[data-align=left]{float:right;margin-left:2em}.wp-site-blocks>[data-align=right]{float:left;margin-right:2em}.wp-site-blocks>[data-align=center]{justify-content:center;margin-left:auto;margin-right:auto}.block-editor-block-list .block-editor-inserter{cursor:move;cursor:grab;margin:8px}@keyframes block-editor-inserter__toggle__fade-in-animation{0%{opacity:0}to{opacity:1}}.wp-block .block-list-appender .block-editor-inserter__toggle{animation:block-editor-inserter__toggle__fade-in-animation .1s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.wp-block .block-list-appender .block-editor-inserter__toggle{animation-delay:0s;animation-duration:1ms}}.block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender{display:none}.block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender .block-editor-inserter__toggle{opacity:0;transform:scale(0)}.block-editor-block-list__block .block-editor-block-list__block-html-textarea{border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;display:block;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;line-height:1.5;margin:0;outline:none;overflow:hidden;padding:12px;resize:none;transition:padding .2s linear;width:100%}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block .block-editor-block-list__block-html-textarea{transition-delay:0s;transition-duration:0s}}.block-editor-block-list__block .block-editor-block-list__block-html-textarea:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-block-list__block .block-editor-warning{position:relative;z-index:5}.block-editor-block-list__block .block-editor-warning.block-editor-block-list__block-crash-warning{margin-bottom:auto}.block-editor-iframe__body{transform-origin:top center;transition:all .3s}.is-vertical .block-list-appender{margin-left:auto;margin-right:12px;margin-top:12px;width:24px}.block-list-appender>.block-editor-inserter{display:block}.block-editor-block-list__block:not(.is-selected):not(.has-child-selected):not(.block-editor-block-list__layout) .block-editor-block-list__layout>.block-list-appender .block-list-appender__toggle{opacity:0;transform:scale(0)}.block-editor-block-list__block.has-block-overlay{cursor:default}.block-editor-block-list__block.has-block-overlay:before{background:transparent;border:none;border-radius:2px;content:"";height:100%;position:absolute;right:0;top:0;width:100%;z-index:10}.block-editor-block-list__block.has-block-overlay:not(.is-multi-selected):after{content:none!important}.block-editor-block-list__block.has-block-overlay:hover:not(.is-dragging-blocks):not(.is-multi-selected):before{background:rgba(var(--wp-admin-theme-color--rgb),.04);box-shadow:0 0 0 1px var(--wp-admin-theme-color) inset}.block-editor-block-list__block.has-block-overlay.is-reusable:hover:not(.is-dragging-blocks):not(.is-multi-selected):before,.block-editor-block-list__block.has-block-overlay.wp-block-template-part:hover:not(.is-dragging-blocks):not(.is-multi-selected):before{background:rgba(var(--wp-block-synced-color--rgb),.04);box-shadow:0 0 0 1px var(--wp-block-synced-color) inset}.block-editor-block-list__block.has-block-overlay.is-selected:not(.is-dragging-blocks):before{box-shadow:0 0 0 1px var(--wp-admin-theme-color) inset}.block-editor-block-list__block.has-block-overlay .block-editor-block-list__block{pointer-events:none}.block-editor-iframe__body.is-zoomed-out .block-editor-block-list__block.has-block-overlay:before{right:calc(50% - 50vw);width:100vw}.block-editor-block-list__layout .is-dragging{background-color:currentColor!important;border-radius:2px!important;opacity:.05!important;pointer-events:none!important}.block-editor-block-list__layout .is-dragging::selection{background:transparent!important}.block-editor-block-list__layout .is-dragging:after{content:none!important}.block-editor-block-preview__content-iframe .block-list-appender{display:none}.block-editor-block-preview__live-content *{pointer-events:none}.block-editor-block-preview__live-content .block-list-appender{display:none}.block-editor-block-preview__live-content .components-button:disabled{opacity:1}.block-editor-block-preview__live-content .block-editor-block-list__block[data-empty=true],.block-editor-block-preview__live-content .components-placeholder{display:none}.block-editor-block-variation-picker .components-placeholder__instructions{margin-bottom:0}.block-editor-block-variation-picker .components-placeholder__fieldset{flex-direction:column}.block-editor-block-variation-picker.has-many-variations .components-placeholder__fieldset{max-width:90%}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;list-style:none;margin:16px 0;padding:0;width:100%}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations>li{flex-shrink:1;list-style:none;margin:8px 0 0 20px;text-align:center;width:75px}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations>li button{display:inline-flex;margin-left:0}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations .block-editor-block-variation-picker__variation{padding:8px}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations .block-editor-block-variation-picker__variation-label{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;line-height:1.4}.block-editor-block-variation-picker__variation{width:100%}.block-editor-block-variation-picker__variation.components-button.has-icon{justify-content:center;width:auto}.block-editor-block-variation-picker__variation.components-button.has-icon.is-secondary{background-color:#fff}.block-editor-block-variation-picker__variation.components-button{height:auto;padding:0}.block-editor-block-variation-picker__variation:before{content:"";padding-bottom:100%}.block-editor-block-variation-picker__variation:first-child{margin-right:0}.block-editor-block-variation-picker__variation:last-child{margin-left:0}.block-editor-button-block-appender{align-items:center;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;display:flex;flex-direction:column;height:auto;justify-content:center;width:100%}.block-editor-button-block-appender.components-button.components-button{padding:12px}.is-dark-theme .block-editor-button-block-appender{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65);color:hsla(0,0%,100%,.65)}.block-editor-button-block-appender:hover{box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);color:var(--wp-admin-theme-color)}.block-editor-button-block-appender:focus{box-shadow:inset 0 0 0 2px var(--wp-admin-theme-color)}.block-editor-button-block-appender:active{color:#000}.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child{pointer-events:none}.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child:after,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after{border:1px dashed;border-radius:2px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child:after:before,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child:after:before,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter{visibility:hidden}.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after{border:none}.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter{visibility:visible}.block-editor-block-list__block:not(.is-selected)>.block-editor-block-list__block>.block-list-appender:only-child:after{border:none}.block-list-appender:only-child.is-drag-over .block-editor-button-block-appender{background-color:var(--wp-admin-theme-color);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65);color:hsla(0,0%,100%,.65);transition:background-color .2s ease-in-out}@media (prefers-reduced-motion:reduce){.block-list-appender:only-child.is-drag-over .block-editor-button-block-appender{transition:none}}.block-editor-default-block-appender{clear:both;margin-left:auto;margin-right:auto;position:relative}.block-editor-default-block-appender[data-root-client-id=""] .block-editor-default-block-appender__content:hover{outline:1px solid transparent}.block-editor-default-block-appender .block-editor-default-block-appender__content{opacity:.62}:where(body .is-layout-constrained) .block-editor-default-block-appender>:first-child:first-child{margin-block-start:0}.block-editor-default-block-appender .components-drop-zone__content-icon{display:none}.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon{background:#1e1e1e;border-radius:2px;color:#fff;height:24px;min-width:24px;padding:0}.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon:hover{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{left:0;line-height:0;position:absolute;top:0}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter:disabled,.block-editor-default-block-appender .block-editor-inserter:disabled{display:none}.block-editor-block-list__block .block-list-appender{bottom:0;left:0;list-style:none;padding:0;position:absolute;z-index:2}.block-editor-block-list__block .block-list-appender.block-list-appender{line-height:0;margin:0}.block-editor-block-list__block .block-list-appender .block-editor-default-block-appender{height:24px}.block-editor-block-list__block .block-list-appender .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__block .block-list-appender .block-list-appender__toggle{background:#1e1e1e;box-shadow:none;color:#fff;display:none;flex-direction:row;height:24px;min-width:24px;padding:0!important;width:24px}.block-editor-block-list__block .block-list-appender .block-editor-inserter__toggle.components-button.has-icon:hover,.block-editor-block-list__block .block-list-appender .block-list-appender__toggle:hover{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-list__block .block-list-appender .block-editor-default-block-appender__content{display:none}.block-editor-block-list__block .block-list-appender:only-child{align-self:center;left:auto;line-height:inherit;list-style:none;position:relative}.block-editor-block-list__block .block-list-appender:only-child .block-editor-default-block-appender__content{display:block}.block-editor-block-list__block.is-selected .block-editor-block-list__layout>.block-list-appender .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__block.is-selected .block-editor-block-list__layout>.block-list-appender .block-list-appender__toggle,.block-editor-block-list__block.is-selected>.block-list-appender .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__block.is-selected>.block-list-appender .block-list-appender__toggle{display:flex}.block-editor-default-block-appender__content{cursor:text}.block-editor-block-list__layout.has-overlay:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:60}.block-editor-media-placeholder__url-input-container .block-editor-media-placeholder__button{margin-bottom:0}.block-editor-media-placeholder__url-input-form{display:flex}.block-editor-media-placeholder__url-input-form input[type=url].block-editor-media-placeholder__url-input-field{border:none;border-radius:0;flex-grow:1;margin:2px;min-width:200px;width:100%}@media (min-width:600px){.block-editor-media-placeholder__url-input-form input[type=url].block-editor-media-placeholder__url-input-field{width:300px}}.block-editor-media-placeholder__url-input-submit-button{flex-shrink:1}.block-editor-media-placeholder__button{margin-bottom:.5rem}.block-editor-media-placeholder__cancel-button.is-link{display:block;margin:1em}.block-editor-media-placeholder.is-appender{min-height:0}.block-editor-media-placeholder.is-appender:hover{box-shadow:0 0 0 1px var(--wp-admin-theme-color);cursor:pointer}.block-editor-plain-text{border:none;box-shadow:none;color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:0;width:100%}.rich-text [data-rich-text-placeholder]{pointer-events:none}.rich-text [data-rich-text-placeholder]:after{content:attr(data-rich-text-placeholder);opacity:.62}.rich-text:focus{outline:none}.rich-text:focus [data-rich-text-format-boundary]{border-radius:2px}.block-editor-rich-text__editable>p:first-child{margin-top:0}figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]:before{opacity:.8}[data-rich-text-script]{display:inline}[data-rich-text-script]:before{background:#ff0;content:""}.block-editor-warning{align-items:center;background-color:#fff;border:1px solid #1e1e1e;border-radius:2px;display:flex;flex-wrap:wrap;padding:1em}.block-editor-warning,.block-editor-warning .block-editor-warning__message{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.block-editor-warning .block-editor-warning__message{color:#1e1e1e;font-size:13px;line-height:1.4;margin:0}.block-editor-warning p.block-editor-warning__message.block-editor-warning__message{min-height:auto}.block-editor-warning .block-editor-warning__contents{align-items:baseline;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;width:100%}.block-editor-warning .block-editor-warning__actions{align-items:center;display:flex;margin-top:1em}.block-editor-warning .block-editor-warning__action{margin:0 0 0 8px}.block-editor-warning__secondary{margin:auto 8px auto 0}.components-popover.block-editor-warning__dropdown{z-index:99998}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file diff --git a/wp-includes/css/dist/block-editor/content.css b/wp-includes/css/dist/block-editor/content.css index 702cae4df1..355ac00c52 100644 --- a/wp-includes/css/dist/block-editor/content.css +++ b/wp-includes/css/dist/block-editor/content.css @@ -85,10 +85,10 @@ .block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected).is-highlighted:after{ box-shadow:none; } -.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected{ +.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]):focus,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected{ outline:none; } -.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{ +.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]):focus:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{ border-radius:1px; bottom:1px; box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); @@ -101,7 +101,7 @@ top:1px; z-index:1; } -.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after,.is-dark-theme .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{ +.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]):focus:after,.is-dark-theme .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{ box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff; } .block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:after{ @@ -159,10 +159,6 @@ margin:0 0 12px; width:100%; } -.block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui .components-notice{ - margin-left:0; - margin-right:0; -} .block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui .components-notice .components-notice__content{ font-size:13px; } @@ -235,6 +231,23 @@ top:1px; } +.block-editor-block-list__block:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after,.block-editor-block-list__block:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after,.is-template-locked:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after,.is-template-locked:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after{ + border-style:dotted; + border:1px dotted var(--wp-admin-theme-color); + border-radius:1px; + bottom:1px; + content:""; + left:1px; + pointer-events:none; + position:absolute; + right:1px; + top:1px; +} +.block-editor-block-list__block:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after,.block-editor-block-list__block:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after,.is-template-locked:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after,.is-template-locked:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after{ + background:rgba(var(--wp-admin-theme-color--rgb), .1); + border:none; +} + .is-focus-mode .block-editor-block-list__block:not(.has-child-selected){ opacity:.2; transition:opacity .1s linear; @@ -517,10 +530,10 @@ color:#000; } -.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child{ +.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child{ pointer-events:none; } -.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after{ +.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child:after,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after{ border:1px dashed; border-radius:2px; bottom:0; @@ -531,7 +544,7 @@ right:0; top:0; } -.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after:before,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after:before{ +.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child:after:before,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child:after:before,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before{ background:currentColor; bottom:0; content:""; @@ -542,13 +555,13 @@ right:0; top:0; } -.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter{ +.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter{ visibility:hidden; } -.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after{ +.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after{ border:none; } -.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter{ +.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter{ visibility:visible; } .block-editor-block-list__block:not(.is-selected)>.block-editor-block-list__block>.block-list-appender:only-child:after{ @@ -578,8 +591,7 @@ opacity:.62; } :where(body .is-layout-constrained) .block-editor-default-block-appender>:first-child:first-child{ - -webkit-margin-before:0; - margin-block-start:0; + margin-block-start:0; } .block-editor-default-block-appender .components-drop-zone__content-icon{ display:none; diff --git a/wp-includes/css/dist/block-editor/content.min.css b/wp-includes/css/dist/block-editor/content.min.css index 9e60e7f0fe..a4db1a66ba 100644 --- a/wp-includes/css/dist/block-editor/content.min.css +++ b/wp-includes/css/dist/block-editor/content.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-editor-block-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.block-editor-block-icon.has-colors svg{fill:currentColor}@media (forced-colors:active){.block-editor-block-icon.has-colors svg{fill:CanvasText}}.block-editor-block-icon svg{max-height:24px;max-width:24px;min-height:20px;min-width:20px}.block-editor-block-styles .block-editor-block-list__block{margin:0}@keyframes selection-overlay__fade-in-animation{0%{opacity:0}to{opacity:.4}}:root .block-editor-block-list__layout::selection,:root .has-multi-selection .block-editor-block-list__layout::selection,_::-webkit-full-page-media,_:future{background-color:transparent}.block-editor-block-list__layout{position:relative}.block-editor-block-list__layout:where(.block-editor-block-list__block.is-multi-selected:not(.is-partially-selected)){border-radius:2px}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected) ::selection,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected)::selection{background:transparent}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected):after{animation:selection-overlay__fade-in-animation .1s ease-out;animation-fill-mode:forwards;background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.4;outline:2px solid transparent;pointer-events:none;position:absolute;right:0;top:0;z-index:1}@media (prefers-reduced-motion:reduce){.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected):after{animation-delay:0s;animation-duration:1ms}}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected).is-highlighted:after{box-shadow:none}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected{outline:none}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{border-radius:1px;bottom:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:1px;outline:2px solid transparent;pointer-events:none;position:absolute;right:1px;top:1px;z-index:1}.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after,.is-dark-theme .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:after{border-radius:2px;border-top:4px solid #ccc;bottom:auto;box-shadow:none;content:"";left:0;pointer-events:none;position:absolute;right:0;top:-14px;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;z-index:0}.block-editor-block-list__layout .is-block-moving-mode.can-insert-moving-block.block-editor-block-list__block.is-selected:after{border-color:var(--wp-admin-theme-color)}.has-multi-selection .block-editor-block-list__layout{-webkit-user-select:none;user-select:none}.block-editor-block-list__layout [class^=components-]{-webkit-user-select:text;user-select:text}.is-block-moving-mode.block-editor-block-list__block-selection-button{font-size:1px;height:1px;opacity:0;padding:0}.block-editor-block-list__layout .block-editor-block-list__block{overflow-wrap:break-word;pointer-events:auto;position:relative;-webkit-user-select:text;user-select:text}.block-editor-block-list__layout .block-editor-block-list__block.is-editing-disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.block-editor-block-list__layout .block-editor-block-list__block .reusable-block-edit-panel *{z-index:1}.block-editor-block-list__layout .block-editor-block-list__block .components-placeholder .components-with-notices-ui{margin:-10px 0 12px}.block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui{margin:0 0 12px;width:100%}.block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui .components-notice{margin-left:0;margin-right:0}.block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui .components-notice .components-notice__content{font-size:13px}.block-editor-block-list__layout .block-editor-block-list__block.has-warning{min-height:48px}.block-editor-block-list__layout .block-editor-block-list__block.has-warning>*{pointer-events:none;-webkit-user-select:none;user-select:none}.block-editor-block-list__layout .block-editor-block-list__block.has-warning .block-editor-warning{pointer-events:all}.block-editor-block-list__layout .block-editor-block-list__block.has-warning:after{background-color:hsla(0,0%,100%,.4);border-radius:2px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.block-editor-block-list__layout .block-editor-block-list__block.has-warning.is-multi-selected:after{background-color:transparent}.block-editor-block-list__layout .block-editor-block-list__block.is-reusable>.block-editor-inner-blocks>.block-editor-block-list__layout.has-overlay:after{display:none}.block-editor-block-list__layout .block-editor-block-list__block.is-reusable>.block-editor-inner-blocks>.block-editor-block-list__layout.has-overlay .block-editor-block-list__layout.has-overlay:after{display:block}.block-editor-block-list__layout .block-editor-block-list__block.is-reusable.has-child-selected:after{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.block-editor-block-list__layout .block-editor-block-list__block[data-clear=true]{float:none}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-hovered{cursor:default}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-hovered:after{border-radius:1px;bottom:1px;box-shadow:0 0 0 1px var(--wp-admin-theme-color);content:"";left:1px;pointer-events:none;position:absolute;right:1px;top:1px}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected{cursor:default}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected.rich-text{cursor:unset}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected:after{border-radius:2px;bottom:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:1px;pointer-events:none;position:absolute;right:1px;top:1px}.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){opacity:.2;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){transition-delay:0s;transition-duration:0s}}.is-focus-mode .block-editor-block-list__block.is-content-locked-temporarily-editing-as-blocks.has-child-selected,.is-focus-mode .block-editor-block-list__block.is-content-locked-temporarily-editing-as-blocks.has-child-selected .block-editor-block-list__block,.is-focus-mode .block-editor-block-list__block.is-content-locked.has-child-selected,.is-focus-mode .block-editor-block-list__block.is-content-locked.has-child-selected .block-editor-block-list__block,.is-focus-mode .block-editor-block-list__block:not(.has-child-selected) .block-editor-block-list__block,.is-focus-mode .block-editor-block-list__block:not(.has-child-selected).is-multi-selected,.is-focus-mode .block-editor-block-list__block:not(.has-child-selected).is-selected{opacity:1}.wp-block.alignleft,.wp-block.alignright,.wp-block[data-align=left]>*,.wp-block[data-align=right]>*{z-index:21}.wp-site-blocks>[data-align=left]{float:left;margin-right:2em}.wp-site-blocks>[data-align=right]{float:right;margin-left:2em}.wp-site-blocks>[data-align=center]{justify-content:center;margin-left:auto;margin-right:auto}.block-editor-block-list .block-editor-inserter{cursor:move;cursor:grab;margin:8px}@keyframes block-editor-inserter__toggle__fade-in-animation{0%{opacity:0}to{opacity:1}}.wp-block .block-list-appender .block-editor-inserter__toggle{animation:block-editor-inserter__toggle__fade-in-animation .1s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.wp-block .block-list-appender .block-editor-inserter__toggle{animation-delay:0s;animation-duration:1ms}}.block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender{display:none}.block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender .block-editor-inserter__toggle{opacity:0;transform:scale(0)}.block-editor-block-list__block .block-editor-block-list__block-html-textarea{border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;display:block;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;line-height:1.5;margin:0;outline:none;overflow:hidden;padding:12px;resize:none;transition:padding .2s linear;width:100%}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block .block-editor-block-list__block-html-textarea{transition-delay:0s;transition-duration:0s}}.block-editor-block-list__block .block-editor-block-list__block-html-textarea:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-block-list__block .block-editor-warning{position:relative;z-index:5}.block-editor-block-list__block .block-editor-warning.block-editor-block-list__block-crash-warning{margin-bottom:auto}.block-editor-iframe__body{transform-origin:top center;transition:all .3s}.is-vertical .block-list-appender{margin-left:12px;margin-right:auto;margin-top:12px;width:24px}.block-list-appender>.block-editor-inserter{display:block}.block-editor-block-list__block:not(.is-selected):not(.has-child-selected):not(.block-editor-block-list__layout) .block-editor-block-list__layout>.block-list-appender .block-list-appender__toggle{opacity:0;transform:scale(0)}.block-editor-block-list__block.has-block-overlay{cursor:default}.block-editor-block-list__block.has-block-overlay:before{background:transparent;border:none;border-radius:2px;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:10}.block-editor-block-list__block.has-block-overlay:not(.is-multi-selected):after{content:none!important}.block-editor-block-list__block.has-block-overlay:hover:not(.is-dragging-blocks):not(.is-multi-selected):before{background:rgba(var(--wp-admin-theme-color--rgb),.04);box-shadow:0 0 0 1px var(--wp-admin-theme-color) inset}.block-editor-block-list__block.has-block-overlay.is-reusable:hover:not(.is-dragging-blocks):not(.is-multi-selected):before,.block-editor-block-list__block.has-block-overlay.wp-block-template-part:hover:not(.is-dragging-blocks):not(.is-multi-selected):before{background:rgba(var(--wp-block-synced-color--rgb),.04);box-shadow:0 0 0 1px var(--wp-block-synced-color) inset}.block-editor-block-list__block.has-block-overlay.is-selected:not(.is-dragging-blocks):before{box-shadow:0 0 0 1px var(--wp-admin-theme-color) inset}.block-editor-block-list__block.has-block-overlay .block-editor-block-list__block{pointer-events:none}.block-editor-iframe__body.is-zoomed-out .block-editor-block-list__block.has-block-overlay:before{left:calc(50% - 50vw);width:100vw}.block-editor-block-list__layout .is-dragging{background-color:currentColor!important;border-radius:2px!important;opacity:.05!important;pointer-events:none!important}.block-editor-block-list__layout .is-dragging::selection{background:transparent!important}.block-editor-block-list__layout .is-dragging:after{content:none!important}.block-editor-block-preview__content-iframe .block-list-appender{display:none}.block-editor-block-preview__live-content *{pointer-events:none}.block-editor-block-preview__live-content .block-list-appender{display:none}.block-editor-block-preview__live-content .components-button:disabled{opacity:1}.block-editor-block-preview__live-content .block-editor-block-list__block[data-empty=true],.block-editor-block-preview__live-content .components-placeholder{display:none}.block-editor-block-variation-picker .components-placeholder__instructions{margin-bottom:0}.block-editor-block-variation-picker .components-placeholder__fieldset{flex-direction:column}.block-editor-block-variation-picker.has-many-variations .components-placeholder__fieldset{max-width:90%}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;list-style:none;margin:16px 0;padding:0;width:100%}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations>li{flex-shrink:1;list-style:none;margin:8px 20px 0 0;text-align:center;width:75px}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations>li button{display:inline-flex;margin-right:0}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations .block-editor-block-variation-picker__variation{padding:8px}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations .block-editor-block-variation-picker__variation-label{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;line-height:1.4}.block-editor-block-variation-picker__variation{width:100%}.block-editor-block-variation-picker__variation.components-button.has-icon{justify-content:center;width:auto}.block-editor-block-variation-picker__variation.components-button.has-icon.is-secondary{background-color:#fff}.block-editor-block-variation-picker__variation.components-button{height:auto;padding:0}.block-editor-block-variation-picker__variation:before{content:"";padding-bottom:100%}.block-editor-block-variation-picker__variation:first-child{margin-left:0}.block-editor-block-variation-picker__variation:last-child{margin-right:0}.block-editor-button-block-appender{align-items:center;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;display:flex;flex-direction:column;height:auto;justify-content:center;width:100%}.block-editor-button-block-appender.components-button.components-button{padding:12px}.is-dark-theme .block-editor-button-block-appender{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65);color:hsla(0,0%,100%,.65)}.block-editor-button-block-appender:hover{box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);color:var(--wp-admin-theme-color)}.block-editor-button-block-appender:focus{box-shadow:inset 0 0 0 2px var(--wp-admin-theme-color)}.block-editor-button-block-appender:active{color:#000}.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child{pointer-events:none}.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after{border:1px dashed;border-radius:2px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after:before,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child:after:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter{visibility:hidden}.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after{border:none}.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter{visibility:visible}.block-editor-block-list__block:not(.is-selected)>.block-editor-block-list__block>.block-list-appender:only-child:after{border:none}.block-list-appender:only-child.is-drag-over .block-editor-button-block-appender{background-color:var(--wp-admin-theme-color);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65);color:hsla(0,0%,100%,.65);transition:background-color .2s ease-in-out}@media (prefers-reduced-motion:reduce){.block-list-appender:only-child.is-drag-over .block-editor-button-block-appender{transition:none}}.block-editor-default-block-appender{clear:both;margin-left:auto;margin-right:auto;position:relative}.block-editor-default-block-appender[data-root-client-id=""] .block-editor-default-block-appender__content:hover{outline:1px solid transparent}.block-editor-default-block-appender .block-editor-default-block-appender__content{opacity:.62}:where(body .is-layout-constrained) .block-editor-default-block-appender>:first-child:first-child{-webkit-margin-before:0;margin-block-start:0}.block-editor-default-block-appender .components-drop-zone__content-icon{display:none}.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon{background:#1e1e1e;border-radius:2px;color:#fff;height:24px;min-width:24px;padding:0}.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon:hover{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{line-height:0;position:absolute;right:0;top:0}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter:disabled,.block-editor-default-block-appender .block-editor-inserter:disabled{display:none}.block-editor-block-list__block .block-list-appender{bottom:0;list-style:none;padding:0;position:absolute;right:0;z-index:2}.block-editor-block-list__block .block-list-appender.block-list-appender{line-height:0;margin:0}.block-editor-block-list__block .block-list-appender .block-editor-default-block-appender{height:24px}.block-editor-block-list__block .block-list-appender .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__block .block-list-appender .block-list-appender__toggle{background:#1e1e1e;box-shadow:none;color:#fff;display:none;flex-direction:row;height:24px;min-width:24px;padding:0!important;width:24px}.block-editor-block-list__block .block-list-appender .block-editor-inserter__toggle.components-button.has-icon:hover,.block-editor-block-list__block .block-list-appender .block-list-appender__toggle:hover{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-list__block .block-list-appender .block-editor-default-block-appender__content{display:none}.block-editor-block-list__block .block-list-appender:only-child{align-self:center;line-height:inherit;list-style:none;position:relative;right:auto}.block-editor-block-list__block .block-list-appender:only-child .block-editor-default-block-appender__content{display:block}.block-editor-block-list__block.is-selected .block-editor-block-list__layout>.block-list-appender .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__block.is-selected .block-editor-block-list__layout>.block-list-appender .block-list-appender__toggle,.block-editor-block-list__block.is-selected>.block-list-appender .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__block.is-selected>.block-list-appender .block-list-appender__toggle{display:flex}.block-editor-default-block-appender__content{cursor:text}.block-editor-block-list__layout.has-overlay:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:60}.block-editor-media-placeholder__url-input-container .block-editor-media-placeholder__button{margin-bottom:0}.block-editor-media-placeholder__url-input-form{display:flex}.block-editor-media-placeholder__url-input-form input[type=url].block-editor-media-placeholder__url-input-field{border:none;border-radius:0;flex-grow:1;margin:2px;min-width:200px;width:100%}@media (min-width:600px){.block-editor-media-placeholder__url-input-form input[type=url].block-editor-media-placeholder__url-input-field{width:300px}}.block-editor-media-placeholder__url-input-submit-button{flex-shrink:1}.block-editor-media-placeholder__button{margin-bottom:.5rem}.block-editor-media-placeholder__cancel-button.is-link{display:block;margin:1em}.block-editor-media-placeholder.is-appender{min-height:0}.block-editor-media-placeholder.is-appender:hover{box-shadow:0 0 0 1px var(--wp-admin-theme-color);cursor:pointer}.block-editor-plain-text{border:none;box-shadow:none;color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:0;width:100%}.rich-text [data-rich-text-placeholder]{pointer-events:none}.rich-text [data-rich-text-placeholder]:after{content:attr(data-rich-text-placeholder);opacity:.62}.rich-text:focus{outline:none}.rich-text:focus [data-rich-text-format-boundary]{border-radius:2px}.block-editor-rich-text__editable>p:first-child{margin-top:0}figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]:before{opacity:.8}[data-rich-text-script]{display:inline}[data-rich-text-script]:before{background:#ff0;content:""}.block-editor-warning{align-items:center;background-color:#fff;border:1px solid #1e1e1e;border-radius:2px;display:flex;flex-wrap:wrap;padding:1em}.block-editor-warning,.block-editor-warning .block-editor-warning__message{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.block-editor-warning .block-editor-warning__message{color:#1e1e1e;font-size:13px;line-height:1.4;margin:0}.block-editor-warning p.block-editor-warning__message.block-editor-warning__message{min-height:auto}.block-editor-warning .block-editor-warning__contents{align-items:baseline;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;width:100%}.block-editor-warning .block-editor-warning__actions{align-items:center;display:flex;margin-top:1em}.block-editor-warning .block-editor-warning__action{margin:0 8px 0 0}.block-editor-warning__secondary{margin:auto 0 auto 8px}.components-popover.block-editor-warning__dropdown{z-index:99998}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-editor-block-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.block-editor-block-icon.has-colors svg{fill:currentColor}@media (forced-colors:active){.block-editor-block-icon.has-colors svg{fill:CanvasText}}.block-editor-block-icon svg{max-height:24px;max-width:24px;min-height:20px;min-width:20px}.block-editor-block-styles .block-editor-block-list__block{margin:0}@keyframes selection-overlay__fade-in-animation{0%{opacity:0}to{opacity:.4}}:root .block-editor-block-list__layout::selection,:root .has-multi-selection .block-editor-block-list__layout::selection,_::-webkit-full-page-media,_:future{background-color:transparent}.block-editor-block-list__layout{position:relative}.block-editor-block-list__layout:where(.block-editor-block-list__block.is-multi-selected:not(.is-partially-selected)){border-radius:2px}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected) ::selection,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected)::selection{background:transparent}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected):after{animation:selection-overlay__fade-in-animation .1s ease-out;animation-fill-mode:forwards;background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.4;outline:2px solid transparent;pointer-events:none;position:absolute;right:0;top:0;z-index:1}@media (prefers-reduced-motion:reduce){.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected):after{animation-delay:0s;animation-duration:1ms}}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:not(.is-partially-selected).is-highlighted:after{box-shadow:none}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]):focus,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected{outline:none}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]):focus:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{border-radius:1px;bottom:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:1px;outline:2px solid transparent;pointer-events:none;position:absolute;right:1px;top:1px;z-index:1}.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block.is-highlighted~.is-multi-selected:after,.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable=true]):focus:after,.is-dark-theme .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:after{border-radius:2px;border-top:4px solid #ccc;bottom:auto;box-shadow:none;content:"";left:0;pointer-events:none;position:absolute;right:0;top:-14px;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;z-index:0}.block-editor-block-list__layout .is-block-moving-mode.can-insert-moving-block.block-editor-block-list__block.is-selected:after{border-color:var(--wp-admin-theme-color)}.has-multi-selection .block-editor-block-list__layout{-webkit-user-select:none;user-select:none}.block-editor-block-list__layout [class^=components-]{-webkit-user-select:text;user-select:text}.is-block-moving-mode.block-editor-block-list__block-selection-button{font-size:1px;height:1px;opacity:0;padding:0}.block-editor-block-list__layout .block-editor-block-list__block{overflow-wrap:break-word;pointer-events:auto;position:relative;-webkit-user-select:text;user-select:text}.block-editor-block-list__layout .block-editor-block-list__block.is-editing-disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.block-editor-block-list__layout .block-editor-block-list__block .reusable-block-edit-panel *{z-index:1}.block-editor-block-list__layout .block-editor-block-list__block .components-placeholder .components-with-notices-ui{margin:-10px 0 12px}.block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui{margin:0 0 12px;width:100%}.block-editor-block-list__layout .block-editor-block-list__block .components-with-notices-ui .components-notice .components-notice__content{font-size:13px}.block-editor-block-list__layout .block-editor-block-list__block.has-warning{min-height:48px}.block-editor-block-list__layout .block-editor-block-list__block.has-warning>*{pointer-events:none;-webkit-user-select:none;user-select:none}.block-editor-block-list__layout .block-editor-block-list__block.has-warning .block-editor-warning{pointer-events:all}.block-editor-block-list__layout .block-editor-block-list__block.has-warning:after{background-color:hsla(0,0%,100%,.4);border-radius:2px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.block-editor-block-list__layout .block-editor-block-list__block.has-warning.is-multi-selected:after{background-color:transparent}.block-editor-block-list__layout .block-editor-block-list__block.is-reusable>.block-editor-inner-blocks>.block-editor-block-list__layout.has-overlay:after{display:none}.block-editor-block-list__layout .block-editor-block-list__block.is-reusable>.block-editor-inner-blocks>.block-editor-block-list__layout.has-overlay .block-editor-block-list__layout.has-overlay:after{display:block}.block-editor-block-list__layout .block-editor-block-list__block.is-reusable.has-child-selected:after{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.block-editor-block-list__layout .block-editor-block-list__block[data-clear=true]{float:none}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-hovered{cursor:default}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-hovered:after{border-radius:1px;bottom:1px;box-shadow:0 0 0 1px var(--wp-admin-theme-color);content:"";left:1px;pointer-events:none;position:absolute;right:1px;top:1px}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected{cursor:default}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected.rich-text{cursor:unset}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected:after{border-radius:2px;bottom:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:1px;pointer-events:none;position:absolute;right:1px;top:1px}.block-editor-block-list__block:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after,.block-editor-block-list__block:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after,.is-template-locked:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after,.is-template-locked:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected):after{border-style:dotted;border:1px dotted var(--wp-admin-theme-color);border-radius:1px;bottom:1px;content:"";left:1px;pointer-events:none;position:absolute;right:1px;top:1px}.block-editor-block-list__block:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after,.block-editor-block-list__block:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after,.is-template-locked:hover .block-editor-block-list__block.is-editing-disabled>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after,.is-template-locked:hover:has(>.block-editor-block-list__block.is-editing-disabled)>.block-editor-block-list__block:not(.is-editing-disabled):not(.is-selected):not(.has-child-selected).is-hovered:after{background:rgba(var(--wp-admin-theme-color--rgb),.1);border:none}.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){opacity:.2;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){transition-delay:0s;transition-duration:0s}}.is-focus-mode .block-editor-block-list__block.is-content-locked-temporarily-editing-as-blocks.has-child-selected,.is-focus-mode .block-editor-block-list__block.is-content-locked-temporarily-editing-as-blocks.has-child-selected .block-editor-block-list__block,.is-focus-mode .block-editor-block-list__block.is-content-locked.has-child-selected,.is-focus-mode .block-editor-block-list__block.is-content-locked.has-child-selected .block-editor-block-list__block,.is-focus-mode .block-editor-block-list__block:not(.has-child-selected) .block-editor-block-list__block,.is-focus-mode .block-editor-block-list__block:not(.has-child-selected).is-multi-selected,.is-focus-mode .block-editor-block-list__block:not(.has-child-selected).is-selected{opacity:1}.wp-block.alignleft,.wp-block.alignright,.wp-block[data-align=left]>*,.wp-block[data-align=right]>*{z-index:21}.wp-site-blocks>[data-align=left]{float:left;margin-right:2em}.wp-site-blocks>[data-align=right]{float:right;margin-left:2em}.wp-site-blocks>[data-align=center]{justify-content:center;margin-left:auto;margin-right:auto}.block-editor-block-list .block-editor-inserter{cursor:move;cursor:grab;margin:8px}@keyframes block-editor-inserter__toggle__fade-in-animation{0%{opacity:0}to{opacity:1}}.wp-block .block-list-appender .block-editor-inserter__toggle{animation:block-editor-inserter__toggle__fade-in-animation .1s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.wp-block .block-list-appender .block-editor-inserter__toggle{animation-delay:0s;animation-duration:1ms}}.block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender{display:none}.block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender .block-editor-inserter__toggle{opacity:0;transform:scale(0)}.block-editor-block-list__block .block-editor-block-list__block-html-textarea{border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;display:block;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;line-height:1.5;margin:0;outline:none;overflow:hidden;padding:12px;resize:none;transition:padding .2s linear;width:100%}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block .block-editor-block-list__block-html-textarea{transition-delay:0s;transition-duration:0s}}.block-editor-block-list__block .block-editor-block-list__block-html-textarea:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-block-list__block .block-editor-warning{position:relative;z-index:5}.block-editor-block-list__block .block-editor-warning.block-editor-block-list__block-crash-warning{margin-bottom:auto}.block-editor-iframe__body{transform-origin:top center;transition:all .3s}.is-vertical .block-list-appender{margin-left:12px;margin-right:auto;margin-top:12px;width:24px}.block-list-appender>.block-editor-inserter{display:block}.block-editor-block-list__block:not(.is-selected):not(.has-child-selected):not(.block-editor-block-list__layout) .block-editor-block-list__layout>.block-list-appender .block-list-appender__toggle{opacity:0;transform:scale(0)}.block-editor-block-list__block.has-block-overlay{cursor:default}.block-editor-block-list__block.has-block-overlay:before{background:transparent;border:none;border-radius:2px;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:10}.block-editor-block-list__block.has-block-overlay:not(.is-multi-selected):after{content:none!important}.block-editor-block-list__block.has-block-overlay:hover:not(.is-dragging-blocks):not(.is-multi-selected):before{background:rgba(var(--wp-admin-theme-color--rgb),.04);box-shadow:0 0 0 1px var(--wp-admin-theme-color) inset}.block-editor-block-list__block.has-block-overlay.is-reusable:hover:not(.is-dragging-blocks):not(.is-multi-selected):before,.block-editor-block-list__block.has-block-overlay.wp-block-template-part:hover:not(.is-dragging-blocks):not(.is-multi-selected):before{background:rgba(var(--wp-block-synced-color--rgb),.04);box-shadow:0 0 0 1px var(--wp-block-synced-color) inset}.block-editor-block-list__block.has-block-overlay.is-selected:not(.is-dragging-blocks):before{box-shadow:0 0 0 1px var(--wp-admin-theme-color) inset}.block-editor-block-list__block.has-block-overlay .block-editor-block-list__block{pointer-events:none}.block-editor-iframe__body.is-zoomed-out .block-editor-block-list__block.has-block-overlay:before{left:calc(50% - 50vw);width:100vw}.block-editor-block-list__layout .is-dragging{background-color:currentColor!important;border-radius:2px!important;opacity:.05!important;pointer-events:none!important}.block-editor-block-list__layout .is-dragging::selection{background:transparent!important}.block-editor-block-list__layout .is-dragging:after{content:none!important}.block-editor-block-preview__content-iframe .block-list-appender{display:none}.block-editor-block-preview__live-content *{pointer-events:none}.block-editor-block-preview__live-content .block-list-appender{display:none}.block-editor-block-preview__live-content .components-button:disabled{opacity:1}.block-editor-block-preview__live-content .block-editor-block-list__block[data-empty=true],.block-editor-block-preview__live-content .components-placeholder{display:none}.block-editor-block-variation-picker .components-placeholder__instructions{margin-bottom:0}.block-editor-block-variation-picker .components-placeholder__fieldset{flex-direction:column}.block-editor-block-variation-picker.has-many-variations .components-placeholder__fieldset{max-width:90%}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;list-style:none;margin:16px 0;padding:0;width:100%}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations>li{flex-shrink:1;list-style:none;margin:8px 20px 0 0;text-align:center;width:75px}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations>li button{display:inline-flex;margin-right:0}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations .block-editor-block-variation-picker__variation{padding:8px}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations .block-editor-block-variation-picker__variation-label{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;line-height:1.4}.block-editor-block-variation-picker__variation{width:100%}.block-editor-block-variation-picker__variation.components-button.has-icon{justify-content:center;width:auto}.block-editor-block-variation-picker__variation.components-button.has-icon.is-secondary{background-color:#fff}.block-editor-block-variation-picker__variation.components-button{height:auto;padding:0}.block-editor-block-variation-picker__variation:before{content:"";padding-bottom:100%}.block-editor-block-variation-picker__variation:first-child{margin-left:0}.block-editor-block-variation-picker__variation:last-child{margin-right:0}.block-editor-button-block-appender{align-items:center;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;display:flex;flex-direction:column;height:auto;justify-content:center;width:100%}.block-editor-button-block-appender.components-button.components-button{padding:12px}.is-dark-theme .block-editor-button-block-appender{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65);color:hsla(0,0%,100%,.65)}.block-editor-button-block-appender:hover{box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);color:var(--wp-admin-theme-color)}.block-editor-button-block-appender:focus{box-shadow:inset 0 0 0 2px var(--wp-admin-theme-color)}.block-editor-button-block-appender:active{color:#000}.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child{pointer-events:none}.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child:after,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after{border:1px dashed;border-radius:2px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child:after:before,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child:after:before,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child:after:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child .block-editor-inserter{visibility:hidden}.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over:after,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over:after{border:none}.block-editor-block-list__block:not(.is-selected)>.is-layout-constrained.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.block-editor-block-list__block:not(.is-selected)>.is-layout-flow.wp-block-group__inner-container>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-constrained.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter,.is-layout-flow.block-editor-block-list__block:not(.is-selected)>.block-list-appender:only-child.is-drag-over .block-editor-inserter{visibility:visible}.block-editor-block-list__block:not(.is-selected)>.block-editor-block-list__block>.block-list-appender:only-child:after{border:none}.block-list-appender:only-child.is-drag-over .block-editor-button-block-appender{background-color:var(--wp-admin-theme-color);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65);color:hsla(0,0%,100%,.65);transition:background-color .2s ease-in-out}@media (prefers-reduced-motion:reduce){.block-list-appender:only-child.is-drag-over .block-editor-button-block-appender{transition:none}}.block-editor-default-block-appender{clear:both;margin-left:auto;margin-right:auto;position:relative}.block-editor-default-block-appender[data-root-client-id=""] .block-editor-default-block-appender__content:hover{outline:1px solid transparent}.block-editor-default-block-appender .block-editor-default-block-appender__content{opacity:.62}:where(body .is-layout-constrained) .block-editor-default-block-appender>:first-child:first-child{margin-block-start:0}.block-editor-default-block-appender .components-drop-zone__content-icon{display:none}.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon{background:#1e1e1e;border-radius:2px;color:#fff;height:24px;min-width:24px;padding:0}.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon:hover{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{line-height:0;position:absolute;right:0;top:0}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter:disabled,.block-editor-default-block-appender .block-editor-inserter:disabled{display:none}.block-editor-block-list__block .block-list-appender{bottom:0;list-style:none;padding:0;position:absolute;right:0;z-index:2}.block-editor-block-list__block .block-list-appender.block-list-appender{line-height:0;margin:0}.block-editor-block-list__block .block-list-appender .block-editor-default-block-appender{height:24px}.block-editor-block-list__block .block-list-appender .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__block .block-list-appender .block-list-appender__toggle{background:#1e1e1e;box-shadow:none;color:#fff;display:none;flex-direction:row;height:24px;min-width:24px;padding:0!important;width:24px}.block-editor-block-list__block .block-list-appender .block-editor-inserter__toggle.components-button.has-icon:hover,.block-editor-block-list__block .block-list-appender .block-list-appender__toggle:hover{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-list__block .block-list-appender .block-editor-default-block-appender__content{display:none}.block-editor-block-list__block .block-list-appender:only-child{align-self:center;line-height:inherit;list-style:none;position:relative;right:auto}.block-editor-block-list__block .block-list-appender:only-child .block-editor-default-block-appender__content{display:block}.block-editor-block-list__block.is-selected .block-editor-block-list__layout>.block-list-appender .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__block.is-selected .block-editor-block-list__layout>.block-list-appender .block-list-appender__toggle,.block-editor-block-list__block.is-selected>.block-list-appender .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__block.is-selected>.block-list-appender .block-list-appender__toggle{display:flex}.block-editor-default-block-appender__content{cursor:text}.block-editor-block-list__layout.has-overlay:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:60}.block-editor-media-placeholder__url-input-container .block-editor-media-placeholder__button{margin-bottom:0}.block-editor-media-placeholder__url-input-form{display:flex}.block-editor-media-placeholder__url-input-form input[type=url].block-editor-media-placeholder__url-input-field{border:none;border-radius:0;flex-grow:1;margin:2px;min-width:200px;width:100%}@media (min-width:600px){.block-editor-media-placeholder__url-input-form input[type=url].block-editor-media-placeholder__url-input-field{width:300px}}.block-editor-media-placeholder__url-input-submit-button{flex-shrink:1}.block-editor-media-placeholder__button{margin-bottom:.5rem}.block-editor-media-placeholder__cancel-button.is-link{display:block;margin:1em}.block-editor-media-placeholder.is-appender{min-height:0}.block-editor-media-placeholder.is-appender:hover{box-shadow:0 0 0 1px var(--wp-admin-theme-color);cursor:pointer}.block-editor-plain-text{border:none;box-shadow:none;color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:0;width:100%}.rich-text [data-rich-text-placeholder]{pointer-events:none}.rich-text [data-rich-text-placeholder]:after{content:attr(data-rich-text-placeholder);opacity:.62}.rich-text:focus{outline:none}.rich-text:focus [data-rich-text-format-boundary]{border-radius:2px}.block-editor-rich-text__editable>p:first-child{margin-top:0}figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]:before{opacity:.8}[data-rich-text-script]{display:inline}[data-rich-text-script]:before{background:#ff0;content:""}.block-editor-warning{align-items:center;background-color:#fff;border:1px solid #1e1e1e;border-radius:2px;display:flex;flex-wrap:wrap;padding:1em}.block-editor-warning,.block-editor-warning .block-editor-warning__message{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.block-editor-warning .block-editor-warning__message{color:#1e1e1e;font-size:13px;line-height:1.4;margin:0}.block-editor-warning p.block-editor-warning__message.block-editor-warning__message{min-height:auto}.block-editor-warning .block-editor-warning__contents{align-items:baseline;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;width:100%}.block-editor-warning .block-editor-warning__actions{align-items:center;display:flex;margin-top:1em}.block-editor-warning .block-editor-warning__action{margin:0 8px 0 0}.block-editor-warning__secondary{margin:auto 0 auto 8px}.components-popover.block-editor-warning__dropdown{z-index:99998}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file diff --git a/wp-includes/css/dist/block-editor/style-rtl.css b/wp-includes/css/dist/block-editor/style-rtl.css index 7f40ccc50b..b8ef98fd4b 100644 --- a/wp-includes/css/dist/block-editor/style-rtl.css +++ b/wp-includes/css/dist/block-editor/style-rtl.css @@ -34,6 +34,20 @@ margin-top:0; } +iframe[name=editor-canvas]{ + display:block; + height:100%; + width:100%; +} + +iframe[name=editor-canvas]:not(.has-history){ + background-color:#fff; +} + +iframe[name=editor-canvas].has-history{ + padding:48px 48px 0; +} + .block-editor-block-icon{ align-items:center; display:flex; @@ -78,9 +92,6 @@ border-top:1px solid #e0e0e0; margin-top:-1px; } -.block-editor-block-inspector .block-editor-block-card{ - padding:16px; -} .block-editor-block-inspector__no-block-tools,.block-editor-block-inspector__no-blocks{ background:#fff; @@ -165,140 +176,6 @@ .block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon:hover{ background:#1e1e1e; } -.block-editor-block-contextual-toolbar{ - background-color:#fff; - border:1px solid #1e1e1e; - border-radius:2px; - display:inline-flex; -} -.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar-group{ - border-left-color:#1e1e1e; -} -.block-editor-block-contextual-toolbar.is-fixed{ - border:none; - border-bottom:1px solid #e0e0e0; - border-radius:0; - overflow:hidden; -} -.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar{ - overflow:auto; - overflow-y:hidden; -} -.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group{ - border-left-color:#e0e0e0; -} -.block-editor-block-contextual-toolbar.is-collapsed:after{ - background:linear-gradient(270deg, #fff, transparent); - content:""; - height:100%; - position:absolute; - right:100%; - width:48px; -} -@media (min-width:782px){ - .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar{ - flex-grow:0; - width:auto; - } - .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar:before{ - background-color:#ddd; - content:""; - height:24px; - margin-left:0; - margin-top:12px; - position:relative; - right:-2px; - top:-1px; - width:1px; - } - .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar{ - border:none; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar .components-button.has-icon svg{ - display:none; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar .components-button.has-icon:after{ - content:attr(aria-label); - font-size:12px; - } - .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar:before{ - background-color:#ddd; - content:""; - height:24px; - margin-left:8px; - margin-top:12px; - position:relative; - right:0; - top:-1px; - width:1px; - } - .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar{ - border:none; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar{ - width:256px; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar .components-button.has-icon svg{ - display:none; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar .components-button.has-icon:after{ - content:attr(aria-label); - font-size:12px; - } - .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar:before{ - background-color:#ddd; - content:""; - height:24px; - margin-bottom:12px; - margin-top:12px; - position:relative; - right:-8px; - top:-1px; - width:1px; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button:after{ - right:0; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar__block-controls .block-editor-block-mover{ - border-right:none; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar__block-controls .block-editor-block-mover:before{ - background-color:#ddd; - content:""; - margin-bottom:12px; - margin-top:12px; - position:relative; - width:1px; - } - .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button{ - border:0; - padding-left:6px; - padding-right:6px; - position:relative; - top:-1px; - } - .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button:after{ - bottom:4px; - content:"·"; - font-size:16px; - line-height:40px; - position:absolute; - right:46px; - } - .block-editor-block-contextual-toolbar:not(.is-fixed) .block-editor-block-parent-selector{ - position:absolute; - right:-57px; - top:-1px; - } - .show-icon-labels .block-editor-block-contextual-toolbar:not(.is-fixed) .block-editor-block-parent-selector{ - margin-bottom:-1px; - margin-right:-1px; - margin-top:-1px; - position:relative; - right:auto; - top:auto; - } -} .block-editor-block-list__block-selection-button{ background-color:#1e1e1e; border-radius:2px; @@ -364,6 +241,25 @@ margin-top:12px; pointer-events:all; } +.components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar{ + border:1px solid #1e1e1e; + border-radius:2px; + overflow:visible; + position:static; + width:auto; +} +.components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar.has-parent{ + margin-right:56px; +} +.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar.has-parent{ + margin-right:0; +} +.components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar{ + overflow:visible; +} +.components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar .components-toolbar,.components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar .components-toolbar-group{ + border-left-color:#1e1e1e; +} .components-popover.block-editor-block-list__block-popover.is-insertion-point-visible{ visibility:hidden; } @@ -371,6 +267,31 @@ animation:hide-during-dragging 1ms linear forwards; opacity:0; } +.components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector{ + position:absolute; + right:-57px; +} +.components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector:before{ + content:""; +} +.components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector .block-editor-block-parent-selector__button{ + background-color:#fff; + border:1px solid #1e1e1e; + padding-left:6px; + padding-right:6px; +} +.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector .block-editor-block-parent-selector__button{ + padding-left:12px; + padding-right:12px; +} +.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector{ + margin-right:-1px; + position:relative; + right:auto; +} +.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-mover__move-button-container,.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar__block-controls .block-editor-block-mover{ + border-right:1px solid #1e1e1e; +} .is-dragging-components-draggable .components-tooltip{ display:none; @@ -495,24 +416,28 @@ .block-editor-block-card{ align-items:flex-start; + color:#1e1e1e; display:flex; + padding:16px; } .block-editor-block-card__content{ flex-grow:1; - margin-bottom:4px; } .block-editor-block-card__title{ font-weight:500; } .block-editor-block-card__title.block-editor-block-card__title{ + font-size:13px; line-height:24px; - margin:0 0 4px; + margin:0; } .block-editor-block-card__description{ + display:block; font-size:13px; + margin-top:4px; } .block-editor-block-card .block-editor-block-icon{ @@ -601,6 +526,7 @@ display:inline-flex; height:48px; padding:0 13px; + position:relative; -webkit-user-select:none; user-select:none; width:max-content; @@ -627,6 +553,35 @@ font-size:13px; } +.block-editor-block-draggable-chip__disabled.block-editor-block-draggable-chip__disabled{ + align-items:center; + background-color:transparent; + bottom:0; + display:flex; + justify-content:center; + left:0; + opacity:0; + position:absolute; + right:0; + top:0; + transition:all .1s linear .1s; +} +.block-editor-block-draggable-chip__disabled.block-editor-block-draggable-chip__disabled .block-editor-block-draggable-chip__disabled-icon{ + background:transparent linear-gradient(45deg, transparent 47.5%, #fff 0, #fff 52.5%, transparent 0); + border-radius:50%; + box-shadow:inset 0 0 0 1.5px #fff; + display:inline-block; + height:20px; + padding:0; + width:20px; +} + +.block-draggable-invalid-drag-token .block-editor-block-draggable-chip__disabled.block-editor-block-draggable-chip__disabled{ + background-color:#757575; + box-shadow:0 4px 8px rgba(0,0,0,.2); + opacity:1; +} + .block-editor-block-mover__move-button-container{ border:none; display:flex; @@ -710,7 +665,7 @@ outline:none; } .components-button.block-editor-block-mover-button:focus-visible:before{ - box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 4px #fff; + box-shadow:inset 0 0 0 1px var(--wp-components-color-background, #fff), 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); outline:2px solid transparent; } @@ -726,17 +681,6 @@ text-transform:uppercase; } -.block-editor-block-parent-selector{ - background:#fff; - border-radius:2px; -} -.block-editor-block-parent-selector .block-editor-block-parent-selector__button{ - border:1px solid #1e1e1e; - border-radius:2px; - height:48px; - width:48px; -} - .block-editor-block-patterns-list__list-item{ cursor:pointer; margin-bottom:24px; @@ -751,6 +695,8 @@ .block-editor-block-patterns-list__item{ height:100%; + scroll-margin-bottom:56px; + scroll-margin-top:24px; } .block-editor-block-patterns-list__item .block-editor-block-preview__container{ align-items:center; @@ -898,15 +844,6 @@ display:block; } } -.block-editor-block-styles__preview-panel .block-editor-inserter__preview-container{ - left:auto; - position:static; - right:auto; - top:auto; -} -.block-editor-block-styles__preview-panel .block-editor-block-card__title.block-editor-block-card__title{ - margin:0; -} .block-editor-block-styles__preview-panel .block-editor-block-icon{ display:none; } @@ -936,6 +873,7 @@ } .block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:focus,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:focus{ box-shadow:inset 0 0 0 1px var(--wp-components-color-background, #fff), 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); + outline:2px solid transparent; } .block-editor-block-styles__variants .block-editor-block-styles__item-text{ text-align:start; @@ -975,10 +913,6 @@ display:none; } -.show-icon-labels .block-editor-block-toolbar .block-editor-block-switcher .components-button.has-icon:after{ - font-size:14px; -} - .components-button.block-editor-block-switcher__no-switcher-icon{ display:flex; } @@ -1103,6 +1037,12 @@ text-align:center; } +.block-editor-block-switcher__no-transforms{ + color:#757575; + margin:0; + padding:6px 8px; +} + .block-editor-block-types-list>[role=presentation]{ display:flex; flex-wrap:wrap; @@ -1138,6 +1078,9 @@ .block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-preview__container,.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container div[role=button]{ cursor:pointer; } +.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item{ + scroll-margin:5px 0; +} .block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:hover .block-editor-block-preview__container{ box-shadow:0 0 0 2px var(--wp-admin-theme-color); } @@ -1169,7 +1112,7 @@ } .block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar{ align-items:center; - align-self:flex-end; + align-self:stretch; background-color:#fff; border-top:1px solid #ddd; bottom:0; @@ -1331,10 +1274,6 @@ min-width:0; } -.block-editor-color-gradient-control__tabs .block-editor-color-gradient-control__panel{ - padding:16px; -} - .block-editor-panel-color-gradient-settings.block-editor-panel-color-gradient-settings,.block-editor-panel-color-gradient-settings.block-editor-panel-color-gradient-settings>div:not(:first-of-type){ display:block; } @@ -1343,7 +1282,6 @@ .block-editor-panel-color-gradient-settings .components-circular-option-picker__swatches{ display:grid; grid-template-columns:repeat(6, 28px); - justify-content:space-between; } } .block-editor-block-inspector .block-editor-panel-color-gradient-settings .components-base-control{ @@ -1365,13 +1303,13 @@ max-width:100%; padding:0; } -.block-editor-tools-panel-color-gradient-settings__item.first{ +.block-editor-tools-panel-color-gradient-settings__item:nth-child(1 of .block-editor-tools-panel-color-gradient-settings__item){ border-top:1px solid #ddd; border-top-left-radius:2px; border-top-right-radius:2px; margin-top:24px; } -.block-editor-tools-panel-color-gradient-settings__item.last{ +.block-editor-tools-panel-color-gradient-settings__item:nth-last-child(1 of .block-editor-tools-panel-color-gradient-settings__item){ border-bottom-left-radius:2px; border-bottom-right-radius:2px; } @@ -1406,10 +1344,6 @@ flex-shrink:0; } -.block-editor-contrast-checker>.components-notice{ - margin:0; -} - .block-editor-date-format-picker{ margin-bottom:16px; } @@ -1427,7 +1361,7 @@ .block-editor-duotone-control__popover>.components-popover__content{ padding:16px; - width:280px; + width:260px; } .block-editor-duotone-control__popover .components-menu-group__label{ padding:0; @@ -1439,11 +1373,6 @@ justify-content:space-between; } -.block-editor-duotone-control__description{ - font-size:12px; - margin:16px 0; -} - .block-editor-duotone-control__unset-indicator{ background:linear-gradient(45deg, transparent 48%, #ddd 0, #ddd 52%, transparent 0); } @@ -1629,20 +1558,21 @@ padding:4px 2px 8px; } -.show-icon-labels .block-editor-block-inspector__tabs .components-tab-panel__tabs .components-button.has-icon svg{ +.show-icon-labels .block-editor-block-inspector__tabs [role=tablist] .components-button.has-icon svg{ display:none; } -.show-icon-labels .block-editor-block-inspector__tabs .components-tab-panel__tabs .components-button.has-icon:before{ +.show-icon-labels .block-editor-block-inspector__tabs [role=tablist] .components-button.has-icon:before{ content:attr(aria-label); } .block-editor-inspector-controls-tabs__hint{ - align-items:top; + align-items:flex-start; background:#f0f0f0; border-radius:2px; color:#1e1e1e; display:flex; flex-direction:row; + font-size:13px; margin:16px; } @@ -1721,13 +1651,12 @@ position:relative; } -.block-editor-link-control__search-input.has-no-label .block-editor-url-input__input{ - flex:1; -} - .block-editor-link-control__field{ margin:16px; } +.block-editor-link-control__field .components-base-control__label{ + color:#1e1e1e; +} .block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{ border:1px solid #949494; border-radius:2px; @@ -1738,7 +1667,7 @@ height:40px; line-height:normal; margin:0; - padding:8px 16px; + padding:8px 16px 8px 40px; position:relative; transition:box-shadow .1s linear; width:100%; @@ -1770,6 +1699,9 @@ .block-editor-link-control__field input[type=text]:-ms-input-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:-ms-input-placeholder{ color:rgba(30,30,30,.62); } +.has-actions .block-editor-link-control__field input[type=text],.has-actions .block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{ + padding-left:16px; +} .block-editor-link-control__search-error{ margin:-8px 16px 16px; @@ -1786,11 +1718,6 @@ } .block-editor-link-control__search-actions{ - display:flex; - flex-direction:row-reverse; - gap:8px; - justify-content:flex-start; - order:20; padding:8px 16px 16px; } @@ -1862,11 +1789,15 @@ align-items:flex-start; display:block; flex-direction:row; + gap:8px; margin-left:8px; overflow-wrap:break-word; white-space:pre-wrap; } .block-editor-link-control__search-item .block-editor-link-control__search-item-header .block-editor-link-control__search-item-info{ + color:#757575; + font-size:12px; + line-height:1.1; word-break:break-all; } .block-editor-link-control__search-item.is-preview .block-editor-link-control__search-item-header{ @@ -1879,14 +1810,24 @@ .block-editor-link-control__search-item.is-url-title .block-editor-link-control__search-item-title{ word-break:break-all; } +.block-editor-link-control__search-item .block-editor-link-control__search-item-details{ + display:flex; + flex-direction:column; + gap:4px; + justify-content:space-between; +} +.block-editor-link-control__search-item .block-editor-link-control__search-item-header .block-editor-link-control__search-item-icon{ + background-color:#f0f0f0; + border-radius:2px; + height:32px; + width:32px; +} .block-editor-link-control__search-item .block-editor-link-control__search-item-icon{ + align-items:center; display:flex; flex-shrink:0; justify-content:center; - margin-left:8px; - max-height:24px; position:relative; - width:24px; } .block-editor-link-control__search-item .block-editor-link-control__search-item-icon img{ width:16px; @@ -1897,10 +1838,13 @@ width:32px; } .block-editor-link-control__search-item .block-editor-link-control__search-item-title{ - display:block; - font-weight:500; - line-height:24px; - position:relative; + border-radius:2px; + line-height:1.1; +} +.block-editor-link-control__search-item .block-editor-link-control__search-item-title:focus-visible{ + box-shadow:inset 0 0 0 1px var(--wp-components-color-background, #fff), 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); + outline:2px solid transparent; + text-decoration:none; } .block-editor-link-control__search-item .block-editor-link-control__search-item-title mark{ background-color:transparent; @@ -1913,50 +1857,6 @@ .block-editor-link-control__search-item .block-editor-link-control__search-item-title svg{ display:none; } -.block-editor-link-control__search-item .block-editor-link-control__search-item-description{ - margin:0; - padding-top:12px; -} -.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder{ - display:flex; - flex-direction:column; - height:28px; - justify-content:space-around; - margin-top:12px; - padding-top:0; -} -.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder:after,.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder:before{ - background-color:#f0f0f0; - border-radius:3px; - content:""; - display:block; - height:.7em; - width:100%; -} -.block-editor-link-control__search-item .block-editor-link-control__search-item-description .components-text{ - font-size:.9em; -} -.block-editor-link-control__search-item .block-editor-link-control__search-item-image{ - background-color:#f0f0f0; - border-radius:2px; - display:flex; - height:140px; - justify-content:center; - margin-top:12px; - max-height:140px; - overflow:hidden; - width:100%; -} -.block-editor-link-control__search-item .block-editor-link-control__search-item-image.is-placeholder{ - background-color:#f0f0f0; - border-radius:3px; -} -.block-editor-link-control__search-item .block-editor-link-control__search-item-image img{ - display:block; - height:140px; - max-height:140px; - max-width:100%; -} .block-editor-link-control__search-item-top{ align-items:center; @@ -1965,14 +1865,6 @@ width:100%; } -.block-editor-link-control__search-item-bottom{ - transition:opacity 1.5s; - width:100%; -} -.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-description:after,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-description:before,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-image{ - animation:loadingpulse 1s linear infinite; - animation-delay:.5s; -} .block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon img,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon svg{ opacity:0; } @@ -2049,6 +1941,9 @@ .block-editor-link-control__setting .components-base-control__field{ display:flex; } +.block-editor-link-control__setting .components-base-control__field .components-checkbox-control__label{ + color:#1e1e1e; +} .block-editor-link-control__setting input{ margin-right:0; } @@ -2121,9 +2016,16 @@ margin:-12px -6px 0; width:calc(100% + 12px); } +.block-editor-list-view-tree.is-dragging tbody{ + pointer-events:none; +} .block-editor-list-view-leaf{ position:relative; + transform:translateY(0); +} +.block-editor-list-view-leaf.is-draggable,.block-editor-list-view-leaf.is-draggable .block-editor-list-view-block-contents{ + cursor:grab; } .block-editor-list-view-leaf .block-editor-list-view-block-select-button[aria-expanded=true]{ color:inherit; @@ -2197,6 +2099,72 @@ .block-editor-list-view-leaf.is-branch-selected:not(.is-selected) td{ border-radius:0; } +.block-editor-list-view-leaf.is-displacement-normal{ + transform:translateY(0); + transition:transform .2s; +} +@media (prefers-reduced-motion:reduce){ + .block-editor-list-view-leaf.is-displacement-normal{ + transition-delay:0s; + transition-duration:0s; + } +} +.block-editor-list-view-leaf.is-displacement-up{ + transform:translateY(-36px); + transition:transform .2s; +} +@media (prefers-reduced-motion:reduce){ + .block-editor-list-view-leaf.is-displacement-up{ + transition-delay:0s; + transition-duration:0s; + } +} +.block-editor-list-view-leaf.is-displacement-down{ + transform:translateY(36px); + transition:transform .2s; +} +@media (prefers-reduced-motion:reduce){ + .block-editor-list-view-leaf.is-displacement-down{ + transition-delay:0s; + transition-duration:0s; + } +} +.block-editor-list-view-leaf.is-after-dragged-blocks{ + transform:translateY(calc(var(--wp-admin--list-view-dragged-items-height, 36px)*-1)); + transition:transform .2s; +} +@media (prefers-reduced-motion:reduce){ + .block-editor-list-view-leaf.is-after-dragged-blocks{ + transition-delay:0s; + transition-duration:0s; + } +} +.block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-up{ + transform:translateY(calc(-36px + var(--wp-admin--list-view-dragged-items-height, 36px)*-1)); + transition:transform .2s; +} +@media (prefers-reduced-motion:reduce){ + .block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-up{ + transition-delay:0s; + transition-duration:0s; + } +} +.block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-down{ + transform:translateY(calc(36px + var(--wp-admin--list-view-dragged-items-height, 36px)*-1)); + transition:transform .2s; +} +@media (prefers-reduced-motion:reduce){ + .block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-down{ + transition-delay:0s; + transition-duration:0s; + } +} +.block-editor-list-view-leaf.is-dragging{ + opacity:0; + pointer-events:none; + right:0; + z-index:-9999; +} .block-editor-list-view-leaf .block-editor-list-view-block-contents{ align-items:center; border-radius:2px; @@ -2222,10 +2190,10 @@ padding-left:0; padding-right:0; } -.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus{ +.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus,.block-editor-list-view-leaf.is-nesting .block-editor-list-view-block-contents{ box-shadow:none; } -.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after{ +.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after,.block-editor-list-view-leaf.is-nesting .block-editor-list-view-block-contents:after{ border-radius:inherit; bottom:0; box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); @@ -2237,19 +2205,13 @@ top:0; z-index:2; } -.is-dragging-components-draggable .block-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after{ - box-shadow:none; -} .block-editor-list-view-leaf.has-single-cell .block-editor-list-view-block-contents:focus:after{ left:0; } -.block-editor-list-view-leaf .block-editor-list-view-block__menu:focus{ +.block-editor-list-view-leaf .block-editor-list-view-block__menu:focus,.block-editor-list-view-leaf.is-nesting .block-editor-list-view__menu{ box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); z-index:1; } -.is-dragging-components-draggable .block-editor-list-view-leaf .block-editor-list-view-block__menu:focus{ - box-shadow:none; -} .block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents{ animation:edit-post__fade-in-animation .2s ease-out 0s; animation-fill-mode:forwards; @@ -2388,11 +2350,16 @@ box-shadow:0 0 0 2px var(--wp-admin-theme-color); } +.block-editor-list-view-draggable-chip{ + opacity:.8; +} + .block-editor-list-view-appender__cell .block-editor-list-view-appender__container,.block-editor-list-view-appender__cell .block-editor-list-view-block__contents-container,.block-editor-list-view-block__contents-cell .block-editor-list-view-appender__container,.block-editor-list-view-block__contents-cell .block-editor-list-view-block__contents-container{ display:flex; } .block-editor-list-view__expander{ + cursor:pointer; height:24px; margin-right:4px; width:24px; @@ -2475,6 +2442,22 @@ height:4px; } +.block-editor-list-view-drop-indicator--preview{ + pointer-events:none; +} +.block-editor-list-view-drop-indicator--preview .components-popover__content{ + overflow:hidden !important; +} +.block-editor-list-view-drop-indicator--preview .block-editor-list-view-drop-indicator__line{ + background:rgba(var(--wp-admin-theme-color--rgb), .04); + border-radius:4px; + height:36px; + overflow:hidden; +} +.block-editor-list-view-drop-indicator--preview .block-editor-list-view-drop-indicator__line--darker{ + background:rgba(var(--wp-admin-theme-color--rgb), .09); +} + .block-editor-list-view-placeholder{ height:36px; margin:0; @@ -2511,6 +2494,7 @@ .block-editor-media-flow__url-input.has-siblings{ border-top:1px solid #1e1e1e; margin-top:8px; + padding-bottom:8px; } .block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label{ display:block; @@ -2541,8 +2525,7 @@ width:100%; } .block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-actions{ - left:4px; - top:0; + padding:8px 0 0; } .block-editor-media-flow__error{ @@ -2911,7 +2894,7 @@ box-shadow:none; } .block-editor-url-popover .components-button.has-icon:not(:disabled):focus>svg{ - box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 4px #fff; + box-shadow:inset 0 0 0 1px var(--wp-components-color-background, #fff), 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); outline:2px solid transparent; } @@ -3150,27 +3133,45 @@ border-left:none; } -@media (min-width:782px){ - .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group{ - border-left:none; - } - .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar:after{ - background-color:#ddd; - content:""; - margin-bottom:12px; - margin-right:8px; - margin-top:12px; - width:1px; - } - .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar .components-toolbar-group.components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group .components-toolbar-group.components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar>:last-child .components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar>:last-child .components-toolbar:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar>:last-child:after{ - display:none; - } +.block-editor-block-contextual-toolbar{ + background-color:#fff; + display:block; + flex-shrink:3; + position:sticky; + top:0; + width:100%; + z-index:31; } -.block-editor-block-contextual-toolbar.has-parent:not(.is-fixed){ - margin-right:56px; +.block-editor-block-contextual-toolbar.components-accessible-toolbar{ + border:none; + border-bottom:1px solid #e0e0e0; + border-radius:0; } -.show-icon-labels .block-editor-block-contextual-toolbar.has-parent:not(.is-fixed){ - margin-right:0; +.block-editor-block-contextual-toolbar .block-editor-block-toolbar{ + overflow:auto; + overflow-y:hidden; +} +.block-editor-block-contextual-toolbar .block-editor-block-toolbar>:last-child .components-toolbar-group:after,.block-editor-block-contextual-toolbar .block-editor-block-toolbar>:last-child .components-toolbar:after,.block-editor-block-contextual-toolbar .block-editor-block-toolbar>:last-child:after{ + display:none; +} +.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar-group{ + border-left-color:#e0e0e0; +} +.block-editor-block-contextual-toolbar>.block-editor-block-toolbar{ + flex-grow:0; + width:auto; +} +.block-editor-block-contextual-toolbar .block-editor-block-parent-selector{ + margin-bottom:-1px; + margin-top:-1px; + position:relative; +} +.block-editor-block-contextual-toolbar .block-editor-block-parent-selector:after{ + bottom:16px; + content:"·"; + font-size:16px; + left:0; + position:absolute; } .block-editor-block-toolbar__block-controls .block-editor-block-switcher .components-dropdown-menu__toggle .block-editor-block-icon,.block-editor-block-toolbar__block-controls .block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{ @@ -3215,16 +3216,35 @@ min-width:0 !important; width:0 !important; } -.show-icon-labels .block-editor-block-parent-selector__button{ +.show-icon-labels .block-editor-block-parent-selector .block-editor-block-parent-selector__button{ + text-wrap:nowrap; border-bottom-left-radius:0; border-top-left-radius:0; + padding-left:12px; + padding-right:12px; } -.show-icon-labels .block-editor-block-parent-selector__button .block-editor-block-icon{ +.show-icon-labels .block-editor-block-parent-selector .block-editor-block-parent-selector__button .block-editor-block-icon{ width:0; } .show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container{ width:auto; } +@media (min-width:600px){ + .show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container{ + position:relative; + } + .show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container:before{ + background:#1e1e1e; + content:""; + height:1px; + margin-top:-.5px; + position:absolute; + right:50%; + top:50%; + transform:translate(50%); + width:100%; + } +} .show-icon-labels .block-editor-block-mover.is-horizontal .block-editor-block-mover-button,.show-icon-labels .block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container{ padding-left:6px; padding-right:6px; @@ -3234,48 +3254,21 @@ padding-right:8px; } .show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-mover{ - border-right:1px solid #1e1e1e; + border-right:1px solid #ddd; margin-left:-6px; margin-right:6px; white-space:nowrap; } -.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar__block-controls .block-editor-block-mover{ - border-right-color:#e0e0e0; -} .show-icon-labels .block-editor-block-mover .block-editor-block-mover__drag-handle.has-icon{ padding-left:12px; padding-right:12px; } -.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-mover__move-button-container{ - border-width:0; -} -@media (min-width:600px){ - .show-icon-labels .is-up-button.is-up-button.is-up-button{ - border-radius:0; - margin-left:0; - order:1; - } - .show-icon-labels .block-editor-block-mover__move-button-container{ - border-right:1px solid #1e1e1e; - } - .show-icon-labels .is-down-button.is-down-button.is-down-button{ - order:2; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-mover__move-button-container:before{ - background:#ddd; - } -} .show-icon-labels .block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button{ width:auto; } .show-icon-labels .components-toolbar,.show-icon-labels .components-toolbar-group{ flex-shrink:1; } -@media (min-width:782px){ - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .components-toolbar,.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .components-toolbar-group{ - flex-shrink:0; - } -} .show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button+.components-button{ margin-right:6px; } @@ -3300,6 +3293,7 @@ flex-direction:column; gap:16px; height:100%; + overflow-y:hidden; position:relative; } .block-editor-inserter__main-area.show-as-tabs{ @@ -3335,7 +3329,7 @@ .block-editor-inserter__popover .block-editor-inserter__menu{ margin:-12px; } -.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__tabs .components-tab-panel__tabs{ +.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__tabs div[role=tablist]{ top:60px; } .block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__main-area{ @@ -3393,19 +3387,19 @@ flex-grow:1; overflow:hidden; } -.block-editor-inserter__tabs .components-tab-panel__tabs{ +.block-editor-inserter__tabs div[role=tablist]{ border-bottom:1px solid #ddd; } -.block-editor-inserter__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{ +.block-editor-inserter__tabs div[role=tablist] button[role=tab]{ flex-grow:1; margin-bottom:-1px; } -.block-editor-inserter__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item[id$=reusable]{ +.block-editor-inserter__tabs div[role=tablist] button[role=tab][id$=reusable]{ flex-grow:inherit; padding-left:16px; padding-right:16px; } -.block-editor-inserter__tabs .components-tab-panel__tab-content{ +.block-editor-inserter__tabs div[role=tabpanel]{ display:flex; flex-direction:column; flex-grow:1; @@ -3482,28 +3476,29 @@ margin-left:8px; } +.block-editor-inserter__preview-container__popover{ + top:16px !important; +} + .block-editor-inserter__preview-container{ - background:#fff; - border:1px solid #ddd; - border-radius:2px; display:none; max-height:calc(100% - 32px); overflow-y:hidden; - position:absolute; - right:calc(100% + 16px); - top:16px; - width:300px; + padding:16px; + width:280px; } @media (min-width:782px){ .block-editor-inserter__preview-container{ display:block; } } -.block-editor-inserter__preview-container .block-editor-block-card{ - padding:16px; +.block-editor-inserter__preview-container .block-editor-block-preview__container{ + height:100%; } -.block-editor-inserter__preview-container .block-editor-block-card__title{ - font-size:13px; +.block-editor-inserter__preview-container .block-editor-block-card{ + padding-bottom:4px; + padding-left:0; + padding-right:0; } .block-editor-inserter__patterns-explore-button.components-button{ @@ -3534,12 +3529,9 @@ right:0; top:0; } -.block-editor-block-patterns-explorer__sidebar,.block-editor-block-patterns-explorer__sidebar nav,.block-editor-inserter__block-patterns-tabs-container,.block-editor-inserter__block-patterns-tabs-container nav{ +.block-editor-inserter__block-patterns-tabs-container,.block-editor-inserter__block-patterns-tabs-container nav{ height:100%; } -.block-editor-block-patterns-explorer__sidebar .block-editor-block-patterns__source-filter select.components-select-control__input,.block-editor-inserter__block-patterns-tabs-container .block-editor-block-patterns__source-filter select.components-select-control__input{ - height:40px; -} .block-editor-inserter__block-patterns-tabs{ display:flex; @@ -3551,6 +3543,9 @@ .block-editor-inserter__block-patterns-tabs div[role=listitem]:last-child{ margin-top:auto; } +.block-editor-inserter__block-patterns-tabs .block-editor-inserter__patterns-category{ + padding-left:4px; +} .block-editor-inserter__patterns-category-dialog{ background:#f0f0f0; @@ -3612,6 +3607,7 @@ .block-editor-inserter__preview-content-missing{ align-items:center; background:#f0f0f0; + border-radius:2px; color:#757575; display:flex; flex:1; @@ -3693,7 +3689,7 @@ padding:24px 32px 32px; position:absolute; right:0; - top:76px; + top:72px; width:280px; } .block-editor-block-patterns-explorer__sidebar__categories-list__item{ @@ -3763,17 +3759,20 @@ .block-editor-inserter__media-tabs div[role=listitem]:last-child{ margin-top:auto; } -.block-editor-inserter__media-tabs__media-category.is-selected{ +.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category{ + padding-left:4px; +} +.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected{ color:var(--wp-admin-theme-color); position:relative; } -.block-editor-inserter__media-tabs__media-category.is-selected .components-flex-item{ +.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected .components-flex-item{ filter:brightness(.95); } -.block-editor-inserter__media-tabs__media-category.is-selected svg{ +.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected svg{ fill:var(--wp-admin-theme-color); } -.block-editor-inserter__media-tabs__media-category.is-selected:after{ +.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected:after{ background:var(--wp-admin-theme-color); border-radius:2px; bottom:0; @@ -3955,50 +3954,6 @@ height:40px; } -.block-editor-post-preview__dropdown{ - padding:0; -} - -.block-editor-post-preview__button-resize.block-editor-post-preview__button-resize{ - padding-right:40px; -} -.block-editor-post-preview__button-resize.block-editor-post-preview__button-resize.has-icon{ - padding-right:8px; -} - -.block-editor-post-preview__dropdown-content.edit-post-post-preview-dropdown .components-menu-group:first-child{ - padding-bottom:8px; -} -.block-editor-post-preview__dropdown-content.edit-post-post-preview-dropdown .components-menu-group:last-child{ - margin-bottom:0; -} -.block-editor-post-preview__dropdown-content .components-menu-group+.components-menu-group{ - padding:8px; -} - -@media (min-width:600px){ - .edit-post-header__settings .editor-post-preview,.edit-site-header-edit-mode__actions .editor-post-preview{ - display:none; - } - .edit-post-header.has-reduced-ui .edit-post-header__settings .block-editor-post-preview__button-toggle,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-save-draft,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-saved-state{ - transition:opacity .1s linear; - } -} -@media (min-width:600px) and (prefers-reduced-motion:reduce){ - .edit-post-header.has-reduced-ui .edit-post-header__settings .block-editor-post-preview__button-toggle,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-save-draft,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-saved-state{ - transition-delay:0s; - transition-duration:0s; - } -} -@media (min-width:600px){ - .edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .block-editor-post-preview__button-toggle,.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .editor-post-save-draft,.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .editor-post-saved-state{ - opacity:0; - } - .edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .block-editor-post-preview__button-toggle.is-opened{ - opacity:1; - } -} - .spacing-sizes-control .spacing-sizes-control__custom-value-input,.spacing-sizes-control .spacing-sizes-control__label{ margin-bottom:0; } diff --git a/wp-includes/css/dist/block-editor/style-rtl.min.css b/wp-includes/css/dist/block-editor/style-rtl.min.css index dcca3db68a..7f17a67f72 100644 --- a/wp-includes/css/dist/block-editor/style-rtl.min.css +++ b/wp-includes/css/dist/block-editor/style-rtl.min.css @@ -1 +1 @@ -@charset "UTF-8";:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-editor-autocompleters__block{white-space:nowrap}.block-editor-autocompleters__block .block-editor-block-icon{margin-left:8px}.block-editor-autocompleters__link{white-space:nowrap}.block-editor-autocompleters__link .block-editor-block-icon{margin-left:8px}.block-editor-block-alignment-control__menu-group .components-menu-item__info{margin-top:0}.block-editor-block-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.block-editor-block-icon.has-colors svg{fill:currentColor}@media (forced-colors:active){.block-editor-block-icon.has-colors svg{fill:CanvasText}}.block-editor-block-icon svg{max-height:24px;max-width:24px;min-height:20px;min-width:20px}.block-editor-block-inspector p:not(.components-base-control__help){margin-top:0}.block-editor-block-inspector h2,.block-editor-block-inspector h3{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.block-editor-block-inspector .components-base-control{margin-bottom:24px}.block-editor-block-inspector .components-base-control:last-child{margin-bottom:8px}.block-editor-block-inspector .components-focal-point-picker-control .components-base-control,.block-editor-block-inspector .components-query-controls .components-base-control,.block-editor-block-inspector .components-range-control .components-base-control{margin-bottom:0}.block-editor-block-inspector .components-panel__body{border:none;border-top:1px solid #e0e0e0;margin-top:-1px}.block-editor-block-inspector .block-editor-block-card{padding:16px}.block-editor-block-inspector__no-block-tools,.block-editor-block-inspector__no-blocks{background:#fff;display:block;font-size:13px;padding:32px 16px;text-align:center}.block-editor-block-inspector__no-block-tools{border-top:1px solid #ddd}.block-editor-block-inspector__tab-item{flex:1 1 0px}.block-editor-block-list__insertion-point{bottom:0;left:0;position:absolute;right:0;top:0}.block-editor-block-list__insertion-point-indicator{background:var(--wp-admin-theme-color);border-radius:2px;opacity:0;position:absolute;transform-origin:center;will-change:transform,opacity}.block-editor-block-list__insertion-point.is-vertical>.block-editor-block-list__insertion-point-indicator{height:4px;top:calc(50% - 2px);width:100%}.block-editor-block-list__insertion-point.is-horizontal>.block-editor-block-list__insertion-point-indicator{bottom:0;right:calc(50% - 2px);top:0;width:4px}.block-editor-block-list__insertion-point-inserter{display:none;justify-content:center;position:absolute;right:calc(50% - 12px);top:calc(50% - 12px);will-change:transform}@media (min-width:480px){.block-editor-block-list__insertion-point-inserter{display:flex}}.block-editor-block-list__block-side-inserter-popover .components-popover__content>div{pointer-events:none}.block-editor-block-list__block-side-inserter-popover .components-popover__content>div>*{pointer-events:all}.block-editor-block-list__empty-block-inserter .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon{background:#1e1e1e;border-radius:2px;color:#fff;height:24px;min-width:24px;padding:0}.block-editor-block-list__empty-block-inserter .block-editor-inserter__toggle.components-button.has-icon:hover,.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon:hover{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon{background:var(--wp-admin-theme-color)}.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon:hover{background:#1e1e1e}.block-editor-block-contextual-toolbar{background-color:#fff;border:1px solid #1e1e1e;border-radius:2px;display:inline-flex}.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar-group{border-left-color:#1e1e1e}.block-editor-block-contextual-toolbar.is-fixed{border:none;border-bottom:1px solid #e0e0e0;border-radius:0;overflow:hidden}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar{overflow:auto;overflow-y:hidden}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group{border-left-color:#e0e0e0}.block-editor-block-contextual-toolbar.is-collapsed:after{background:linear-gradient(270deg,#fff,transparent);content:"";height:100%;position:absolute;right:100%;width:48px}@media (min-width:782px){.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar{flex-grow:0;width:auto}.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar:before{background-color:#ddd;content:"";height:24px;margin-left:0;margin-top:12px;position:relative;right:-2px;top:-1px;width:1px}.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar{border:none}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar .components-button.has-icon:after{content:attr(aria-label);font-size:12px}.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar:before{background-color:#ddd;content:"";height:24px;margin-left:8px;margin-top:12px;position:relative;right:0;top:-1px;width:1px}.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar{border:none}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar{width:256px}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar .components-button.has-icon:after{content:attr(aria-label);font-size:12px}.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar:before{background-color:#ddd;content:"";height:24px;margin-bottom:12px;margin-top:12px;position:relative;right:-8px;top:-1px;width:1px}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button:after{right:0}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar__block-controls .block-editor-block-mover{border-right:none}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar__block-controls .block-editor-block-mover:before{background-color:#ddd;content:"";margin-bottom:12px;margin-top:12px;position:relative;width:1px}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button{border:0;padding-left:6px;padding-right:6px;position:relative;top:-1px}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button:after{bottom:4px;content:"·";font-size:16px;line-height:40px;position:absolute;right:46px}.block-editor-block-contextual-toolbar:not(.is-fixed) .block-editor-block-parent-selector{position:absolute;right:-57px;top:-1px}.show-icon-labels .block-editor-block-contextual-toolbar:not(.is-fixed) .block-editor-block-parent-selector{margin-bottom:-1px;margin-right:-1px;margin-top:-1px;position:relative;right:auto;top:auto}}.block-editor-block-list__block-selection-button{background-color:#1e1e1e;border-radius:2px;display:inline-flex;font-size:13px;height:48px;padding:0 12px;z-index:22}.block-editor-block-list__block-selection-button .block-editor-block-list__block-selection-button__content{align-items:center;display:inline-flex;margin:auto}.block-editor-block-list__block-selection-button .block-editor-block-list__block-selection-button__content>.components-flex__item{margin-left:6px}.block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle{cursor:grab;height:24px;margin-right:-2px;min-width:24px;padding:0}.block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle svg{min-height:18px;min-width:18px}.block-editor-block-list__block-selection-button .block-editor-block-icon{color:#fff;font-size:13px;height:48px}.block-editor-block-list__block-selection-button .components-button{color:#fff;display:flex;height:48px;min-width:36px}.block-editor-block-list__block-selection-button .components-button:focus{border:none;box-shadow:none}.block-editor-block-list__block-selection-button .components-button:active,.block-editor-block-list__block-selection-button .components-button[aria-disabled=true]:hover{color:#fff}.block-editor-block-list__block-selection-button .block-selection-button_select-button.components-button{padding:0}.block-editor-block-list__block-selection-button .block-editor-block-mover{background:unset;border:none}@keyframes hide-during-dragging{to{position:fixed;transform:translate(-9999px,9999px)}}.components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar,.components-popover.block-editor-block-list__block-popover .block-editor-block-list__block-selection-button{margin-bottom:12px;margin-top:12px;pointer-events:all}.components-popover.block-editor-block-list__block-popover.is-insertion-point-visible{visibility:hidden}.is-dragging-components-draggable .components-popover.block-editor-block-list__block-popover{animation:hide-during-dragging 1ms linear forwards;opacity:0}.is-dragging-components-draggable .components-tooltip{display:none}.block-editor-block-lock-modal{z-index:1000001}@media (min-width:600px){.block-editor-block-lock-modal .components-modal__frame{max-width:480px}}.block-editor-block-lock-modal__checklist{margin:0}.block-editor-block-lock-modal__options-title{padding:12px 0}.block-editor-block-lock-modal__options-title .components-checkbox-control__label{font-weight:600}.block-editor-block-lock-modal__checklist-item{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:0;padding:12px 32px 12px 0}.block-editor-block-lock-modal__checklist-item .block-editor-block-lock-modal__lock-icon{fill:#1e1e1e;flex-shrink:0;margin-left:12px}.block-editor-block-lock-modal__checklist-item:hover{background-color:#f0f0f0;border-radius:2px}.block-editor-block-lock-modal__template-lock{border-top:1px solid #ddd;margin-top:16px;padding:12px 0}.block-editor-block-lock-modal__actions{margin-top:24px}.block-editor-block-lock-toolbar .components-button.has-icon{min-width:36px!important}.block-editor-block-toolbar__block-controls .block-editor-block-lock-toolbar{margin-right:-6px!important}.show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-lock-toolbar{border-right:1px solid #1e1e1e;margin-left:-6px;margin-right:6px!important}.block-editor-block-breadcrumb{list-style:none;margin:0;padding:0}.block-editor-block-breadcrumb li{display:inline-flex;margin:0}.block-editor-block-breadcrumb li .block-editor-block-breadcrumb__separator{fill:currentColor;margin-left:-4px;margin-right:-4px;transform:scaleX(-1)}.block-editor-block-breadcrumb li:last-child .block-editor-block-breadcrumb__separator{display:none}.block-editor-block-breadcrumb__button.components-button{height:24px;line-height:24px;padding:0;position:relative}.block-editor-block-breadcrumb__button.components-button:hover:not(:disabled){box-shadow:none;text-decoration:underline}.block-editor-block-breadcrumb__button.components-button:focus{box-shadow:none}.block-editor-block-breadcrumb__button.components-button:focus:before{border-radius:2px;bottom:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";display:block;left:1px;outline:2px solid transparent;position:absolute;right:1px;top:1px}.block-editor-block-breadcrumb__current{cursor:default}.block-editor-block-breadcrumb__button.components-button,.block-editor-block-breadcrumb__current{color:#1e1e1e;font-size:inherit;padding:0 8px}.block-editor-block-card{align-items:flex-start;display:flex}.block-editor-block-card__content{flex-grow:1;margin-bottom:4px}.block-editor-block-card__title{font-weight:500}.block-editor-block-card__title.block-editor-block-card__title{line-height:24px;margin:0 0 4px}.block-editor-block-card__description{font-size:13px}.block-editor-block-card .block-editor-block-icon{flex:0 0 24px;height:24px;margin-left:12px;margin-right:0;width:24px}.block-editor-block-card.is-synced .block-editor-block-icon{color:var(--wp-block-synced-color)}.block-editor-block-compare{height:auto}.block-editor-block-compare__wrapper{display:flex;padding-bottom:16px}.block-editor-block-compare__wrapper>div{display:flex;flex-direction:column;justify-content:space-between;max-width:600px;min-width:200px;padding:0 0 0 16px;width:50%}.block-editor-block-compare__wrapper>div button{float:left}.block-editor-block-compare__wrapper .block-editor-block-compare__converted{border-right:1px solid #ddd;padding-left:0;padding-right:15px}.block-editor-block-compare__wrapper .block-editor-block-compare__html{border-bottom:1px solid #ddd;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:12px;line-height:1.7;padding-bottom:15px}.block-editor-block-compare__wrapper .block-editor-block-compare__html span{background-color:#e6ffed;padding-bottom:3px;padding-top:3px}.block-editor-block-compare__wrapper .block-editor-block-compare__html span.block-editor-block-compare__added{background-color:#acf2bd}.block-editor-block-compare__wrapper .block-editor-block-compare__html span.block-editor-block-compare__removed{background-color:#cc1818}.block-editor-block-compare__wrapper .block-editor-block-compare__preview{padding:16px 0 0}.block-editor-block-compare__wrapper .block-editor-block-compare__preview p{font-size:12px;margin-top:0}.block-editor-block-compare__wrapper .block-editor-block-compare__action{margin-top:16px}.block-editor-block-compare__wrapper .block-editor-block-compare__heading{font-size:1em;font-weight:400;margin:.67em 0}.block-editor-block-draggable-chip-wrapper{position:absolute;right:0;top:-24px}.block-editor-block-draggable-chip{background-color:#1e1e1e;border-radius:2px;box-shadow:0 6px 8px rgba(0,0,0,.3);color:#fff;cursor:grabbing;display:inline-flex;height:48px;padding:0 13px;-webkit-user-select:none;user-select:none;width:max-content}.block-editor-block-draggable-chip svg{fill:currentColor}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content{justify-content:flex-start;margin:auto}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content>.components-flex__item{margin-left:6px}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content>.components-flex__item:last-child{margin-left:0}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content .block-editor-block-icon svg{min-height:18px;min-width:18px}.block-editor-block-draggable-chip .components-flex__item{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.block-editor-block-mover__move-button-container{border:none;display:flex;padding:0}@media (min-width:600px){.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container{flex-direction:column}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container>*{height:24px;min-width:0!important;width:100%}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container>:before{height:calc(100% - 4px)}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-up-button svg{flex-shrink:0;top:5px}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-down-button svg{bottom:5px;flex-shrink:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container{width:48px}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container>*{min-width:0!important;overflow:hidden;width:24px}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container .block-editor-block-mover-button{padding-left:0;padding-right:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-up-button svg{right:5px}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-down-button svg{left:5px}}.block-editor-block-mover__drag-handle{cursor:grab}@media (min-width:600px){.block-editor-block-mover__drag-handle{min-width:0!important;overflow:hidden;width:24px}.block-editor-block-mover .block-editor-block-mover__drag-handle.has-icon.has-icon{padding-left:0;padding-right:0}}.components-button.block-editor-block-mover-button:before{animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards;border-radius:2px;content:"";display:block;height:32px;left:8px;position:absolute;right:8px;z-index:-1}@media (prefers-reduced-motion:reduce){.components-button.block-editor-block-mover-button:before{animation-delay:0s;animation-duration:1ms}}.components-button.block-editor-block-mover-button:focus,.components-button.block-editor-block-mover-button:focus:before,.components-button.block-editor-block-mover-button:focus:enabled{box-shadow:none;outline:none}.components-button.block-editor-block-mover-button:focus-visible:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 4px #fff;outline:2px solid transparent}.block-editor-block-navigation__container{min-width:280px}.block-editor-block-navigation__label{color:#757575;font-size:11px;font-weight:500;margin:0 0 12px;text-transform:uppercase}.block-editor-block-parent-selector{background:#fff;border-radius:2px}.block-editor-block-parent-selector .block-editor-block-parent-selector__button{border:1px solid #1e1e1e;border-radius:2px;height:48px;width:48px}.block-editor-block-patterns-list__list-item{cursor:pointer;margin-bottom:24px;position:relative}.block-editor-block-patterns-list__list-item.is-placeholder{min-height:100px}.block-editor-block-patterns-list__list-item[draggable=true]{cursor:grab}.block-editor-block-patterns-list__item{height:100%}.block-editor-block-patterns-list__item .block-editor-block-preview__container{align-items:center;border-radius:4px;display:flex;overflow:hidden}.block-editor-block-patterns-list__item .block-editor-block-patterns-list__item-title{flex-grow:1;text-align:right}.block-editor-block-patterns-list__item:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px #1e1e1e}.block-editor-block-patterns-list__item:focus .block-editor-block-preview__container{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) #1e1e1e;outline:2px solid transparent;outline-offset:2px}.block-editor-block-patterns-list__item.block-editor-block-patterns-list__list-item-synced:focus .block-editor-block-preview__container,.block-editor-block-patterns-list__item.block-editor-block-patterns-list__list-item-synced:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px var(--wp-block-synced-color),0 15px 25px rgba(0,0,0,.07)}.block-editor-block-patterns-list__item .block-editor-patterns__pattern-details{align-items:center;margin-top:8px}.block-editor-block-patterns-list__item .block-editor-patterns__pattern-icon-wrapper{height:24px;min-width:24px}.block-editor-block-patterns-list__item .block-editor-patterns__pattern-icon-wrapper .block-editor-patterns__pattern-icon{fill:var(--wp-block-synced-color)}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination{border-top:1px solid #2f2f2f;justify-content:center;padding:4px}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination .components-button.is-tertiary{height:32px;justify-content:center;width:auto}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination .components-button.is-tertiary:disabled{background:none;color:#949494}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination .components-button.is-tertiary:hover:not(:disabled){background-color:#757575;color:#fff}.show-icon-labels .block-editor-patterns__grid-pagination,.show-icon-labels .block-editor-patterns__grid-pagination .block-editor-patterns__grid-pagination-next,.show-icon-labels .block-editor-patterns__grid-pagination .block-editor-patterns__grid-pagination-previous{flex-direction:column}.show-icon-labels .block-editor-patterns__grid-pagination .components-button{width:auto}.show-icon-labels .block-editor-patterns__grid-pagination .components-button span{display:none}.show-icon-labels .block-editor-patterns__grid-pagination .components-button:before{content:attr(aria-label)}.components-popover.block-editor-block-popover{margin:0!important;pointer-events:none;position:absolute;z-index:31}.components-popover.block-editor-block-popover .components-popover__content{margin:0!important;min-width:auto;overflow-y:visible;width:max-content}.components-popover.block-editor-block-popover:not(.block-editor-block-popover__inbetween,.block-editor-block-popover__drop-zone,.block-editor-block-list__block-side-inserter-popover) .components-popover__content *{pointer-events:all}.components-popover.block-editor-block-popover__inbetween,.components-popover.block-editor-block-popover__inbetween *{pointer-events:none}.components-popover.block-editor-block-popover__inbetween .is-with-inserter,.components-popover.block-editor-block-popover__inbetween .is-with-inserter *{pointer-events:all}.components-popover.block-editor-block-popover__drop-zone *{pointer-events:none}.components-popover.block-editor-block-popover__drop-zone .block-editor-block-popover__drop-zone-foreground{background-color:var(--wp-admin-theme-color);border-radius:2px;inset:0;position:absolute}.block-editor-block-preview__container{overflow:hidden;position:relative;width:100%}.block-editor-block-preview__container .block-editor-block-preview__content{margin:0;min-height:auto;overflow:visible;right:0;text-align:initial;top:0;transform-origin:top right;width:100%}.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-list__insertion-point,.block-editor-block-preview__container .block-editor-block-preview__content .block-list-appender{display:none}.block-editor-block-preview__container:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.block-editor-block-rename-modal{z-index:1000001}.block-editor-block-settings-menu__popover .components-dropdown-menu__menu{padding:0}.block-editor-block-styles+.default-style-picker__default-switcher{margin-top:16px}.block-editor-block-styles__preview-panel{display:none;z-index:90}@media (min-width:782px){.block-editor-block-styles__preview-panel{display:block}}.block-editor-block-styles__preview-panel .block-editor-inserter__preview-container{left:auto;position:static;right:auto;top:auto}.block-editor-block-styles__preview-panel .block-editor-block-card__title.block-editor-block-card__title{margin:0}.block-editor-block-styles__preview-panel .block-editor-block-icon{display:none}.block-editor-block-styles__variants{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item{box-shadow:inset 0 0 0 1px #ddd;color:#1e1e1e;display:inline-block;width:calc(50% - 4px)}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:hover{box-shadow:inset 0 0 0 1px #ddd;color:var(--wp-admin-theme-color)}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:hover{background-color:#1e1e1e;box-shadow:none}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active .block-editor-block-styles__item-text,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:hover .block-editor-block-styles__item-text{color:#fff}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:focus,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:focus{box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.block-editor-block-styles__variants .block-editor-block-styles__item-text{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-editor-block-styles__block-preview-container,.block-editor-block-styles__block-preview-container *{box-sizing:border-box!important}.block-editor-block-switcher{position:relative}.block-editor-block-switcher .components-button.components-dropdown-menu__toggle.has-icon.has-icon{min-width:36px}.block-editor-block-switcher__no-switcher-icon,.block-editor-block-switcher__toggle{position:relative}.components-button.block-editor-block-switcher__no-switcher-icon,.components-button.block-editor-block-switcher__toggle{display:block;height:48px;margin:0}.components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-icon,.components-button.block-editor-block-switcher__toggle .block-editor-block-icon{margin:auto}.block-editor-block-switcher__toggle-text{margin-right:8px}.show-icon-labels .block-editor-block-switcher__toggle-text{display:none}.show-icon-labels .block-editor-block-toolbar .block-editor-block-switcher .components-button.has-icon:after{font-size:14px}.components-button.block-editor-block-switcher__no-switcher-icon{display:flex}.components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{margin-left:auto;margin-right:auto;min-width:24px!important}.components-button.block-editor-block-switcher__no-switcher-icon:disabled{opacity:1}.components-button.block-editor-block-switcher__no-switcher-icon:disabled,.components-button.block-editor-block-switcher__no-switcher-icon:disabled .block-editor-block-icon.has-colors{color:#1e1e1e}.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon .block-editor-block-icon,.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__toggle.has-icon.has-icon .block-editor-block-icon,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon .block-editor-block-icon,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__toggle.has-icon.has-icon .block-editor-block-icon{align-items:center;display:flex;height:100%;margin:0 auto;min-width:100%;position:relative}.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon:before,.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__toggle.has-icon.has-icon:before,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon:before,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__toggle.has-icon.has-icon:before{bottom:8px;left:8px;right:8px;top:8px}.components-popover.block-editor-block-switcher__popover .components-popover__content{min-width:300px}.block-editor-block-switcher__popover__preview__parent .block-editor-block-switcher__popover__preview__container{position:absolute;right:calc(100% + 16px);top:-12px}.block-editor-block-switcher__preview__popover{display:none;overflow:hidden}.block-editor-block-switcher__preview__popover.components-popover{margin-top:11px}@media (min-width:782px){.block-editor-block-switcher__preview__popover{display:block}}.block-editor-block-switcher__preview__popover .components-popover__content{background:#fff;border:1px solid #1e1e1e;border-radius:2px;box-shadow:none;outline:none;overflow:auto;width:300px}.block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview{margin:16px 0;max-height:468px;overflow:hidden;padding:0 16px}.block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview.is-pattern-list-preview{overflow:unset}.block-editor-block-switcher__preview-title{color:#757575;font-size:11px;font-weight:500;margin-bottom:12px;text-transform:uppercase}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon{min-width:36px}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle{height:48px}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-icon,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-switcher__transform,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle .block-editor-block-icon,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle .block-editor-block-switcher__transform{height:48px;width:48px}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-switcher__transform,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle .block-editor-block-switcher__transform{padding:12px}.block-editor-block-switcher__preview-patterns-container{padding-bottom:16px}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item{margin-top:16px}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-preview__container{cursor:pointer}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item{border:1px solid transparent;border-radius:2px;height:100%;position:relative;transition:all .05s ease-in-out}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item:focus,.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item:hover{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item:hover{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) #1e1e1e}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item .block-editor-block-switcher__preview-patterns-container-list__item-title{cursor:pointer;font-size:12px;padding:4px;text-align:center}.block-editor-block-types-list>[role=presentation]{display:flex;flex-wrap:wrap;overflow:hidden}.block-editor-block-pattern-setup{align-items:flex-start;border-radius:2px;display:flex;flex-direction:column;justify-content:center;width:100%}.block-editor-block-pattern-setup.view-mode-grid{padding-top:4px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__toolbar{justify-content:center}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container{column-count:2;column-gap:24px;display:block;padding:0 32px;width:100%}@media (min-width:1440px){.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container{column-count:3}}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-preview__container,.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container div[role=button]{cursor:pointer}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px var(--wp-admin-theme-color)}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:focus .block-editor-block-preview__container{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:2px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:focus .block-editor-block-pattern-setup-list__item-title,.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:hover .block-editor-block-pattern-setup-list__item-title{color:var(--wp-admin-theme-color)}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item{break-inside:avoid-column;margin-bottom:24px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item .block-editor-block-pattern-setup-list__item-title{cursor:pointer;font-size:12px;padding-top:8px;text-align:center}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item .block-editor-block-preview__container{border:1px solid #ddd;border-radius:2px;min-height:100px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item .block-editor-block-preview__content{width:100%}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar{align-items:center;align-self:flex-end;background-color:#fff;border-top:1px solid #ddd;bottom:0;box-sizing:border-box;color:#1e1e1e;display:flex;flex-direction:row;height:60px;justify-content:space-between;margin:0;padding:16px;position:absolute;text-align:right;width:100%}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__display-controls{display:flex}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__actions,.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__navigation{display:flex;width:calc(50% - 36px)}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__actions{justify-content:flex-end}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container{box-sizing:border-box;display:flex;flex-direction:column;height:100%;width:100%}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container{height:100%;list-style:none;margin:0;overflow:hidden;padding:0;position:relative;transform-style:preserve-3d}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container *{box-sizing:border-box}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide{background-color:#fff;height:100%;margin:auto;padding:0;position:absolute;top:0;transition:transform .5s,z-index .5s;width:100%;z-index:100}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide.active-slide{opacity:1;position:relative;z-index:102}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide.previous-slide{transform:translateX(100%);z-index:101}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide.next-slide{transform:translateX(-100%);z-index:101}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .block-list-appender{display:none}.block-editor-block-pattern-setup__carousel,.block-editor-block-pattern-setup__grid{width:100%}.block-editor-block-variation-transforms{padding:0 52px 16px 16px;width:100%}.block-editor-block-variation-transforms .components-dropdown-menu__toggle{border:1px solid #757575;border-radius:2px;justify-content:right;min-height:30px;padding:6px 12px;position:relative;text-align:right;width:100%}.block-editor-block-variation-transforms .components-dropdown-menu__toggle.components-dropdown-menu__toggle{padding-left:24px}.block-editor-block-variation-transforms .components-dropdown-menu__toggle:focus:not(:disabled){border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 calc(var(--wp-admin-border-width-focus) - 1px) var(--wp-admin-theme-color)}.block-editor-block-variation-transforms .components-dropdown-menu__toggle svg{height:100%;left:0;padding:0;position:absolute;top:0}.block-editor-block-variation-transforms__popover .components-popover__content{min-width:230px}.components-border-radius-control{margin-bottom:12px}.components-border-radius-control legend{margin-bottom:8px}.components-border-radius-control .components-border-radius-control__wrapper{align-items:flex-start;display:flex;justify-content:space-between}.components-border-radius-control .components-border-radius-control__wrapper .components-border-radius-control__unit-control{flex-shrink:0;margin-bottom:0;margin-left:16px;width:calc(50% - 8px)}.components-border-radius-control .components-border-radius-control__wrapper .components-border-radius-control__range-control{flex:1;margin-left:12px}.components-border-radius-control .components-border-radius-control__wrapper .components-border-radius-control__range-control>div{align-items:center;display:flex;height:40px}.components-border-radius-control .components-border-radius-control__wrapper>span{flex:0 0 auto}.components-border-radius-control .components-border-radius-control__input-controls-wrapper{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:12px}.components-border-radius-control .component-border-radius-control__linked-button{display:flex;justify-content:center;margin-top:8px}.components-border-radius-control .component-border-radius-control__linked-button svg{margin-left:0}.block-editor-color-gradient-control .block-editor-color-gradient-control__color-indicator{margin-bottom:12px}.block-editor-color-gradient-control__fieldset{min-width:0}.block-editor-color-gradient-control__tabs .block-editor-color-gradient-control__panel{padding:16px}.block-editor-panel-color-gradient-settings.block-editor-panel-color-gradient-settings,.block-editor-panel-color-gradient-settings.block-editor-panel-color-gradient-settings>div:not(:first-of-type){display:block}@media screen and (min-width:782px){.block-editor-panel-color-gradient-settings .components-circular-option-picker__swatches{display:grid;grid-template-columns:repeat(6,28px);justify-content:space-between}}.block-editor-block-inspector .block-editor-panel-color-gradient-settings .components-base-control{margin-bottom:inherit}.block-editor-panel-color-gradient-settings__dropdown-content .block-editor-color-gradient-control__panel{padding:16px;width:260px}.block-editor-panel-color-gradient-settings__color-indicator{background:linear-gradient(45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0)}.block-editor-tools-panel-color-gradient-settings__item{border-bottom:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #ddd;max-width:100%;padding:0}.block-editor-tools-panel-color-gradient-settings__item.first{border-top:1px solid #ddd;border-top-left-radius:2px;border-top-right-radius:2px;margin-top:24px}.block-editor-tools-panel-color-gradient-settings__item.last{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.block-editor-tools-panel-color-gradient-settings__item>div,.block-editor-tools-panel-color-gradient-settings__item>div>button{border-radius:inherit}.block-editor-tools-panel-color-gradient-settings__dropdown{display:block;padding:0}.block-editor-tools-panel-color-gradient-settings__dropdown>button{height:auto;padding-bottom:10px;padding-top:10px;text-align:right}.block-editor-tools-panel-color-gradient-settings__dropdown>button.is-open{background:#f0f0f0;color:var(--wp-admin-theme-color)}.block-editor-tools-panel-color-gradient-settings__dropdown .block-editor-panel-color-gradient-settings__color-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-panel-color-gradient-settings__dropdown{width:100%}.block-editor-panel-color-gradient-settings__dropdown .component-color-indicator{flex-shrink:0}.block-editor-contrast-checker>.components-notice{margin:0}.block-editor-date-format-picker{margin-bottom:16px}.block-editor-date-format-picker__custom-format-select-control__custom-option{border-top:1px solid #ddd}.block-editor-date-format-picker__custom-format-select-control__custom-option.has-hint{grid-template-columns:auto 30px}.block-editor-date-format-picker__custom-format-select-control__custom-option .components-custom-select-control__item-hint{grid-row:2;text-align:right}.block-editor-duotone-control__popover>.components-popover__content{padding:16px;width:280px}.block-editor-duotone-control__popover .components-menu-group__label{padding:0}.block-editor-duotone-control__popover .components-circular-option-picker__swatches{display:grid;gap:12px;grid-template-columns:repeat(6,28px);justify-content:space-between}.block-editor-duotone-control__description{font-size:12px;margin:16px 0}.block-editor-duotone-control__unset-indicator{background:linear-gradient(45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0)}.components-font-appearance-control ul li{color:#1e1e1e;text-transform:capitalize}.block-editor-global-styles-effects-panel__toggle-icon{fill:currentColor}.block-editor-global-styles-effects-panel__shadow-popover-container{width:230px}.block-editor-global-styles-effects-panel__shadow-dropdown,.block-editor-global-styles-filters-panel__dropdown{display:block;padding:0}.block-editor-global-styles-effects-panel__shadow-dropdown button,.block-editor-global-styles-filters-panel__dropdown button{padding:8px;width:100%}.block-editor-global-styles-effects-panel__shadow-dropdown button.is-open,.block-editor-global-styles-filters-panel__dropdown button.is-open{background-color:#f0f0f0}.block-editor-global-styles-effects-panel__shadow-indicator-wrapper{align-items:center;display:flex;justify-content:center;overflow:hidden;padding:6px}.block-editor-global-styles-effects-panel__shadow-indicator{border:1px solid #e0e0e0;border-radius:2px;color:#2f2f2f;cursor:pointer;height:24px;padding:0;width:24px}.block-editor-global-styles-advanced-panel__custom-css-input textarea{direction:ltr;font-family:Menlo,Consolas,monaco,monospace}.block-editor-global-styles-advanced-panel__custom-css-validation-wrapper{bottom:16px;left:24px;position:absolute}.block-editor-global-styles-advanced-panel__custom-css-validation-icon{fill:#cc1818}.block-editor-height-control{border:0;margin:0;padding:0}.block-editor-image-size-control{margin-bottom:1em}.block-editor-image-size-control .block-editor-image-size-control__height,.block-editor-image-size-control .block-editor-image-size-control__width{margin-bottom:1.115em}.block-editor-block-types-list__list-item{display:block;margin:0;padding:0;width:33.33%}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled) .block-editor-block-icon.has-colors{color:var(--wp-block-synced-color)}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled):hover .block-editor-block-types-list__item-title{color:var(--wp-block-synced-color)!important;filter:brightness(.95)}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled):hover svg{color:var(--wp-block-synced-color)!important}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled):after{background:var(--wp-block-synced-color)}.components-button.block-editor-block-types-list__item{align-items:stretch;background:transparent;border-radius:2px;color:#1e1e1e;cursor:pointer;display:flex;flex-direction:column;font-size:13px;height:auto;justify-content:center;padding:8px;position:relative;transition:all .05s ease-in-out;width:100%;word-break:break-word}@media (prefers-reduced-motion:reduce){.components-button.block-editor-block-types-list__item{transition-delay:0s;transition-duration:0s}}.components-button.block-editor-block-types-list__item:disabled{cursor:default;opacity:.6}.components-button.block-editor-block-types-list__item:not(:disabled):hover .block-editor-block-types-list__item-title{color:var(--wp-admin-theme-color)!important;filter:brightness(.95)}.components-button.block-editor-block-types-list__item:not(:disabled):hover svg{color:var(--wp-admin-theme-color)!important}.components-button.block-editor-block-types-list__item:not(:disabled):hover:after{background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.04;pointer-events:none;position:absolute;right:0;top:0}.components-button.block-editor-block-types-list__item:not(:disabled):focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-button.block-editor-block-types-list__item:not(:disabled).is-active{background:#1e1e1e;color:#fff;outline:2px solid transparent;outline-offset:-2px}.block-editor-block-types-list__item-icon{border-radius:2px;color:#1e1e1e;padding:12px 20px;transition:all .05s ease-in-out}@media (prefers-reduced-motion:reduce){.block-editor-block-types-list__item-icon{transition-delay:0s;transition-duration:0s}}.block-editor-block-types-list__item-icon .block-editor-block-icon{margin-left:auto;margin-right:auto}.block-editor-block-types-list__item-icon svg{transition:all .15s ease-out}@media (prefers-reduced-motion:reduce){.block-editor-block-types-list__item-icon svg{transition-delay:0s;transition-duration:0s}}.block-editor-block-types-list__list-item[draggable=true] .block-editor-block-types-list__item-icon{cursor:grab}.block-editor-block-types-list__item-title{font-size:12px;padding:4px 2px 8px}.show-icon-labels .block-editor-block-inspector__tabs .components-tab-panel__tabs .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-block-inspector__tabs .components-tab-panel__tabs .components-button.has-icon:before{content:attr(aria-label)}.block-editor-inspector-controls-tabs__hint{align-items:top;background:#f0f0f0;border-radius:2px;color:#1e1e1e;display:flex;flex-direction:row;margin:16px}.block-editor-inspector-controls-tabs__hint-content{margin:12px 12px 12px 0}.block-editor-inspector-controls-tabs__hint-dismiss{margin:4px 0 4px 4px}.block-editor-inspector-popover-header{margin-bottom:16px}[class].block-editor-inspector-popover-header__action{height:24px}[class].block-editor-inspector-popover-header__action.has-icon{min-width:24px;padding:0}[class].block-editor-inspector-popover-header__action:not(.has-icon){text-decoration:underline}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}@keyframes loadingpulse{0%{opacity:1}50%{opacity:0}to{opacity:1}}.block-editor-link-control{min-width:350px;position:relative}.components-popover__content .block-editor-link-control{max-width:350px;min-width:auto;width:90vw}.show-icon-labels .block-editor-link-control .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-link-control .components-button.has-icon:before{content:attr(aria-label)}.block-editor-link-control__search-input-wrapper{margin-bottom:8px;position:relative}.block-editor-link-control__search-input-container,.block-editor-link-control__search-input-wrapper{position:relative}.block-editor-link-control__search-input.has-no-label .block-editor-url-input__input{flex:1}.block-editor-link-control__field{margin:16px}.block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:40px;line-height:normal;margin:0;padding:8px 16px;position:relative;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{font-size:13px;line-height:normal}}.block-editor-link-control__field input[type=text]:focus,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-link-control__field input[type=text]::-webkit-input-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control__field input[type=text]::-moz-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.block-editor-link-control__field input[type=text]:-ms-input-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control__search-error{margin:-8px 16px 16px}.block-editor-link-control__search-enter{left:19px;position:absolute;top:3px}.block-editor-link-control__search-enter svg{position:relative;top:-2px}.block-editor-link-control__search-actions{display:flex;flex-direction:row-reverse;gap:8px;justify-content:flex-start;order:20;padding:8px 16px 16px}.block-editor-link-control__search-results-wrapper{position:relative}.block-editor-link-control__search-results-wrapper:after,.block-editor-link-control__search-results-wrapper:before{content:"";display:block;left:16px;pointer-events:none;position:absolute;right:-1px;z-index:100}.block-editor-link-control__search-results-wrapper:before{bottom:auto;height:8px;top:0}.block-editor-link-control__search-results-wrapper:after{bottom:0;height:16px;top:auto}.block-editor-link-control__search-results{margin-top:-16px;max-height:200px;overflow-y:auto;padding:8px}.block-editor-link-control__search-results.is-loading{opacity:.2}.block-editor-link-control__search-item.components-button.components-menu-item__button{height:auto;text-align:right}.block-editor-link-control__search-item .components-menu-item__item{display:inline-block;overflow:hidden;text-overflow:ellipsis;width:100%}.block-editor-link-control__search-item .components-menu-item__item mark{background-color:transparent;color:inherit;font-weight:600}.block-editor-link-control__search-item .components-menu-item__shortcut{color:#757575;text-transform:capitalize;white-space:nowrap}.block-editor-link-control__search-item[aria-selected]{background:#f0f0f0}.block-editor-link-control__search-item.is-current{background:transparent;border:0;cursor:default;flex-direction:column;padding:16px;width:100%}.block-editor-link-control__search-item .block-editor-link-control__search-item-header{align-items:flex-start;display:block;flex-direction:row;margin-left:8px;overflow-wrap:break-word;white-space:pre-wrap}.block-editor-link-control__search-item .block-editor-link-control__search-item-header .block-editor-link-control__search-item-info{word-break:break-all}.block-editor-link-control__search-item.is-preview .block-editor-link-control__search-item-header{display:flex;flex:1}.block-editor-link-control__search-item.is-error .block-editor-link-control__search-item-header{align-items:center}.block-editor-link-control__search-item.is-url-title .block-editor-link-control__search-item-title{word-break:break-all}.block-editor-link-control__search-item .block-editor-link-control__search-item-icon{display:flex;flex-shrink:0;justify-content:center;margin-left:8px;max-height:24px;position:relative;width:24px}.block-editor-link-control__search-item .block-editor-link-control__search-item-icon img{width:16px}.block-editor-link-control__search-item.is-error .block-editor-link-control__search-item-icon{max-height:32px;top:0;width:32px}.block-editor-link-control__search-item .block-editor-link-control__search-item-title{display:block;font-weight:500;line-height:24px;position:relative}.block-editor-link-control__search-item .block-editor-link-control__search-item-title mark{background-color:transparent;color:inherit;font-weight:600}.block-editor-link-control__search-item .block-editor-link-control__search-item-title span{font-weight:400}.block-editor-link-control__search-item .block-editor-link-control__search-item-title svg{display:none}.block-editor-link-control__search-item .block-editor-link-control__search-item-description{margin:0;padding-top:12px}.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder{display:flex;flex-direction:column;height:28px;justify-content:space-around;margin-top:12px;padding-top:0}.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder:after,.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder:before{background-color:#f0f0f0;border-radius:3px;content:"";display:block;height:.7em;width:100%}.block-editor-link-control__search-item .block-editor-link-control__search-item-description .components-text{font-size:.9em}.block-editor-link-control__search-item .block-editor-link-control__search-item-image{background-color:#f0f0f0;border-radius:2px;display:flex;height:140px;justify-content:center;margin-top:12px;max-height:140px;overflow:hidden;width:100%}.block-editor-link-control__search-item .block-editor-link-control__search-item-image.is-placeholder{background-color:#f0f0f0;border-radius:3px}.block-editor-link-control__search-item .block-editor-link-control__search-item-image img{display:block;height:140px;max-height:140px;max-width:100%}.block-editor-link-control__search-item-top{align-items:center;display:flex;flex-direction:row;width:100%}.block-editor-link-control__search-item-bottom{transition:opacity 1.5s;width:100%}.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-description:after,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-description:before,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-image{animation:loadingpulse 1s linear infinite;animation-delay:.5s}.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon img,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon svg{opacity:0}.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon:before{animation:loadingpulse 1s linear infinite;animation-delay:.5s;background-color:#f0f0f0;border-radius:100%;bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.block-editor-link-control__loading{align-items:center;display:flex;margin:16px}.block-editor-link-control__loading .components-spinner{margin-top:0}.components-button+.block-editor-link-control__search-create{overflow:visible;padding:12px 16px}.components-button+.block-editor-link-control__search-create:before{content:"";display:block;position:absolute;right:0;top:-10px;width:100%}.block-editor-link-control__search-create{align-items:center}.block-editor-link-control__search-create .block-editor-link-control__search-item-title{margin-bottom:0}.block-editor-link-control__search-create .block-editor-link-control__search-item-icon{top:0}.block-editor-link-control__drawer{display:flex;flex-basis:100%;flex-direction:column;order:30}.block-editor-link-control__drawer-inner{display:flex;flex-basis:100%;flex-direction:column;position:relative}.block-editor-link-control__unlink{padding-left:16px;padding-right:16px}.block-editor-link-control__setting{flex:1;margin-bottom:0;padding:8px 24px 8px 0}.block-editor-link-control__setting .components-base-control__field{display:flex}.block-editor-link-control__setting input{margin-right:0}.is-preview .block-editor-link-control__setting{padding:20px 0 8px 8px}.block-editor-link-control__tools{margin-top:-16px;padding:8px 8px 0}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle{gap:0;padding-right:0}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true]{color:#1e1e1e}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true] svg{transform:rotate(-90deg);transition:transform .1s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true] svg{transition-delay:0s;transition-duration:0s}}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=false] svg{transform:rotate(0deg);transition:transform .1s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=false] svg{transition-delay:0s;transition-duration:0s}}.block-editor-link-control .block-editor-link-control__search-input .components-spinner{display:block}.block-editor-link-control .block-editor-link-control__search-input .components-spinner.components-spinner{bottom:auto;left:40px;position:absolute;right:auto;top:calc(50% - 8px)}.block-editor-link-control .block-editor-link-control__search-input-wrapper.has-actions .components-spinner{left:12px;top:calc(50% + 4px)}.block-editor-link-control__search-item-action{flex-shrink:0;margin-right:auto}.block-editor-list-view-tree{border-collapse:collapse;margin:0;padding:0;width:100%}.components-modal__content .block-editor-list-view-tree{margin:-12px -6px 0;width:calc(100% + 12px)}.block-editor-list-view-leaf{position:relative}.block-editor-list-view-leaf .block-editor-list-view-block-select-button[aria-expanded=true]{color:inherit}.block-editor-list-view-leaf .block-editor-list-view-block-select-button:hover{color:var(--wp-admin-theme-color)}.is-dragging-components-draggable .block-editor-list-view-leaf:not(.is-selected) .block-editor-list-view-block-select-button:hover{color:inherit}.block-editor-list-view-leaf.is-selected td{background:var(--wp-admin-theme-color)}.block-editor-list-view-leaf.is-selected.is-synced td{background:var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents .block-editor-block-icon,.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents:focus,.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents:hover{color:var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents:focus:after{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents,.block-editor-list-view-leaf.is-selected .components-button.has-icon{color:#fff}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents:focus:after{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-list-view-leaf.is-selected.is-synced .block-editor-list-view-block-contents:focus:after{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block__menu:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #fff}.block-editor-list-view-leaf.is-first-selected td:first-child{border-top-right-radius:2px}.block-editor-list-view-leaf.is-first-selected td:last-child{border-top-left-radius:2px}.block-editor-list-view-leaf.is-last-selected td:first-child{border-bottom-right-radius:2px}.block-editor-list-view-leaf.is-last-selected td:last-child{border-bottom-left-radius:2px}.block-editor-list-view-leaf.is-branch-selected:not(.is-selected):not(.is-synced-branch){background:rgba(var(--wp-admin-theme-color--rgb),.04)}.block-editor-list-view-leaf.is-synced-branch.is-branch-selected{background:rgba(var(--wp-block-synced-color--rgb),.04)}.block-editor-list-view-leaf.is-branch-selected.is-first-selected td:first-child{border-top-right-radius:2px}.block-editor-list-view-leaf.is-branch-selected.is-first-selected td:last-child{border-top-left-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-first-selected td:first-child{border-top-right-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-first-selected td:last-child{border-top-left-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-last-selected td:first-child{border-bottom-right-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-last-selected td:last-child{border-bottom-left-radius:2px}.block-editor-list-view-leaf.is-branch-selected:not(.is-selected) td{border-radius:0}.block-editor-list-view-leaf .block-editor-list-view-block-contents{align-items:center;border-radius:2px;display:flex;height:auto;padding:6px 0 6px 4px;position:relative;text-align:right;white-space:nowrap;width:100%}.block-editor-list-view-leaf .block-editor-list-view-block-contents.is-dropping-before:before{border-top:4px solid var(--wp-admin-theme-color);content:"";left:0;pointer-events:none;position:absolute;right:0;top:-2px;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear}.components-modal__content .block-editor-list-view-leaf .block-editor-list-view-block-contents{padding-left:0;padding-right:0}.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus{box-shadow:none}.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after{border-radius:inherit;bottom:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:-29px;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.is-dragging-components-draggable .block-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after{box-shadow:none}.block-editor-list-view-leaf.has-single-cell .block-editor-list-view-block-contents:focus:after{left:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);z-index:1}.is-dragging-components-draggable .block-editor-list-view-leaf .block-editor-list-view-block__menu:focus{box-shadow:none}.block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents{animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards;opacity:1}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents{animation-delay:0s;animation-duration:1ms}}.block-editor-list-view-leaf .block-editor-block-icon{flex:0 0 24px;margin-left:8px}.block-editor-list-view-leaf .block-editor-list-view-block__contents-cell,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell{padding-bottom:0;padding-top:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell{line-height:0;vertical-align:middle;width:36px}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell>*{opacity:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell.is-visible>*,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell:focus-within>*,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell:hover>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell.is-visible>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell:focus-within>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell:hover>*{opacity:1}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell .components-button.has-icon,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell .components-button.has-icon{min-width:24px;padding:0;width:24px}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell{padding-left:4px}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell .components-button.has-icon{height:24px}.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell-alignment-wrapper{align-items:center;display:flex;flex-direction:column;height:100%}.block-editor-list-view-leaf .block-editor-block-mover-button{height:24px;position:relative;width:36px}.block-editor-list-view-leaf .block-editor-block-mover-button svg{height:24px;position:relative}.block-editor-list-view-leaf .block-editor-block-mover-button.is-up-button{align-items:flex-end;margin-top:-6px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-up-button svg{bottom:-4px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-down-button{align-items:flex-start;margin-bottom:-6px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-down-button svg{top:-4px}.block-editor-list-view-leaf .block-editor-block-mover-button:before{height:16px;left:0;min-width:100%;right:0}.block-editor-list-view-leaf .block-editor-inserter__toggle{background:#1e1e1e;color:#fff;height:24px;margin:6px 1px 6px 6px;min-width:24px}.block-editor-list-view-leaf .block-editor-inserter__toggle:active{color:#fff}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__label-wrapper{min-width:120px}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__title{flex:1;position:relative}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__title .components-truncate{position:absolute;transform:translateY(-50%);width:100%}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__anchor-wrapper{max-width:min(110px,40%);position:relative;width:100%}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__anchor{background:rgba(0,0,0,.1);border-radius:2px;box-sizing:border-box;left:0;max-width:100%;padding:2px 6px;position:absolute;transform:translateY(-50%)}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__anchor{background:rgba(0,0,0,.3)}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__lock{line-height:0}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__images{display:flex}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__image{background-size:cover;border-radius:2px;height:18px;width:18px}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__image:not(:only-child){box-shadow:0 0 0 2px #fff}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__image:not(:first-child){margin-right:-6px}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__image:not(:only-child){box-shadow:0 0 0 2px var(--wp-admin-theme-color)}.block-editor-list-view-appender__cell .block-editor-list-view-appender__container,.block-editor-list-view-appender__cell .block-editor-list-view-block__contents-container,.block-editor-list-view-block__contents-cell .block-editor-list-view-appender__container,.block-editor-list-view-block__contents-cell .block-editor-list-view-block__contents-container{display:flex}.block-editor-list-view__expander{height:24px;margin-right:4px;width:24px}.block-editor-list-view-leaf[aria-level] .block-editor-list-view__expander{margin-right:220px}.block-editor-list-view-leaf:not([aria-level="1"]) .block-editor-list-view__expander{margin-left:4px}.block-editor-list-view-leaf[aria-level="1"] .block-editor-list-view__expander{margin-right:0}.block-editor-list-view-leaf[aria-level="2"] .block-editor-list-view__expander{margin-right:24px}.block-editor-list-view-leaf[aria-level="3"] .block-editor-list-view__expander{margin-right:52px}.block-editor-list-view-leaf[aria-level="4"] .block-editor-list-view__expander{margin-right:80px}.block-editor-list-view-leaf[aria-level="5"] .block-editor-list-view__expander{margin-right:108px}.block-editor-list-view-leaf[aria-level="6"] .block-editor-list-view__expander{margin-right:136px}.block-editor-list-view-leaf[aria-level="7"] .block-editor-list-view__expander{margin-right:164px}.block-editor-list-view-leaf[aria-level="8"] .block-editor-list-view__expander{margin-right:192px}.block-editor-list-view-leaf .block-editor-list-view__expander{visibility:hidden}.block-editor-list-view-leaf[data-expanded=true] .block-editor-list-view__expander svg{transform:rotate(-90deg);transition:transform .2s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf[data-expanded=true] .block-editor-list-view__expander svg{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf[data-expanded=false] .block-editor-list-view__expander svg{transform:rotate(0deg);transition:transform .2s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf[data-expanded=false] .block-editor-list-view__expander svg{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-drop-indicator{pointer-events:none}.block-editor-list-view-drop-indicator .block-editor-list-view-drop-indicator__line{background:var(--wp-admin-theme-color);border-radius:4px;height:4px}.block-editor-list-view-placeholder{height:36px;margin:0;padding:0}.list-view-appender .block-editor-inserter__toggle{background-color:#1e1e1e;border-radius:2px;color:#fff;height:24px;margin:8px 24px 0 0;min-width:24px;padding:0}.list-view-appender .block-editor-inserter__toggle:focus,.list-view-appender .block-editor-inserter__toggle:hover{background:var(--wp-admin-theme-color);color:#fff}.list-view-appender__description,.modal-open .block-editor-media-replace-flow__options{display:none}.block-editor-media-replace-flow__indicator{margin-right:4px}.block-editor-media-flow__url-input{margin-left:-8px;margin-right:-8px;padding:16px}.block-editor-media-flow__url-input.has-siblings{border-top:1px solid #1e1e1e;margin-top:8px}.block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label{display:block;margin-bottom:8px;top:16px}.block-editor-media-flow__url-input .block-editor-link-control{width:300px}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-url-input{margin:0;padding:0}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-info,.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-title{max-width:200px;white-space:nowrap}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__tools{justify-content:flex-end;padding:16px var(--wp-admin-border-width-focus) var(--wp-admin-border-width-focus)}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item.is-current{padding:0;width:auto}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]{margin:0;width:100%}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-actions{left:4px;top:0}.block-editor-media-flow__error{max-width:255px;padding:0 20px 20px}.block-editor-media-flow__error .components-with-notices-ui{max-width:255px}.block-editor-media-flow__error .components-with-notices-ui .components-notice__content{word-wrap:break-word;overflow:hidden}.block-editor-media-flow__error .components-with-notices-ui .components-notice__dismiss{left:10px;position:absolute}.block-editor-multi-selection-inspector__card{align-items:flex-start;display:flex;padding:16px}.block-editor-multi-selection-inspector__card-content{flex-grow:1}.block-editor-multi-selection-inspector__card-title{font-weight:500;margin-bottom:5px}.block-editor-multi-selection-inspector__card-description{font-size:13px}.block-editor-multi-selection-inspector__card .block-editor-block-icon{height:24px;margin-left:10px;margin-right:-2px;padding:0 3px;width:36px}.block-editor-responsive-block-control{border-bottom:1px solid #ccc;margin-bottom:28px;padding-bottom:14px}.block-editor-responsive-block-control:last-child{border-bottom:0;padding-bottom:0}.block-editor-responsive-block-control__title{margin:0 -3px .6em 0}.block-editor-responsive-block-control__label{font-weight:600;margin-bottom:.6em;margin-right:-3px}.block-editor-responsive-block-control__inner{margin-right:-1px}.block-editor-responsive-block-control__toggle{margin-right:1px}.block-editor-responsive-block-control .components-base-control__help{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.components-popover.block-editor-rich-text__inline-format-toolbar{z-index:99998}.components-popover.block-editor-rich-text__inline-format-toolbar .components-popover__content{box-shadow:none;margin-bottom:8px;min-width:auto;outline:none;width:auto}.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar{border-radius:2px}.components-popover.block-editor-rich-text__inline-format-toolbar .components-dropdown-menu__toggle,.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar__control{min-height:48px;min-width:48px;padding-left:12px;padding-right:12px}.block-editor-rich-text__inline-format-toolbar-group .components-dropdown-menu__toggle{justify-content:center}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button.has-icon{width:auto}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button.has-icon:after{content:attr(aria-label)}.block-editor-skip-to-selected-block{position:absolute;top:-9999em}.block-editor-skip-to-selected-block:focus{background:#f1f1f1;box-shadow:0 0 2px 2px rgba(0,0,0,.6);color:var(--wp-admin-theme-color);display:block;font-size:14px;font-weight:600;height:auto;line-height:normal;outline:none;padding:15px 23px 14px;text-decoration:none;width:auto;z-index:100000}.block-editor-text-decoration-control{border:0;margin:0;padding:0}.block-editor-text-decoration-control .block-editor-text-decoration-control__buttons{display:flex;padding:4px 0}.block-editor-text-decoration-control .components-button.has-icon{height:32px;margin-left:4px;min-width:32px;padding:0}.block-editor-text-transform-control{border:0;margin:0;padding:0}.block-editor-text-transform-control .block-editor-text-transform-control__buttons{display:flex;padding:4px 0}.block-editor-text-transform-control .components-button.has-icon{height:32px;margin-left:4px;min-width:32px;padding:0}.block-editor-tool-selector__help{border-top:1px solid #ddd;color:#757575;margin:8px -8px -8px;min-width:280px;padding:16px}.block-editor-block-list__block .block-editor-url-input,.block-editor-url-input,.components-popover .block-editor-url-input{flex-grow:1;padding:1px;position:relative}.block-editor-block-list__block .block-editor-url-input input[type=text],.block-editor-url-input input[type=text],.components-popover .block-editor-url-input input[type=text]{border:none;border-radius:0;font-size:16px;margin-left:0;margin-right:0;padding:8px 12px 8px 8px;width:100%}@media (min-width:600px){.block-editor-block-list__block .block-editor-url-input input[type=text],.block-editor-url-input input[type=text],.components-popover .block-editor-url-input input[type=text]{font-size:13px;width:300px}}.block-editor-block-list__block .block-editor-url-input input[type=text]::-ms-clear,.block-editor-url-input input[type=text]::-ms-clear,.components-popover .block-editor-url-input input[type=text]::-ms-clear{display:none}.block-editor-block-list__block .block-editor-url-input.is-full-width,.block-editor-block-list__block .block-editor-url-input.is-full-width .block-editor-url-input__input[type=text],.block-editor-block-list__block .block-editor-url-input.is-full-width__suggestions,.block-editor-url-input.is-full-width,.block-editor-url-input.is-full-width .block-editor-url-input__input[type=text],.block-editor-url-input.is-full-width__suggestions,.components-popover .block-editor-url-input.is-full-width,.components-popover .block-editor-url-input.is-full-width .block-editor-url-input__input[type=text],.components-popover .block-editor-url-input.is-full-width__suggestions{width:100%}.block-editor-block-list__block .block-editor-url-input .components-spinner,.block-editor-url-input .components-spinner,.components-popover .block-editor-url-input .components-spinner{left:8px;margin:0;position:absolute;top:calc(50% - 8px)}.block-editor-url-input__input[type=text]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:6px 8px;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.block-editor-url-input__input[type=text]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.block-editor-url-input__input[type=text]{font-size:13px;line-height:normal}}.block-editor-url-input__input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-url-input__input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-url-input__input[type=text]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.block-editor-url-input__input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-url-input__suggestions{max-height:200px;overflow-y:auto;padding:4px 0;transition:all .15s ease-in-out;width:302px}@media (prefers-reduced-motion:reduce){.block-editor-url-input__suggestions{transition-delay:0s;transition-duration:0s}}.block-editor-url-input .components-spinner,.block-editor-url-input__suggestions{display:none}@media (min-width:600px){.block-editor-url-input .components-spinner,.block-editor-url-input__suggestions{display:grid}}.block-editor-url-input__suggestion{background:#fff;border:none;box-shadow:none;color:#757575;cursor:pointer;display:block;font-size:13px;height:auto;min-height:36px;text-align:right;width:100%}.block-editor-url-input__suggestion:hover{background:#ddd}.block-editor-url-input__suggestion.is-selected,.block-editor-url-input__suggestion:focus{background:var(--wp-admin-theme-color-darker-20);color:#fff;outline:none}.components-toolbar-group>.block-editor-url-input__button,.components-toolbar>.block-editor-url-input__button{position:inherit}.block-editor-url-input__button .block-editor-url-input__back{margin-left:4px;overflow:visible}.block-editor-url-input__button .block-editor-url-input__back:after{background:#ddd;content:"";display:block;height:24px;left:-1px;position:absolute;width:1px}.block-editor-url-input__button-modal{background:#fff;border:1px solid #ddd;box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1)}.block-editor-url-input__button-modal-line{align-items:flex-start;display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-width:0}.block-editor-url-input__button-modal-line .components-button{flex-shrink:0;height:36px;width:36px}.block-editor-url-popover__additional-controls{border-top:1px solid #ddd}.block-editor-url-popover__additional-controls>div[role=menu] .components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary)>svg{box-shadow:none}.block-editor-url-popover__additional-controls div[role=menu]>.components-button{padding-right:12px}.block-editor-url-popover__row{display:flex}.block-editor-url-popover__row>:not(.block-editor-url-popover__settings-toggle){flex-grow:1}.block-editor-url-popover .components-button.has-icon{padding:3px}.block-editor-url-popover .components-button.has-icon>svg{border-radius:2px;height:30px;padding:5px;width:30px}.block-editor-url-popover .components-button.has-icon:not(:disabled):focus{box-shadow:none}.block-editor-url-popover .components-button.has-icon:not(:disabled):focus>svg{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 4px #fff;outline:2px solid transparent}.block-editor-url-popover__settings-toggle{border-radius:0;border-right:1px solid #ddd;flex-shrink:0;margin-right:1px}.block-editor-url-popover__settings-toggle[aria-expanded=true] .dashicon{transform:rotate(-180deg)}.block-editor-url-popover__settings{border-top:1px solid #ddd;display:block;padding:16px}.block-editor-url-popover__link-editor,.block-editor-url-popover__link-viewer{display:flex}.block-editor-url-popover__link-viewer-url{flex-grow:1;flex-shrink:1;margin:7px;max-width:500px;min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-url-popover__link-viewer-url.has-invalid-link{color:#cc1818}.html-anchor-control .components-external-link{display:block;margin-top:8px}.block-editor-hooks__block-hooks .components-toggle-control .components-h-stack{flex-direction:row-reverse}.block-editor-hooks__block-hooks .components-toggle-control .components-h-stack .components-h-stack{flex-direction:row}.block-editor-hooks__background__inspector-media-replace-container{position:relative}.block-editor-hooks__background__inspector-media-replace-container .components-drop-zone__content-icon{display:none}.block-editor-hooks__background__inspector-media-replace-container button.components-button{box-shadow:inset 0 0 0 1px #ddd;color:#1e1e1e;display:block;height:40px;width:100%}.block-editor-hooks__background__inspector-media-replace-container button.components-button:hover{color:var(--wp-admin-theme-color)}.block-editor-hooks__background__inspector-media-replace-container button.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-hooks__background__inspector-media-replace-container .block-editor-hooks__background__inspector-media-replace-title{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-editor-hooks__background__inspector-media-replace-container .components-dropdown{display:block}.block-editor-hooks__background__inspector-image-indicator-wrapper{background:#fff linear-gradient(45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0);border-radius:50%!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);display:block;flex:none;height:20px;width:20px}.block-editor-hooks__background__inspector-image-indicator-wrapper.has-image{background:#fff}.block-editor-hooks__background__inspector-image-indicator{background-size:cover;border-radius:50%;display:block;height:20px;position:relative;width:20px}.block-editor-hooks__background__inspector-image-indicator:after{border:1px solid transparent;border-radius:50%;bottom:-1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);box-sizing:inherit;content:"";left:-1px;position:absolute;right:-1px;top:-1px}.border-block-support-panel .single-column{grid-column:span 1}.color-block-support-panel .block-editor-contrast-checker{grid-column:span 2;margin-top:16px;order:9999}.color-block-support-panel .block-editor-contrast-checker .components-notice__content{margin-left:0}.color-block-support-panel.color-block-support-panel .color-block-support-panel__inner-wrapper{row-gap:0}.color-block-support-panel .block-editor-tools-panel-color-gradient-settings__item.first{margin-top:0}.dimensions-block-support-panel .single-column{grid-column:span 1}.block-editor-hooks__layout-controls{display:flex;margin-bottom:8px}.block-editor-hooks__layout-controls .block-editor-hooks__layout-controls-unit{display:flex;margin-left:24px}.block-editor-hooks__layout-controls .block-editor-hooks__layout-controls-unit svg{margin:auto 8px 4px 0}.block-editor-block-inspector .block-editor-hooks__layout-controls-unit-input{margin-bottom:0}.block-editor-hooks__layout-controls-reset{display:flex;justify-content:flex-end;margin-bottom:24px}.block-editor-hooks__layout-controls-helptext{color:#757575;font-size:12px;margin-bottom:16px}.block-editor-hooks__flex-layout-justification-controls,.block-editor-hooks__flex-layout-orientation-controls{margin-bottom:12px}.block-editor-hooks__flex-layout-justification-controls legend,.block-editor-hooks__flex-layout-orientation-controls legend{margin-bottom:8px}.block-editor-hooks__toggle-control.block-editor-hooks__toggle-control{margin-bottom:16px}.block-editor__padding-visualizer{border-color:var(--wp-admin-theme-color);border-style:solid;bottom:0;box-sizing:border-box;left:0;opacity:.5;pointer-events:none;position:absolute;right:0;top:0}.block-editor-hooks__position-selection__select-control .components-custom-select-control__hint{display:none}.block-editor-hooks__position-selection__select-control__option.has-hint{grid-template-columns:auto 30px;line-height:1.4;margin-bottom:0}.block-editor-hooks__position-selection__select-control__option .components-custom-select-control__item-hint{grid-row:2;text-align:right}.typography-block-support-panel .single-column{grid-column:span 1}.block-editor-block-toolbar{display:flex;flex-grow:1;overflow-x:auto;overflow-y:hidden;position:relative;transition:border-color .1s linear,box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.block-editor-block-toolbar{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.block-editor-block-toolbar{overflow:inherit}}.block-editor-block-toolbar .components-toolbar,.block-editor-block-toolbar .components-toolbar-group{background:none;border:0;border-left:1px solid #ddd;line-height:0;margin-bottom:-1px;margin-top:-1px}.block-editor-block-toolbar.is-synced .block-editor-block-switcher .components-button .block-editor-block-icon,.block-editor-block-toolbar.is-synced .components-toolbar-button.block-editor-block-switcher__no-switcher-icon:disabled .block-editor-block-icon.has-colors{color:var(--wp-block-synced-color)}.block-editor-block-toolbar>:last-child,.block-editor-block-toolbar>:last-child .components-toolbar,.block-editor-block-toolbar>:last-child .components-toolbar-group{border-left:none}@media (min-width:782px){.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group{border-left:none}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar:after{background-color:#ddd;content:"";margin-bottom:12px;margin-right:8px;margin-top:12px;width:1px}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar .components-toolbar-group.components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group .components-toolbar-group.components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar>:last-child .components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar>:last-child .components-toolbar:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar>:last-child:after{display:none}}.block-editor-block-contextual-toolbar.has-parent:not(.is-fixed){margin-right:56px}.show-icon-labels .block-editor-block-contextual-toolbar.has-parent:not(.is-fixed){margin-right:0}.block-editor-block-toolbar__block-controls .block-editor-block-switcher .components-dropdown-menu__toggle .block-editor-block-icon,.block-editor-block-toolbar__block-controls .block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{margin:0!important;width:24px!important}.block-editor-block-toolbar__block-controls .components-toolbar-group{padding:0}.block-editor-block-toolbar .components-toolbar,.block-editor-block-toolbar .components-toolbar-group,.block-editor-rich-text__inline-format-toolbar-group .components-toolbar,.block-editor-rich-text__inline-format-toolbar-group .components-toolbar-group{display:flex;flex-wrap:nowrap}.block-editor-block-toolbar__slot{display:inline-block;line-height:0}@supports (position:sticky){.block-editor-block-toolbar__slot{display:inline-flex}}.show-icon-labels .block-editor-block-toolbar .components-button.has-icon{width:auto}.show-icon-labels .block-editor-block-toolbar .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-block-toolbar .components-button.has-icon:after{content:attr(aria-label);font-size:12px}.show-icon-labels .components-accessible-toolbar .components-toolbar-group>div:first-child:last-child>.components-button.has-icon{padding-left:6px;padding-right:6px}.show-icon-labels .block-editor-block-switcher .components-dropdown-menu__toggle .block-editor-block-icon,.show-icon-labels .block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{height:0!important;min-width:0!important;width:0!important}.show-icon-labels .block-editor-block-parent-selector__button{border-bottom-left-radius:0;border-top-left-radius:0}.show-icon-labels .block-editor-block-parent-selector__button .block-editor-block-icon{width:0}.show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container{width:auto}.show-icon-labels .block-editor-block-mover.is-horizontal .block-editor-block-mover-button,.show-icon-labels .block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container{padding-left:6px;padding-right:6px}.show-icon-labels .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button{padding-left:8px;padding-right:8px}.show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-mover{border-right:1px solid #1e1e1e;margin-left:-6px;margin-right:6px;white-space:nowrap}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar__block-controls .block-editor-block-mover{border-right-color:#e0e0e0}.show-icon-labels .block-editor-block-mover .block-editor-block-mover__drag-handle.has-icon{padding-left:12px;padding-right:12px}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-mover__move-button-container{border-width:0}@media (min-width:600px){.show-icon-labels .is-up-button.is-up-button.is-up-button{border-radius:0;margin-left:0;order:1}.show-icon-labels .block-editor-block-mover__move-button-container{border-right:1px solid #1e1e1e}.show-icon-labels .is-down-button.is-down-button.is-down-button{order:2}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-mover__move-button-container:before{background:#ddd}}.show-icon-labels .block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button{width:auto}.show-icon-labels .components-toolbar,.show-icon-labels .components-toolbar-group{flex-shrink:1}@media (min-width:782px){.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .components-toolbar,.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .components-toolbar-group{flex-shrink:0}}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button+.components-button{margin-right:6px}.block-editor-inserter{background:none;border:none;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:0;padding:0}@media (min-width:782px){.block-editor-inserter{position:relative}}.block-editor-inserter__main-area{display:flex;flex-direction:column;gap:16px;height:100%;position:relative}.block-editor-inserter__main-area.show-as-tabs{gap:0}@media (min-width:782px){.block-editor-inserter__main-area{width:350px}}.block-editor-inserter__popover.is-quick .components-popover__content{border:none;box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);outline:none}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>*{border-left:1px solid #ccc;border-right:1px solid #ccc}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>:first-child{border-radius:2px 2px 0 0;border-top:1px solid #ccc}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>:last-child{border-bottom:1px solid #ccc;border-radius:0 0 2px 2px}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>.components-button{border:1px solid #1e1e1e}.block-editor-inserter__popover .block-editor-inserter__menu{margin:-12px}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__tabs .components-tab-panel__tabs{top:60px}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__main-area{height:auto;overflow:visible}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__preview-container{display:none}.block-editor-inserter__toggle.components-button{align-items:center;border:none;cursor:pointer;display:inline-flex;outline:none;padding:0;transition:color .2s ease}@media (prefers-reduced-motion:reduce){.block-editor-inserter__toggle.components-button{transition-delay:0s;transition-duration:0s}}.block-editor-inserter__menu{height:100%;overflow:visible;position:relative}.block-editor-inserter__inline-elements{margin-top:-1px}.block-editor-inserter__menu.is-bottom:after{border-bottom-color:#fff}.components-popover.block-editor-inserter__popover{z-index:99999}.block-editor-inserter__search{padding:16px 16px 0}.block-editor-inserter__search .components-search-control__icon{left:20px}.block-editor-inserter__tabs{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.block-editor-inserter__tabs .components-tab-panel__tabs{border-bottom:1px solid #ddd}.block-editor-inserter__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{flex-grow:1;margin-bottom:-1px}.block-editor-inserter__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item[id$=reusable]{flex-grow:inherit;padding-left:16px;padding-right:16px}.block-editor-inserter__tabs .components-tab-panel__tab-content{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto}.block-editor-inserter__no-tab-container{flex-grow:1;overflow-y:auto}.block-editor-inserter__panel-header{align-items:center;display:inline-flex;padding:16px 16px 0}.block-editor-inserter__panel-content{padding:16px}.block-editor-inserter__panel-title,.block-editor-inserter__panel-title button{color:#757575;font-size:11px;font-weight:500;margin:0 0 0 12px;text-transform:uppercase}.block-editor-inserter__panel-dropdown select.components-select-control__input.components-select-control__input.components-select-control__input{height:36px;line-height:36px}.block-editor-inserter__panel-dropdown select{border:none}.block-editor-inserter__reusable-blocks-panel{position:relative;text-align:left}.block-editor-inserter__manage-reusable-blocks-container{margin:auto 16px 16px}.block-editor-inserter__manage-reusable-blocks{justify-content:center;width:100%}.block-editor-inserter__no-results{padding:32px;text-align:center}.block-editor-inserter__no-results-icon{fill:#949494}.block-editor-inserter__child-blocks{padding:0 16px}.block-editor-inserter__parent-block-header{align-items:center;display:flex}.block-editor-inserter__parent-block-header h2{font-size:13px}.block-editor-inserter__parent-block-header .block-editor-block-icon{margin-left:8px}.block-editor-inserter__preview-container{background:#fff;border:1px solid #ddd;border-radius:2px;display:none;max-height:calc(100% - 32px);overflow-y:hidden;position:absolute;right:calc(100% + 16px);top:16px;width:300px}@media (min-width:782px){.block-editor-inserter__preview-container{display:block}}.block-editor-inserter__preview-container .block-editor-block-card{padding:16px}.block-editor-inserter__preview-container .block-editor-block-card__title{font-size:13px}.block-editor-inserter__patterns-explore-button.components-button{justify-content:center;margin-top:16px;padding:16px;width:100%}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category{color:var(--wp-admin-theme-color);position:relative}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category .components-flex-item{filter:brightness(.95)}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category svg{fill:var(--wp-admin-theme-color)}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category:after{background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.04;position:absolute;right:0;top:0}.block-editor-block-patterns-explorer__sidebar,.block-editor-block-patterns-explorer__sidebar nav,.block-editor-inserter__block-patterns-tabs-container,.block-editor-inserter__block-patterns-tabs-container nav{height:100%}.block-editor-block-patterns-explorer__sidebar .block-editor-block-patterns__source-filter select.components-select-control__input,.block-editor-inserter__block-patterns-tabs-container .block-editor-block-patterns__source-filter select.components-select-control__input{height:40px}.block-editor-inserter__block-patterns-tabs{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px}.block-editor-inserter__block-patterns-tabs div[role=listitem]:last-child{margin-top:auto}.block-editor-inserter__patterns-category-dialog{background:#f0f0f0;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;height:100%;position:absolute;right:0;top:0;width:100%}@media (min-width:782px){.block-editor-inserter__patterns-category-dialog{display:block;right:100%;width:300px}}.block-editor-inserter__patterns-category-dialog .block-editor-block-patterns-list{flex-grow:1;height:100%;overflow-y:auto;padding:16px 24px}.block-editor-block-patterns-list__list-item .block-editor-block-preview__container{box-shadow:0 15px 25px rgba(0,0,0,.07)}.block-editor-block-patterns-list__list-item:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px #1e1e1e,0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__patterns-category-panel{display:flex;flex-direction:column;height:100%;padding:0 16px}@media (min-width:782px){.block-editor-inserter__patterns-category-panel{padding:0}}.block-editor-inserter__patterns-category-panel .block-editor-inserter__patterns-category-panel-header{padding:16px 24px}.block-editor-inserter__patterns-category-panel .block-editor-inserter__patterns-category-no-results{margin-top:24px}.block-editor-inserter__preview-content{align-items:center;background:#f0f0f0;display:grid;flex-grow:1;min-height:144px}.block-editor-inserter__preview-content-missing{align-items:center;background:#f0f0f0;color:#757575;display:flex;flex:1;justify-content:center;min-height:144px}.block-editor-inserter__tips{border-top:1px solid #ddd;flex-shrink:0;padding:16px;position:relative}.block-editor-inserter__quick-inserter{max-width:100%;width:100%}@media (min-width:782px){.block-editor-inserter__quick-inserter{width:350px}}.block-editor-inserter__quick-inserter-results .block-editor-inserter__panel-header{float:right;height:0;padding:0}.block-editor-inserter__quick-inserter.has-expand .block-editor-inserter__panel-content,.block-editor-inserter__quick-inserter.has-search .block-editor-inserter__panel-content{padding:16px}.block-editor-inserter__quick-inserter-patterns .block-editor-block-patterns-list{grid-gap:8px;display:grid;grid-template-columns:1fr 1fr}.block-editor-inserter__quick-inserter-patterns .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{margin-bottom:0}.block-editor-inserter__quick-inserter-patterns .block-editor-block-patterns-list .block-editor-block-preview__container{min-height:100px}.block-editor-inserter__quick-inserter-separator{border-top:1px solid #ddd}.block-editor-inserter__popover.is-quick>.components-popover__content{padding:0}.block-editor-inserter__quick-inserter-expand.components-button{background:#1e1e1e;border-radius:0;color:#fff;display:block;height:44px;width:100%}.block-editor-inserter__quick-inserter-expand.components-button:hover{color:#fff}.block-editor-inserter__quick-inserter-expand.components-button:active{color:#ccc}.block-editor-inserter__quick-inserter-expand.components-button.components-button:focus:not(:disabled){background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);box-shadow:none}.block-editor-block-patterns-explorer__sidebar{bottom:0;overflow-x:visible;overflow-y:scroll;padding:24px 32px 32px;position:absolute;right:0;top:76px;width:280px}.block-editor-block-patterns-explorer__sidebar__categories-list__item{display:block;height:48px;text-align:right;width:100%}.block-editor-block-patterns-explorer__search{margin-bottom:32px}.block-editor-block-patterns-explorer__search-results-count{padding-bottom:32px}.block-editor-block-patterns-explorer__list{margin-right:280px;padding:24px 0 32px}.block-editor-block-patterns-explorer__list .block-editor-patterns__sync-status-filter .components-input-control__container{width:380px}.block-editor-block-patterns-explorer .block-editor-block-patterns-list{grid-gap:32px;display:grid;grid-template-columns:repeat(1,1fr);margin-bottom:16px}@media (min-width:1080px){.block-editor-block-patterns-explorer .block-editor-block-patterns-list{grid-template-columns:repeat(2,1fr)}}@media (min-width:1440px){.block-editor-block-patterns-explorer .block-editor-block-patterns-list{grid-template-columns:repeat(3,1fr)}}.block-editor-block-patterns-explorer .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{min-height:240px}.block-editor-block-patterns-explorer .block-editor-block-patterns-list .block-editor-block-preview__container{height:inherit;max-height:800px;min-height:100px}.block-editor-inserter__patterns-category-panel-title{font-size:16.25px}.block-editor-inserter__media-tabs-container,.block-editor-inserter__media-tabs-container nav{height:100%}.block-editor-inserter__media-tabs-container .block-editor-inserter__media-library-button{justify-content:center;margin-top:16px;padding:16px;width:100%}.block-editor-inserter__media-tabs{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px}.block-editor-inserter__media-tabs div[role=listitem]:last-child{margin-top:auto}.block-editor-inserter__media-tabs__media-category.is-selected{color:var(--wp-admin-theme-color);position:relative}.block-editor-inserter__media-tabs__media-category.is-selected .components-flex-item{filter:brightness(.95)}.block-editor-inserter__media-tabs__media-category.is-selected svg{fill:var(--wp-admin-theme-color)}.block-editor-inserter__media-tabs__media-category.is-selected:after{background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.04;position:absolute;right:0;top:0}.block-editor-inserter__media-dialog{background:#f0f0f0;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;height:100%;overflow-y:auto;padding:16px 24px;position:absolute;right:0;scrollbar-gutter:stable both-edges;top:0;width:100%}@media (min-width:782px){.block-editor-inserter__media-dialog{display:block;right:100%;width:300px}}.block-editor-inserter__media-dialog .block-editor-block-preview__container{box-shadow:0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__media-dialog .block-editor-block-preview__container:hover{box-shadow:0 0 0 2px #1e1e1e,0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__media-panel{display:flex;flex-direction:column;min-height:100%;padding:0 16px}@media (min-width:782px){.block-editor-inserter__media-panel{padding:0}}.block-editor-inserter__media-panel .block-editor-inserter__media-panel-spinner{align-items:center;display:flex;flex:1;height:100%;justify-content:center}.block-editor-inserter__media-panel .block-editor-inserter__media-panel-search.components-search-control input[type=search].components-search-control__input{background:#fff}.block-editor-inserter__media-panel .block-editor-inserter__media-panel-search.components-search-control button.components-button{min-width:auto;padding-left:2px;padding-right:2px}.block-editor-inserter__media-list{margin-top:16px}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item{cursor:pointer;margin-bottom:24px;position:relative}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item.is-placeholder{min-height:100px}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item[draggable=true] .block-editor-block-preview__container{cursor:grab}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview{box-shadow:0 0 0 2px #1e1e1e,0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview-options>button{display:block}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options{left:8px;position:absolute;top:8px}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button{background:#fff;border-radius:2px;display:none}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button.is-opened,.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button:focus{display:block}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button:hover{box-shadow:inset 0 0 0 2px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-inserter__media-list .block-editor-inserter__media-list__item{height:100%}.block-editor-inserter__media-list .block-editor-inserter__media-list__item .block-editor-inserter__media-list__item-preview{align-items:center;border-radius:2px;display:flex;overflow:hidden}.block-editor-inserter__media-list .block-editor-inserter__media-list__item .block-editor-inserter__media-list__item-preview>*{margin:0 auto;max-width:100%}.block-editor-inserter__media-list .block-editor-inserter__media-list__item .block-editor-inserter__media-list__item-preview .block-editor-inserter__media-list__item-preview-spinner{align-items:center;background:hsla(0,0%,100%,.7);display:flex;height:100%;justify-content:center;pointer-events:none;position:absolute;width:100%}.block-editor-inserter__media-list .block-editor-inserter__media-list__item:focus .block-editor-inserter__media-list__item-preview{box-shadow:inset 0 0 0 2px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-inserter__media-list__item-preview-options__popover .components-menu-item__button .components-menu-item__item{min-width:auto}.block-editor-inserter__mobile-tab-navigation{height:100%;padding:16px}.block-editor-inserter__mobile-tab-navigation>*{height:100%}@media (min-width:600px){.block-editor-inserter-media-tab-media-preview-inserter-external-image-modal{max-width:480px}}.block-editor-inserter-media-tab-media-preview-inserter-external-image-modal p{margin:0}.block-editor-inserter__hint{margin:16px 16px 0}.reusable-blocks-menu-items__rename-hint{align-items:top;background:#f0f0f0;border-radius:2px;color:#1e1e1e;display:flex;flex-direction:row;max-width:380px}.reusable-blocks-menu-items__rename-hint-content{margin:12px 12px 12px 0}.reusable-blocks-menu-items__rename-hint-dismiss{margin:4px 0 4px 4px}.components-menu-group .reusable-blocks-menu-items__rename-hint{margin:0}.block-editor-patterns__sync-status-filter .components-input-control__container select.components-select-control__input{height:40px}.block-editor-post-preview__dropdown{padding:0}.block-editor-post-preview__button-resize.block-editor-post-preview__button-resize{padding-right:40px}.block-editor-post-preview__button-resize.block-editor-post-preview__button-resize.has-icon{padding-right:8px}.block-editor-post-preview__dropdown-content.edit-post-post-preview-dropdown .components-menu-group:first-child{padding-bottom:8px}.block-editor-post-preview__dropdown-content.edit-post-post-preview-dropdown .components-menu-group:last-child{margin-bottom:0}.block-editor-post-preview__dropdown-content .components-menu-group+.components-menu-group{padding:8px}@media (min-width:600px){.edit-post-header__settings .editor-post-preview,.edit-site-header-edit-mode__actions .editor-post-preview{display:none}.edit-post-header.has-reduced-ui .edit-post-header__settings .block-editor-post-preview__button-toggle,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-save-draft,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-saved-state{transition:opacity .1s linear}}@media (min-width:600px) and (prefers-reduced-motion:reduce){.edit-post-header.has-reduced-ui .edit-post-header__settings .block-editor-post-preview__button-toggle,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-save-draft,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-saved-state{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .block-editor-post-preview__button-toggle,.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .editor-post-save-draft,.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .editor-post-saved-state{opacity:0}.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .block-editor-post-preview__button-toggle.is-opened{opacity:1}}.spacing-sizes-control .spacing-sizes-control__custom-value-input,.spacing-sizes-control .spacing-sizes-control__label{margin-bottom:0}.spacing-sizes-control .spacing-sizes-control__custom-value-range,.spacing-sizes-control .spacing-sizes-control__range-control{align-items:center;display:flex;flex:1;height:40px;margin-bottom:0}.spacing-sizes-control .spacing-sizes-control__custom-value-range>.components-base-control__field,.spacing-sizes-control .spacing-sizes-control__range-control>.components-base-control__field{flex:1}.spacing-sizes-control .components-range-control__mark{background-color:#fff;height:4px;width:3px;z-index:1}.spacing-sizes-control .components-range-control__marks{margin-top:17px}.spacing-sizes-control .components-range-control__marks :first-child{display:none}.spacing-sizes-control .components-range-control__thumb-wrapper{z-index:3}.spacing-sizes-control__header{height:16px;margin-bottom:12px}.spacing-sizes-control__dropdown{height:24px}.spacing-sizes-control__custom-select-control,.spacing-sizes-control__custom-value-input{flex:1}.spacing-sizes-control__custom-toggle,.spacing-sizes-control__icon{flex:0 0 auto}.spacing-sizes-control__icon{margin-right:-4px}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file +@charset "UTF-8";:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-editor-autocompleters__block{white-space:nowrap}.block-editor-autocompleters__block .block-editor-block-icon{margin-left:8px}.block-editor-autocompleters__link{white-space:nowrap}.block-editor-autocompleters__link .block-editor-block-icon{margin-left:8px}.block-editor-block-alignment-control__menu-group .components-menu-item__info{margin-top:0}iframe[name=editor-canvas]{display:block;height:100%;width:100%}iframe[name=editor-canvas]:not(.has-history){background-color:#fff}iframe[name=editor-canvas].has-history{padding:48px 48px 0}.block-editor-block-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.block-editor-block-icon.has-colors svg{fill:currentColor}@media (forced-colors:active){.block-editor-block-icon.has-colors svg{fill:CanvasText}}.block-editor-block-icon svg{max-height:24px;max-width:24px;min-height:20px;min-width:20px}.block-editor-block-inspector p:not(.components-base-control__help){margin-top:0}.block-editor-block-inspector h2,.block-editor-block-inspector h3{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.block-editor-block-inspector .components-base-control{margin-bottom:24px}.block-editor-block-inspector .components-base-control:last-child{margin-bottom:8px}.block-editor-block-inspector .components-focal-point-picker-control .components-base-control,.block-editor-block-inspector .components-query-controls .components-base-control,.block-editor-block-inspector .components-range-control .components-base-control{margin-bottom:0}.block-editor-block-inspector .components-panel__body{border:none;border-top:1px solid #e0e0e0;margin-top:-1px}.block-editor-block-inspector__no-block-tools,.block-editor-block-inspector__no-blocks{background:#fff;display:block;font-size:13px;padding:32px 16px;text-align:center}.block-editor-block-inspector__no-block-tools{border-top:1px solid #ddd}.block-editor-block-inspector__tab-item{flex:1 1 0px}.block-editor-block-list__insertion-point{bottom:0;left:0;position:absolute;right:0;top:0}.block-editor-block-list__insertion-point-indicator{background:var(--wp-admin-theme-color);border-radius:2px;opacity:0;position:absolute;transform-origin:center;will-change:transform,opacity}.block-editor-block-list__insertion-point.is-vertical>.block-editor-block-list__insertion-point-indicator{height:4px;top:calc(50% - 2px);width:100%}.block-editor-block-list__insertion-point.is-horizontal>.block-editor-block-list__insertion-point-indicator{bottom:0;right:calc(50% - 2px);top:0;width:4px}.block-editor-block-list__insertion-point-inserter{display:none;justify-content:center;position:absolute;right:calc(50% - 12px);top:calc(50% - 12px);will-change:transform}@media (min-width:480px){.block-editor-block-list__insertion-point-inserter{display:flex}}.block-editor-block-list__block-side-inserter-popover .components-popover__content>div{pointer-events:none}.block-editor-block-list__block-side-inserter-popover .components-popover__content>div>*{pointer-events:all}.block-editor-block-list__empty-block-inserter .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon{background:#1e1e1e;border-radius:2px;color:#fff;height:24px;min-width:24px;padding:0}.block-editor-block-list__empty-block-inserter .block-editor-inserter__toggle.components-button.has-icon:hover,.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon:hover{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon{background:var(--wp-admin-theme-color)}.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon:hover{background:#1e1e1e}.block-editor-block-list__block-selection-button{background-color:#1e1e1e;border-radius:2px;display:inline-flex;font-size:13px;height:48px;padding:0 12px;z-index:22}.block-editor-block-list__block-selection-button .block-editor-block-list__block-selection-button__content{align-items:center;display:inline-flex;margin:auto}.block-editor-block-list__block-selection-button .block-editor-block-list__block-selection-button__content>.components-flex__item{margin-left:6px}.block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle{cursor:grab;height:24px;margin-right:-2px;min-width:24px;padding:0}.block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle svg{min-height:18px;min-width:18px}.block-editor-block-list__block-selection-button .block-editor-block-icon{color:#fff;font-size:13px;height:48px}.block-editor-block-list__block-selection-button .components-button{color:#fff;display:flex;height:48px;min-width:36px}.block-editor-block-list__block-selection-button .components-button:focus{border:none;box-shadow:none}.block-editor-block-list__block-selection-button .components-button:active,.block-editor-block-list__block-selection-button .components-button[aria-disabled=true]:hover{color:#fff}.block-editor-block-list__block-selection-button .block-selection-button_select-button.components-button{padding:0}.block-editor-block-list__block-selection-button .block-editor-block-mover{background:unset;border:none}@keyframes hide-during-dragging{to{position:fixed;transform:translate(-9999px,9999px)}}.components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar,.components-popover.block-editor-block-list__block-popover .block-editor-block-list__block-selection-button{margin-bottom:12px;margin-top:12px;pointer-events:all}.components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar{border:1px solid #1e1e1e;border-radius:2px;overflow:visible;position:static;width:auto}.components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar.has-parent{margin-right:56px}.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar.has-parent{margin-right:0}.components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar{overflow:visible}.components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar .components-toolbar,.components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar .components-toolbar-group{border-left-color:#1e1e1e}.components-popover.block-editor-block-list__block-popover.is-insertion-point-visible{visibility:hidden}.is-dragging-components-draggable .components-popover.block-editor-block-list__block-popover{animation:hide-during-dragging 1ms linear forwards;opacity:0}.components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector{position:absolute;right:-57px}.components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector:before{content:""}.components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector .block-editor-block-parent-selector__button{background-color:#fff;border:1px solid #1e1e1e;padding-left:6px;padding-right:6px}.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector .block-editor-block-parent-selector__button{padding-left:12px;padding-right:12px}.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector{margin-right:-1px;position:relative;right:auto}.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-mover__move-button-container,.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar__block-controls .block-editor-block-mover{border-right:1px solid #1e1e1e}.is-dragging-components-draggable .components-tooltip{display:none}.block-editor-block-lock-modal{z-index:1000001}@media (min-width:600px){.block-editor-block-lock-modal .components-modal__frame{max-width:480px}}.block-editor-block-lock-modal__checklist{margin:0}.block-editor-block-lock-modal__options-title{padding:12px 0}.block-editor-block-lock-modal__options-title .components-checkbox-control__label{font-weight:600}.block-editor-block-lock-modal__checklist-item{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:0;padding:12px 32px 12px 0}.block-editor-block-lock-modal__checklist-item .block-editor-block-lock-modal__lock-icon{fill:#1e1e1e;flex-shrink:0;margin-left:12px}.block-editor-block-lock-modal__checklist-item:hover{background-color:#f0f0f0;border-radius:2px}.block-editor-block-lock-modal__template-lock{border-top:1px solid #ddd;margin-top:16px;padding:12px 0}.block-editor-block-lock-modal__actions{margin-top:24px}.block-editor-block-lock-toolbar .components-button.has-icon{min-width:36px!important}.block-editor-block-toolbar__block-controls .block-editor-block-lock-toolbar{margin-right:-6px!important}.show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-lock-toolbar{border-right:1px solid #1e1e1e;margin-left:-6px;margin-right:6px!important}.block-editor-block-breadcrumb{list-style:none;margin:0;padding:0}.block-editor-block-breadcrumb li{display:inline-flex;margin:0}.block-editor-block-breadcrumb li .block-editor-block-breadcrumb__separator{fill:currentColor;margin-left:-4px;margin-right:-4px;transform:scaleX(-1)}.block-editor-block-breadcrumb li:last-child .block-editor-block-breadcrumb__separator{display:none}.block-editor-block-breadcrumb__button.components-button{height:24px;line-height:24px;padding:0;position:relative}.block-editor-block-breadcrumb__button.components-button:hover:not(:disabled){box-shadow:none;text-decoration:underline}.block-editor-block-breadcrumb__button.components-button:focus{box-shadow:none}.block-editor-block-breadcrumb__button.components-button:focus:before{border-radius:2px;bottom:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";display:block;left:1px;outline:2px solid transparent;position:absolute;right:1px;top:1px}.block-editor-block-breadcrumb__current{cursor:default}.block-editor-block-breadcrumb__button.components-button,.block-editor-block-breadcrumb__current{color:#1e1e1e;font-size:inherit;padding:0 8px}.block-editor-block-card{align-items:flex-start;color:#1e1e1e;display:flex;padding:16px}.block-editor-block-card__content{flex-grow:1}.block-editor-block-card__title{font-weight:500}.block-editor-block-card__title.block-editor-block-card__title{font-size:13px;line-height:24px;margin:0}.block-editor-block-card__description{display:block;font-size:13px;margin-top:4px}.block-editor-block-card .block-editor-block-icon{flex:0 0 24px;height:24px;margin-left:12px;margin-right:0;width:24px}.block-editor-block-card.is-synced .block-editor-block-icon{color:var(--wp-block-synced-color)}.block-editor-block-compare{height:auto}.block-editor-block-compare__wrapper{display:flex;padding-bottom:16px}.block-editor-block-compare__wrapper>div{display:flex;flex-direction:column;justify-content:space-between;max-width:600px;min-width:200px;padding:0 0 0 16px;width:50%}.block-editor-block-compare__wrapper>div button{float:left}.block-editor-block-compare__wrapper .block-editor-block-compare__converted{border-right:1px solid #ddd;padding-left:0;padding-right:15px}.block-editor-block-compare__wrapper .block-editor-block-compare__html{border-bottom:1px solid #ddd;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:12px;line-height:1.7;padding-bottom:15px}.block-editor-block-compare__wrapper .block-editor-block-compare__html span{background-color:#e6ffed;padding-bottom:3px;padding-top:3px}.block-editor-block-compare__wrapper .block-editor-block-compare__html span.block-editor-block-compare__added{background-color:#acf2bd}.block-editor-block-compare__wrapper .block-editor-block-compare__html span.block-editor-block-compare__removed{background-color:#cc1818}.block-editor-block-compare__wrapper .block-editor-block-compare__preview{padding:16px 0 0}.block-editor-block-compare__wrapper .block-editor-block-compare__preview p{font-size:12px;margin-top:0}.block-editor-block-compare__wrapper .block-editor-block-compare__action{margin-top:16px}.block-editor-block-compare__wrapper .block-editor-block-compare__heading{font-size:1em;font-weight:400;margin:.67em 0}.block-editor-block-draggable-chip-wrapper{position:absolute;right:0;top:-24px}.block-editor-block-draggable-chip{background-color:#1e1e1e;border-radius:2px;box-shadow:0 6px 8px rgba(0,0,0,.3);color:#fff;cursor:grabbing;display:inline-flex;height:48px;padding:0 13px;position:relative;-webkit-user-select:none;user-select:none;width:max-content}.block-editor-block-draggable-chip svg{fill:currentColor}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content{justify-content:flex-start;margin:auto}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content>.components-flex__item{margin-left:6px}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content>.components-flex__item:last-child{margin-left:0}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content .block-editor-block-icon svg{min-height:18px;min-width:18px}.block-editor-block-draggable-chip .components-flex__item{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.block-editor-block-draggable-chip__disabled.block-editor-block-draggable-chip__disabled{align-items:center;background-color:transparent;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:all .1s linear .1s}.block-editor-block-draggable-chip__disabled.block-editor-block-draggable-chip__disabled .block-editor-block-draggable-chip__disabled-icon{background:transparent linear-gradient(45deg,transparent 47.5%,#fff 0,#fff 52.5%,transparent 0);border-radius:50%;box-shadow:inset 0 0 0 1.5px #fff;display:inline-block;height:20px;padding:0;width:20px}.block-draggable-invalid-drag-token .block-editor-block-draggable-chip__disabled.block-editor-block-draggable-chip__disabled{background-color:#757575;box-shadow:0 4px 8px rgba(0,0,0,.2);opacity:1}.block-editor-block-mover__move-button-container{border:none;display:flex;padding:0}@media (min-width:600px){.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container{flex-direction:column}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container>*{height:24px;min-width:0!important;width:100%}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container>:before{height:calc(100% - 4px)}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-up-button svg{flex-shrink:0;top:5px}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-down-button svg{bottom:5px;flex-shrink:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container{width:48px}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container>*{min-width:0!important;overflow:hidden;width:24px}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container .block-editor-block-mover-button{padding-left:0;padding-right:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-up-button svg{right:5px}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-down-button svg{left:5px}}.block-editor-block-mover__drag-handle{cursor:grab}@media (min-width:600px){.block-editor-block-mover__drag-handle{min-width:0!important;overflow:hidden;width:24px}.block-editor-block-mover .block-editor-block-mover__drag-handle.has-icon.has-icon{padding-left:0;padding-right:0}}.components-button.block-editor-block-mover-button:before{animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards;border-radius:2px;content:"";display:block;height:32px;left:8px;position:absolute;right:8px;z-index:-1}@media (prefers-reduced-motion:reduce){.components-button.block-editor-block-mover-button:before{animation-delay:0s;animation-duration:1ms}}.components-button.block-editor-block-mover-button:focus,.components-button.block-editor-block-mover-button:focus:before,.components-button.block-editor-block-mover-button:focus:enabled{box-shadow:none;outline:none}.components-button.block-editor-block-mover-button:focus-visible:before{box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.block-editor-block-navigation__container{min-width:280px}.block-editor-block-navigation__label{color:#757575;font-size:11px;font-weight:500;margin:0 0 12px;text-transform:uppercase}.block-editor-block-patterns-list__list-item{cursor:pointer;margin-bottom:24px;position:relative}.block-editor-block-patterns-list__list-item.is-placeholder{min-height:100px}.block-editor-block-patterns-list__list-item[draggable=true]{cursor:grab}.block-editor-block-patterns-list__item{height:100%;scroll-margin-bottom:56px;scroll-margin-top:24px}.block-editor-block-patterns-list__item .block-editor-block-preview__container{align-items:center;border-radius:4px;display:flex;overflow:hidden}.block-editor-block-patterns-list__item .block-editor-block-patterns-list__item-title{flex-grow:1;text-align:right}.block-editor-block-patterns-list__item:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px #1e1e1e}.block-editor-block-patterns-list__item:focus .block-editor-block-preview__container{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) #1e1e1e;outline:2px solid transparent;outline-offset:2px}.block-editor-block-patterns-list__item.block-editor-block-patterns-list__list-item-synced:focus .block-editor-block-preview__container,.block-editor-block-patterns-list__item.block-editor-block-patterns-list__list-item-synced:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px var(--wp-block-synced-color),0 15px 25px rgba(0,0,0,.07)}.block-editor-block-patterns-list__item .block-editor-patterns__pattern-details{align-items:center;margin-top:8px}.block-editor-block-patterns-list__item .block-editor-patterns__pattern-icon-wrapper{height:24px;min-width:24px}.block-editor-block-patterns-list__item .block-editor-patterns__pattern-icon-wrapper .block-editor-patterns__pattern-icon{fill:var(--wp-block-synced-color)}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination{border-top:1px solid #2f2f2f;justify-content:center;padding:4px}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination .components-button.is-tertiary{height:32px;justify-content:center;width:auto}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination .components-button.is-tertiary:disabled{background:none;color:#949494}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination .components-button.is-tertiary:hover:not(:disabled){background-color:#757575;color:#fff}.show-icon-labels .block-editor-patterns__grid-pagination,.show-icon-labels .block-editor-patterns__grid-pagination .block-editor-patterns__grid-pagination-next,.show-icon-labels .block-editor-patterns__grid-pagination .block-editor-patterns__grid-pagination-previous{flex-direction:column}.show-icon-labels .block-editor-patterns__grid-pagination .components-button{width:auto}.show-icon-labels .block-editor-patterns__grid-pagination .components-button span{display:none}.show-icon-labels .block-editor-patterns__grid-pagination .components-button:before{content:attr(aria-label)}.components-popover.block-editor-block-popover{margin:0!important;pointer-events:none;position:absolute;z-index:31}.components-popover.block-editor-block-popover .components-popover__content{margin:0!important;min-width:auto;overflow-y:visible;width:max-content}.components-popover.block-editor-block-popover:not(.block-editor-block-popover__inbetween,.block-editor-block-popover__drop-zone,.block-editor-block-list__block-side-inserter-popover) .components-popover__content *{pointer-events:all}.components-popover.block-editor-block-popover__inbetween,.components-popover.block-editor-block-popover__inbetween *{pointer-events:none}.components-popover.block-editor-block-popover__inbetween .is-with-inserter,.components-popover.block-editor-block-popover__inbetween .is-with-inserter *{pointer-events:all}.components-popover.block-editor-block-popover__drop-zone *{pointer-events:none}.components-popover.block-editor-block-popover__drop-zone .block-editor-block-popover__drop-zone-foreground{background-color:var(--wp-admin-theme-color);border-radius:2px;inset:0;position:absolute}.block-editor-block-preview__container{overflow:hidden;position:relative;width:100%}.block-editor-block-preview__container .block-editor-block-preview__content{margin:0;min-height:auto;overflow:visible;right:0;text-align:initial;top:0;transform-origin:top right;width:100%}.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-list__insertion-point,.block-editor-block-preview__container .block-editor-block-preview__content .block-list-appender{display:none}.block-editor-block-preview__container:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.block-editor-block-rename-modal{z-index:1000001}.block-editor-block-settings-menu__popover .components-dropdown-menu__menu{padding:0}.block-editor-block-styles+.default-style-picker__default-switcher{margin-top:16px}.block-editor-block-styles__preview-panel{display:none;z-index:90}@media (min-width:782px){.block-editor-block-styles__preview-panel{display:block}}.block-editor-block-styles__preview-panel .block-editor-block-icon{display:none}.block-editor-block-styles__variants{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item{box-shadow:inset 0 0 0 1px #ddd;color:#1e1e1e;display:inline-block;width:calc(50% - 4px)}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:hover{box-shadow:inset 0 0 0 1px #ddd;color:var(--wp-admin-theme-color)}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:hover{background-color:#1e1e1e;box-shadow:none}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active .block-editor-block-styles__item-text,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:hover .block-editor-block-styles__item-text{color:#fff}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:focus,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:focus{box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.block-editor-block-styles__variants .block-editor-block-styles__item-text{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-editor-block-styles__block-preview-container,.block-editor-block-styles__block-preview-container *{box-sizing:border-box!important}.block-editor-block-switcher{position:relative}.block-editor-block-switcher .components-button.components-dropdown-menu__toggle.has-icon.has-icon{min-width:36px}.block-editor-block-switcher__no-switcher-icon,.block-editor-block-switcher__toggle{position:relative}.components-button.block-editor-block-switcher__no-switcher-icon,.components-button.block-editor-block-switcher__toggle{display:block;height:48px;margin:0}.components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-icon,.components-button.block-editor-block-switcher__toggle .block-editor-block-icon{margin:auto}.block-editor-block-switcher__toggle-text{margin-right:8px}.show-icon-labels .block-editor-block-switcher__toggle-text{display:none}.components-button.block-editor-block-switcher__no-switcher-icon{display:flex}.components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{margin-left:auto;margin-right:auto;min-width:24px!important}.components-button.block-editor-block-switcher__no-switcher-icon:disabled{opacity:1}.components-button.block-editor-block-switcher__no-switcher-icon:disabled,.components-button.block-editor-block-switcher__no-switcher-icon:disabled .block-editor-block-icon.has-colors{color:#1e1e1e}.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon .block-editor-block-icon,.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__toggle.has-icon.has-icon .block-editor-block-icon,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon .block-editor-block-icon,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__toggle.has-icon.has-icon .block-editor-block-icon{align-items:center;display:flex;height:100%;margin:0 auto;min-width:100%;position:relative}.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon:before,.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__toggle.has-icon.has-icon:before,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon:before,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__toggle.has-icon.has-icon:before{bottom:8px;left:8px;right:8px;top:8px}.components-popover.block-editor-block-switcher__popover .components-popover__content{min-width:300px}.block-editor-block-switcher__popover__preview__parent .block-editor-block-switcher__popover__preview__container{position:absolute;right:calc(100% + 16px);top:-12px}.block-editor-block-switcher__preview__popover{display:none;overflow:hidden}.block-editor-block-switcher__preview__popover.components-popover{margin-top:11px}@media (min-width:782px){.block-editor-block-switcher__preview__popover{display:block}}.block-editor-block-switcher__preview__popover .components-popover__content{background:#fff;border:1px solid #1e1e1e;border-radius:2px;box-shadow:none;outline:none;overflow:auto;width:300px}.block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview{margin:16px 0;max-height:468px;overflow:hidden;padding:0 16px}.block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview.is-pattern-list-preview{overflow:unset}.block-editor-block-switcher__preview-title{color:#757575;font-size:11px;font-weight:500;margin-bottom:12px;text-transform:uppercase}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon{min-width:36px}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle{height:48px}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-icon,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-switcher__transform,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle .block-editor-block-icon,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle .block-editor-block-switcher__transform{height:48px;width:48px}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-switcher__transform,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle .block-editor-block-switcher__transform{padding:12px}.block-editor-block-switcher__preview-patterns-container{padding-bottom:16px}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item{margin-top:16px}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-preview__container{cursor:pointer}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item{border:1px solid transparent;border-radius:2px;height:100%;position:relative;transition:all .05s ease-in-out}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item:focus,.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item:hover{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item:hover{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) #1e1e1e}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item .block-editor-block-switcher__preview-patterns-container-list__item-title{cursor:pointer;font-size:12px;padding:4px;text-align:center}.block-editor-block-switcher__no-transforms{color:#757575;margin:0;padding:6px 8px}.block-editor-block-types-list>[role=presentation]{display:flex;flex-wrap:wrap;overflow:hidden}.block-editor-block-pattern-setup{align-items:flex-start;border-radius:2px;display:flex;flex-direction:column;justify-content:center;width:100%}.block-editor-block-pattern-setup.view-mode-grid{padding-top:4px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__toolbar{justify-content:center}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container{column-count:2;column-gap:24px;display:block;padding:0 32px;width:100%}@media (min-width:1440px){.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container{column-count:3}}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-preview__container,.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container div[role=button]{cursor:pointer}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item{scroll-margin:5px 0}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px var(--wp-admin-theme-color)}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:focus .block-editor-block-preview__container{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:2px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:focus .block-editor-block-pattern-setup-list__item-title,.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:hover .block-editor-block-pattern-setup-list__item-title{color:var(--wp-admin-theme-color)}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item{break-inside:avoid-column;margin-bottom:24px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item .block-editor-block-pattern-setup-list__item-title{cursor:pointer;font-size:12px;padding-top:8px;text-align:center}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item .block-editor-block-preview__container{border:1px solid #ddd;border-radius:2px;min-height:100px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item .block-editor-block-preview__content{width:100%}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar{align-items:center;align-self:stretch;background-color:#fff;border-top:1px solid #ddd;bottom:0;box-sizing:border-box;color:#1e1e1e;display:flex;flex-direction:row;height:60px;justify-content:space-between;margin:0;padding:16px;position:absolute;text-align:right;width:100%}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__display-controls{display:flex}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__actions,.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__navigation{display:flex;width:calc(50% - 36px)}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__actions{justify-content:flex-end}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container{box-sizing:border-box;display:flex;flex-direction:column;height:100%;width:100%}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container{height:100%;list-style:none;margin:0;overflow:hidden;padding:0;position:relative;transform-style:preserve-3d}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container *{box-sizing:border-box}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide{background-color:#fff;height:100%;margin:auto;padding:0;position:absolute;top:0;transition:transform .5s,z-index .5s;width:100%;z-index:100}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide.active-slide{opacity:1;position:relative;z-index:102}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide.previous-slide{transform:translateX(100%);z-index:101}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide.next-slide{transform:translateX(-100%);z-index:101}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .block-list-appender{display:none}.block-editor-block-pattern-setup__carousel,.block-editor-block-pattern-setup__grid{width:100%}.block-editor-block-variation-transforms{padding:0 52px 16px 16px;width:100%}.block-editor-block-variation-transforms .components-dropdown-menu__toggle{border:1px solid #757575;border-radius:2px;justify-content:right;min-height:30px;padding:6px 12px;position:relative;text-align:right;width:100%}.block-editor-block-variation-transforms .components-dropdown-menu__toggle.components-dropdown-menu__toggle{padding-left:24px}.block-editor-block-variation-transforms .components-dropdown-menu__toggle:focus:not(:disabled){border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 calc(var(--wp-admin-border-width-focus) - 1px) var(--wp-admin-theme-color)}.block-editor-block-variation-transforms .components-dropdown-menu__toggle svg{height:100%;left:0;padding:0;position:absolute;top:0}.block-editor-block-variation-transforms__popover .components-popover__content{min-width:230px}.components-border-radius-control{margin-bottom:12px}.components-border-radius-control legend{margin-bottom:8px}.components-border-radius-control .components-border-radius-control__wrapper{align-items:flex-start;display:flex;justify-content:space-between}.components-border-radius-control .components-border-radius-control__wrapper .components-border-radius-control__unit-control{flex-shrink:0;margin-bottom:0;margin-left:16px;width:calc(50% - 8px)}.components-border-radius-control .components-border-radius-control__wrapper .components-border-radius-control__range-control{flex:1;margin-left:12px}.components-border-radius-control .components-border-radius-control__wrapper .components-border-radius-control__range-control>div{align-items:center;display:flex;height:40px}.components-border-radius-control .components-border-radius-control__wrapper>span{flex:0 0 auto}.components-border-radius-control .components-border-radius-control__input-controls-wrapper{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:12px}.components-border-radius-control .component-border-radius-control__linked-button{display:flex;justify-content:center;margin-top:8px}.components-border-radius-control .component-border-radius-control__linked-button svg{margin-left:0}.block-editor-color-gradient-control .block-editor-color-gradient-control__color-indicator{margin-bottom:12px}.block-editor-color-gradient-control__fieldset{min-width:0}.block-editor-panel-color-gradient-settings.block-editor-panel-color-gradient-settings,.block-editor-panel-color-gradient-settings.block-editor-panel-color-gradient-settings>div:not(:first-of-type){display:block}@media screen and (min-width:782px){.block-editor-panel-color-gradient-settings .components-circular-option-picker__swatches{display:grid;grid-template-columns:repeat(6,28px)}}.block-editor-block-inspector .block-editor-panel-color-gradient-settings .components-base-control{margin-bottom:inherit}.block-editor-panel-color-gradient-settings__dropdown-content .block-editor-color-gradient-control__panel{padding:16px;width:260px}.block-editor-panel-color-gradient-settings__color-indicator{background:linear-gradient(45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0)}.block-editor-tools-panel-color-gradient-settings__item{border-bottom:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #ddd;max-width:100%;padding:0}.block-editor-tools-panel-color-gradient-settings__item:nth-child(1 of .block-editor-tools-panel-color-gradient-settings__item){border-top:1px solid #ddd;border-top-left-radius:2px;border-top-right-radius:2px;margin-top:24px}.block-editor-tools-panel-color-gradient-settings__item:nth-last-child(1 of .block-editor-tools-panel-color-gradient-settings__item){border-bottom-left-radius:2px;border-bottom-right-radius:2px}.block-editor-tools-panel-color-gradient-settings__item>div,.block-editor-tools-panel-color-gradient-settings__item>div>button{border-radius:inherit}.block-editor-tools-panel-color-gradient-settings__dropdown{display:block;padding:0}.block-editor-tools-panel-color-gradient-settings__dropdown>button{height:auto;padding-bottom:10px;padding-top:10px;text-align:right}.block-editor-tools-panel-color-gradient-settings__dropdown>button.is-open{background:#f0f0f0;color:var(--wp-admin-theme-color)}.block-editor-tools-panel-color-gradient-settings__dropdown .block-editor-panel-color-gradient-settings__color-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-panel-color-gradient-settings__dropdown{width:100%}.block-editor-panel-color-gradient-settings__dropdown .component-color-indicator{flex-shrink:0}.block-editor-date-format-picker{margin-bottom:16px}.block-editor-date-format-picker__custom-format-select-control__custom-option{border-top:1px solid #ddd}.block-editor-date-format-picker__custom-format-select-control__custom-option.has-hint{grid-template-columns:auto 30px}.block-editor-date-format-picker__custom-format-select-control__custom-option .components-custom-select-control__item-hint{grid-row:2;text-align:right}.block-editor-duotone-control__popover>.components-popover__content{padding:16px;width:260px}.block-editor-duotone-control__popover .components-menu-group__label{padding:0}.block-editor-duotone-control__popover .components-circular-option-picker__swatches{display:grid;gap:12px;grid-template-columns:repeat(6,28px);justify-content:space-between}.block-editor-duotone-control__unset-indicator{background:linear-gradient(45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0)}.components-font-appearance-control ul li{color:#1e1e1e;text-transform:capitalize}.block-editor-global-styles-effects-panel__toggle-icon{fill:currentColor}.block-editor-global-styles-effects-panel__shadow-popover-container{width:230px}.block-editor-global-styles-effects-panel__shadow-dropdown,.block-editor-global-styles-filters-panel__dropdown{display:block;padding:0}.block-editor-global-styles-effects-panel__shadow-dropdown button,.block-editor-global-styles-filters-panel__dropdown button{padding:8px;width:100%}.block-editor-global-styles-effects-panel__shadow-dropdown button.is-open,.block-editor-global-styles-filters-panel__dropdown button.is-open{background-color:#f0f0f0}.block-editor-global-styles-effects-panel__shadow-indicator-wrapper{align-items:center;display:flex;justify-content:center;overflow:hidden;padding:6px}.block-editor-global-styles-effects-panel__shadow-indicator{border:1px solid #e0e0e0;border-radius:2px;color:#2f2f2f;cursor:pointer;height:24px;padding:0;width:24px}.block-editor-global-styles-advanced-panel__custom-css-input textarea{direction:ltr;font-family:Menlo,Consolas,monaco,monospace}.block-editor-global-styles-advanced-panel__custom-css-validation-wrapper{bottom:16px;left:24px;position:absolute}.block-editor-global-styles-advanced-panel__custom-css-validation-icon{fill:#cc1818}.block-editor-height-control{border:0;margin:0;padding:0}.block-editor-image-size-control{margin-bottom:1em}.block-editor-image-size-control .block-editor-image-size-control__height,.block-editor-image-size-control .block-editor-image-size-control__width{margin-bottom:1.115em}.block-editor-block-types-list__list-item{display:block;margin:0;padding:0;width:33.33%}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled) .block-editor-block-icon.has-colors{color:var(--wp-block-synced-color)}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled):hover .block-editor-block-types-list__item-title{color:var(--wp-block-synced-color)!important;filter:brightness(.95)}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled):hover svg{color:var(--wp-block-synced-color)!important}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled):after{background:var(--wp-block-synced-color)}.components-button.block-editor-block-types-list__item{align-items:stretch;background:transparent;border-radius:2px;color:#1e1e1e;cursor:pointer;display:flex;flex-direction:column;font-size:13px;height:auto;justify-content:center;padding:8px;position:relative;transition:all .05s ease-in-out;width:100%;word-break:break-word}@media (prefers-reduced-motion:reduce){.components-button.block-editor-block-types-list__item{transition-delay:0s;transition-duration:0s}}.components-button.block-editor-block-types-list__item:disabled{cursor:default;opacity:.6}.components-button.block-editor-block-types-list__item:not(:disabled):hover .block-editor-block-types-list__item-title{color:var(--wp-admin-theme-color)!important;filter:brightness(.95)}.components-button.block-editor-block-types-list__item:not(:disabled):hover svg{color:var(--wp-admin-theme-color)!important}.components-button.block-editor-block-types-list__item:not(:disabled):hover:after{background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.04;pointer-events:none;position:absolute;right:0;top:0}.components-button.block-editor-block-types-list__item:not(:disabled):focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-button.block-editor-block-types-list__item:not(:disabled).is-active{background:#1e1e1e;color:#fff;outline:2px solid transparent;outline-offset:-2px}.block-editor-block-types-list__item-icon{border-radius:2px;color:#1e1e1e;padding:12px 20px;transition:all .05s ease-in-out}@media (prefers-reduced-motion:reduce){.block-editor-block-types-list__item-icon{transition-delay:0s;transition-duration:0s}}.block-editor-block-types-list__item-icon .block-editor-block-icon{margin-left:auto;margin-right:auto}.block-editor-block-types-list__item-icon svg{transition:all .15s ease-out}@media (prefers-reduced-motion:reduce){.block-editor-block-types-list__item-icon svg{transition-delay:0s;transition-duration:0s}}.block-editor-block-types-list__list-item[draggable=true] .block-editor-block-types-list__item-icon{cursor:grab}.block-editor-block-types-list__item-title{font-size:12px;padding:4px 2px 8px}.show-icon-labels .block-editor-block-inspector__tabs [role=tablist] .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-block-inspector__tabs [role=tablist] .components-button.has-icon:before{content:attr(aria-label)}.block-editor-inspector-controls-tabs__hint{align-items:flex-start;background:#f0f0f0;border-radius:2px;color:#1e1e1e;display:flex;flex-direction:row;font-size:13px;margin:16px}.block-editor-inspector-controls-tabs__hint-content{margin:12px 12px 12px 0}.block-editor-inspector-controls-tabs__hint-dismiss{margin:4px 0 4px 4px}.block-editor-inspector-popover-header{margin-bottom:16px}[class].block-editor-inspector-popover-header__action{height:24px}[class].block-editor-inspector-popover-header__action.has-icon{min-width:24px;padding:0}[class].block-editor-inspector-popover-header__action:not(.has-icon){text-decoration:underline}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}@keyframes loadingpulse{0%{opacity:1}50%{opacity:0}to{opacity:1}}.block-editor-link-control{min-width:350px;position:relative}.components-popover__content .block-editor-link-control{max-width:350px;min-width:auto;width:90vw}.show-icon-labels .block-editor-link-control .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-link-control .components-button.has-icon:before{content:attr(aria-label)}.block-editor-link-control__search-input-wrapper{margin-bottom:8px;position:relative}.block-editor-link-control__search-input-container,.block-editor-link-control__search-input-wrapper{position:relative}.block-editor-link-control__field{margin:16px}.block-editor-link-control__field .components-base-control__label{color:#1e1e1e}.block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:40px;line-height:normal;margin:0;padding:8px 16px 8px 40px;position:relative;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{font-size:13px;line-height:normal}}.block-editor-link-control__field input[type=text]:focus,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-link-control__field input[type=text]::-webkit-input-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control__field input[type=text]::-moz-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.block-editor-link-control__field input[type=text]:-ms-input-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:-ms-input-placeholder{color:rgba(30,30,30,.62)}.has-actions .block-editor-link-control__field input[type=text],.has-actions .block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{padding-left:16px}.block-editor-link-control__search-error{margin:-8px 16px 16px}.block-editor-link-control__search-enter{left:19px;position:absolute;top:3px}.block-editor-link-control__search-enter svg{position:relative;top:-2px}.block-editor-link-control__search-actions{padding:8px 16px 16px}.block-editor-link-control__search-results-wrapper{position:relative}.block-editor-link-control__search-results-wrapper:after,.block-editor-link-control__search-results-wrapper:before{content:"";display:block;left:16px;pointer-events:none;position:absolute;right:-1px;z-index:100}.block-editor-link-control__search-results-wrapper:before{bottom:auto;height:8px;top:0}.block-editor-link-control__search-results-wrapper:after{bottom:0;height:16px;top:auto}.block-editor-link-control__search-results{margin-top:-16px;max-height:200px;overflow-y:auto;padding:8px}.block-editor-link-control__search-results.is-loading{opacity:.2}.block-editor-link-control__search-item.components-button.components-menu-item__button{height:auto;text-align:right}.block-editor-link-control__search-item .components-menu-item__item{display:inline-block;overflow:hidden;text-overflow:ellipsis;width:100%}.block-editor-link-control__search-item .components-menu-item__item mark{background-color:transparent;color:inherit;font-weight:600}.block-editor-link-control__search-item .components-menu-item__shortcut{color:#757575;text-transform:capitalize;white-space:nowrap}.block-editor-link-control__search-item[aria-selected]{background:#f0f0f0}.block-editor-link-control__search-item.is-current{background:transparent;border:0;cursor:default;flex-direction:column;padding:16px;width:100%}.block-editor-link-control__search-item .block-editor-link-control__search-item-header{align-items:flex-start;display:block;flex-direction:row;gap:8px;margin-left:8px;overflow-wrap:break-word;white-space:pre-wrap}.block-editor-link-control__search-item .block-editor-link-control__search-item-header .block-editor-link-control__search-item-info{color:#757575;font-size:12px;line-height:1.1;word-break:break-all}.block-editor-link-control__search-item.is-preview .block-editor-link-control__search-item-header{display:flex;flex:1}.block-editor-link-control__search-item.is-error .block-editor-link-control__search-item-header{align-items:center}.block-editor-link-control__search-item.is-url-title .block-editor-link-control__search-item-title{word-break:break-all}.block-editor-link-control__search-item .block-editor-link-control__search-item-details{display:flex;flex-direction:column;gap:4px;justify-content:space-between}.block-editor-link-control__search-item .block-editor-link-control__search-item-header .block-editor-link-control__search-item-icon{background-color:#f0f0f0;border-radius:2px;height:32px;width:32px}.block-editor-link-control__search-item .block-editor-link-control__search-item-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center;position:relative}.block-editor-link-control__search-item .block-editor-link-control__search-item-icon img{width:16px}.block-editor-link-control__search-item.is-error .block-editor-link-control__search-item-icon{max-height:32px;top:0;width:32px}.block-editor-link-control__search-item .block-editor-link-control__search-item-title{border-radius:2px;line-height:1.1}.block-editor-link-control__search-item .block-editor-link-control__search-item-title:focus-visible{box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent;text-decoration:none}.block-editor-link-control__search-item .block-editor-link-control__search-item-title mark{background-color:transparent;color:inherit;font-weight:600}.block-editor-link-control__search-item .block-editor-link-control__search-item-title span{font-weight:400}.block-editor-link-control__search-item .block-editor-link-control__search-item-title svg{display:none}.block-editor-link-control__search-item-top{align-items:center;display:flex;flex-direction:row;width:100%}.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon img,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon svg{opacity:0}.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon:before{animation:loadingpulse 1s linear infinite;animation-delay:.5s;background-color:#f0f0f0;border-radius:100%;bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.block-editor-link-control__loading{align-items:center;display:flex;margin:16px}.block-editor-link-control__loading .components-spinner{margin-top:0}.components-button+.block-editor-link-control__search-create{overflow:visible;padding:12px 16px}.components-button+.block-editor-link-control__search-create:before{content:"";display:block;position:absolute;right:0;top:-10px;width:100%}.block-editor-link-control__search-create{align-items:center}.block-editor-link-control__search-create .block-editor-link-control__search-item-title{margin-bottom:0}.block-editor-link-control__search-create .block-editor-link-control__search-item-icon{top:0}.block-editor-link-control__drawer{display:flex;flex-basis:100%;flex-direction:column;order:30}.block-editor-link-control__drawer-inner{display:flex;flex-basis:100%;flex-direction:column;position:relative}.block-editor-link-control__unlink{padding-left:16px;padding-right:16px}.block-editor-link-control__setting{flex:1;margin-bottom:0;padding:8px 24px 8px 0}.block-editor-link-control__setting .components-base-control__field{display:flex}.block-editor-link-control__setting .components-base-control__field .components-checkbox-control__label{color:#1e1e1e}.block-editor-link-control__setting input{margin-right:0}.is-preview .block-editor-link-control__setting{padding:20px 0 8px 8px}.block-editor-link-control__tools{margin-top:-16px;padding:8px 8px 0}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle{gap:0;padding-right:0}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true]{color:#1e1e1e}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true] svg{transform:rotate(-90deg);transition:transform .1s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true] svg{transition-delay:0s;transition-duration:0s}}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=false] svg{transform:rotate(0deg);transition:transform .1s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=false] svg{transition-delay:0s;transition-duration:0s}}.block-editor-link-control .block-editor-link-control__search-input .components-spinner{display:block}.block-editor-link-control .block-editor-link-control__search-input .components-spinner.components-spinner{bottom:auto;left:40px;position:absolute;right:auto;top:calc(50% - 8px)}.block-editor-link-control .block-editor-link-control__search-input-wrapper.has-actions .components-spinner{left:12px;top:calc(50% + 4px)}.block-editor-link-control__search-item-action{flex-shrink:0;margin-right:auto}.block-editor-list-view-tree{border-collapse:collapse;margin:0;padding:0;width:100%}.components-modal__content .block-editor-list-view-tree{margin:-12px -6px 0;width:calc(100% + 12px)}.block-editor-list-view-tree.is-dragging tbody{pointer-events:none}.block-editor-list-view-leaf{position:relative;transform:translateY(0)}.block-editor-list-view-leaf.is-draggable,.block-editor-list-view-leaf.is-draggable .block-editor-list-view-block-contents{cursor:grab}.block-editor-list-view-leaf .block-editor-list-view-block-select-button[aria-expanded=true]{color:inherit}.block-editor-list-view-leaf .block-editor-list-view-block-select-button:hover{color:var(--wp-admin-theme-color)}.is-dragging-components-draggable .block-editor-list-view-leaf:not(.is-selected) .block-editor-list-view-block-select-button:hover{color:inherit}.block-editor-list-view-leaf.is-selected td{background:var(--wp-admin-theme-color)}.block-editor-list-view-leaf.is-selected.is-synced td{background:var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents .block-editor-block-icon,.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents:focus,.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents:hover{color:var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents:focus:after{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents,.block-editor-list-view-leaf.is-selected .components-button.has-icon{color:#fff}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents:focus:after{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-list-view-leaf.is-selected.is-synced .block-editor-list-view-block-contents:focus:after{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block__menu:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #fff}.block-editor-list-view-leaf.is-first-selected td:first-child{border-top-right-radius:2px}.block-editor-list-view-leaf.is-first-selected td:last-child{border-top-left-radius:2px}.block-editor-list-view-leaf.is-last-selected td:first-child{border-bottom-right-radius:2px}.block-editor-list-view-leaf.is-last-selected td:last-child{border-bottom-left-radius:2px}.block-editor-list-view-leaf.is-branch-selected:not(.is-selected):not(.is-synced-branch){background:rgba(var(--wp-admin-theme-color--rgb),.04)}.block-editor-list-view-leaf.is-synced-branch.is-branch-selected{background:rgba(var(--wp-block-synced-color--rgb),.04)}.block-editor-list-view-leaf.is-branch-selected.is-first-selected td:first-child{border-top-right-radius:2px}.block-editor-list-view-leaf.is-branch-selected.is-first-selected td:last-child{border-top-left-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-first-selected td:first-child{border-top-right-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-first-selected td:last-child{border-top-left-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-last-selected td:first-child{border-bottom-right-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-last-selected td:last-child{border-bottom-left-radius:2px}.block-editor-list-view-leaf.is-branch-selected:not(.is-selected) td{border-radius:0}.block-editor-list-view-leaf.is-displacement-normal{transform:translateY(0);transition:transform .2s}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-displacement-normal{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf.is-displacement-up{transform:translateY(-36px);transition:transform .2s}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-displacement-up{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf.is-displacement-down{transform:translateY(36px);transition:transform .2s}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-displacement-down{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf.is-after-dragged-blocks{transform:translateY(calc(var(--wp-admin--list-view-dragged-items-height, 36px)*-1));transition:transform .2s}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-after-dragged-blocks{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-up{transform:translateY(calc(-36px + var(--wp-admin--list-view-dragged-items-height, 36px)*-1));transition:transform .2s}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-up{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-down{transform:translateY(calc(36px + var(--wp-admin--list-view-dragged-items-height, 36px)*-1));transition:transform .2s}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-down{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf.is-dragging{opacity:0;pointer-events:none;right:0;z-index:-9999}.block-editor-list-view-leaf .block-editor-list-view-block-contents{align-items:center;border-radius:2px;display:flex;height:auto;padding:6px 0 6px 4px;position:relative;text-align:right;white-space:nowrap;width:100%}.block-editor-list-view-leaf .block-editor-list-view-block-contents.is-dropping-before:before{border-top:4px solid var(--wp-admin-theme-color);content:"";left:0;pointer-events:none;position:absolute;right:0;top:-2px;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear}.components-modal__content .block-editor-list-view-leaf .block-editor-list-view-block-contents{padding-left:0;padding-right:0}.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus,.block-editor-list-view-leaf.is-nesting .block-editor-list-view-block-contents{box-shadow:none}.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after,.block-editor-list-view-leaf.is-nesting .block-editor-list-view-block-contents:after{border-radius:inherit;bottom:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:-29px;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.block-editor-list-view-leaf.has-single-cell .block-editor-list-view-block-contents:focus:after{left:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu:focus,.block-editor-list-view-leaf.is-nesting .block-editor-list-view__menu{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);z-index:1}.block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents{animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards;opacity:1}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents{animation-delay:0s;animation-duration:1ms}}.block-editor-list-view-leaf .block-editor-block-icon{flex:0 0 24px;margin-left:8px}.block-editor-list-view-leaf .block-editor-list-view-block__contents-cell,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell{padding-bottom:0;padding-top:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell{line-height:0;vertical-align:middle;width:36px}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell>*{opacity:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell.is-visible>*,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell:focus-within>*,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell:hover>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell.is-visible>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell:focus-within>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell:hover>*{opacity:1}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell .components-button.has-icon,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell .components-button.has-icon{min-width:24px;padding:0;width:24px}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell{padding-left:4px}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell .components-button.has-icon{height:24px}.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell-alignment-wrapper{align-items:center;display:flex;flex-direction:column;height:100%}.block-editor-list-view-leaf .block-editor-block-mover-button{height:24px;position:relative;width:36px}.block-editor-list-view-leaf .block-editor-block-mover-button svg{height:24px;position:relative}.block-editor-list-view-leaf .block-editor-block-mover-button.is-up-button{align-items:flex-end;margin-top:-6px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-up-button svg{bottom:-4px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-down-button{align-items:flex-start;margin-bottom:-6px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-down-button svg{top:-4px}.block-editor-list-view-leaf .block-editor-block-mover-button:before{height:16px;left:0;min-width:100%;right:0}.block-editor-list-view-leaf .block-editor-inserter__toggle{background:#1e1e1e;color:#fff;height:24px;margin:6px 1px 6px 6px;min-width:24px}.block-editor-list-view-leaf .block-editor-inserter__toggle:active{color:#fff}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__label-wrapper{min-width:120px}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__title{flex:1;position:relative}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__title .components-truncate{position:absolute;transform:translateY(-50%);width:100%}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__anchor-wrapper{max-width:min(110px,40%);position:relative;width:100%}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__anchor{background:rgba(0,0,0,.1);border-radius:2px;box-sizing:border-box;left:0;max-width:100%;padding:2px 6px;position:absolute;transform:translateY(-50%)}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__anchor{background:rgba(0,0,0,.3)}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__lock{line-height:0}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__images{display:flex}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__image{background-size:cover;border-radius:2px;height:18px;width:18px}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__image:not(:only-child){box-shadow:0 0 0 2px #fff}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__image:not(:first-child){margin-right:-6px}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__image:not(:only-child){box-shadow:0 0 0 2px var(--wp-admin-theme-color)}.block-editor-list-view-draggable-chip{opacity:.8}.block-editor-list-view-appender__cell .block-editor-list-view-appender__container,.block-editor-list-view-appender__cell .block-editor-list-view-block__contents-container,.block-editor-list-view-block__contents-cell .block-editor-list-view-appender__container,.block-editor-list-view-block__contents-cell .block-editor-list-view-block__contents-container{display:flex}.block-editor-list-view__expander{cursor:pointer;height:24px;margin-right:4px;width:24px}.block-editor-list-view-leaf[aria-level] .block-editor-list-view__expander{margin-right:220px}.block-editor-list-view-leaf:not([aria-level="1"]) .block-editor-list-view__expander{margin-left:4px}.block-editor-list-view-leaf[aria-level="1"] .block-editor-list-view__expander{margin-right:0}.block-editor-list-view-leaf[aria-level="2"] .block-editor-list-view__expander{margin-right:24px}.block-editor-list-view-leaf[aria-level="3"] .block-editor-list-view__expander{margin-right:52px}.block-editor-list-view-leaf[aria-level="4"] .block-editor-list-view__expander{margin-right:80px}.block-editor-list-view-leaf[aria-level="5"] .block-editor-list-view__expander{margin-right:108px}.block-editor-list-view-leaf[aria-level="6"] .block-editor-list-view__expander{margin-right:136px}.block-editor-list-view-leaf[aria-level="7"] .block-editor-list-view__expander{margin-right:164px}.block-editor-list-view-leaf[aria-level="8"] .block-editor-list-view__expander{margin-right:192px}.block-editor-list-view-leaf .block-editor-list-view__expander{visibility:hidden}.block-editor-list-view-leaf[data-expanded=true] .block-editor-list-view__expander svg{transform:rotate(-90deg);transition:transform .2s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf[data-expanded=true] .block-editor-list-view__expander svg{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf[data-expanded=false] .block-editor-list-view__expander svg{transform:rotate(0deg);transition:transform .2s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf[data-expanded=false] .block-editor-list-view__expander svg{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-drop-indicator{pointer-events:none}.block-editor-list-view-drop-indicator .block-editor-list-view-drop-indicator__line{background:var(--wp-admin-theme-color);border-radius:4px;height:4px}.block-editor-list-view-drop-indicator--preview{pointer-events:none}.block-editor-list-view-drop-indicator--preview .components-popover__content{overflow:hidden!important}.block-editor-list-view-drop-indicator--preview .block-editor-list-view-drop-indicator__line{background:rgba(var(--wp-admin-theme-color--rgb),.04);border-radius:4px;height:36px;overflow:hidden}.block-editor-list-view-drop-indicator--preview .block-editor-list-view-drop-indicator__line--darker{background:rgba(var(--wp-admin-theme-color--rgb),.09)}.block-editor-list-view-placeholder{height:36px;margin:0;padding:0}.list-view-appender .block-editor-inserter__toggle{background-color:#1e1e1e;border-radius:2px;color:#fff;height:24px;margin:8px 24px 0 0;min-width:24px;padding:0}.list-view-appender .block-editor-inserter__toggle:focus,.list-view-appender .block-editor-inserter__toggle:hover{background:var(--wp-admin-theme-color);color:#fff}.list-view-appender__description,.modal-open .block-editor-media-replace-flow__options{display:none}.block-editor-media-replace-flow__indicator{margin-right:4px}.block-editor-media-flow__url-input{margin-left:-8px;margin-right:-8px;padding:16px}.block-editor-media-flow__url-input.has-siblings{border-top:1px solid #1e1e1e;margin-top:8px;padding-bottom:8px}.block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label{display:block;margin-bottom:8px;top:16px}.block-editor-media-flow__url-input .block-editor-link-control{width:300px}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-url-input{margin:0;padding:0}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-info,.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-title{max-width:200px;white-space:nowrap}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__tools{justify-content:flex-end;padding:16px var(--wp-admin-border-width-focus) var(--wp-admin-border-width-focus)}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item.is-current{padding:0;width:auto}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]{margin:0;width:100%}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-actions{padding:8px 0 0}.block-editor-media-flow__error{max-width:255px;padding:0 20px 20px}.block-editor-media-flow__error .components-with-notices-ui{max-width:255px}.block-editor-media-flow__error .components-with-notices-ui .components-notice__content{word-wrap:break-word;overflow:hidden}.block-editor-media-flow__error .components-with-notices-ui .components-notice__dismiss{left:10px;position:absolute}.block-editor-multi-selection-inspector__card{align-items:flex-start;display:flex;padding:16px}.block-editor-multi-selection-inspector__card-content{flex-grow:1}.block-editor-multi-selection-inspector__card-title{font-weight:500;margin-bottom:5px}.block-editor-multi-selection-inspector__card-description{font-size:13px}.block-editor-multi-selection-inspector__card .block-editor-block-icon{height:24px;margin-left:10px;margin-right:-2px;padding:0 3px;width:36px}.block-editor-responsive-block-control{border-bottom:1px solid #ccc;margin-bottom:28px;padding-bottom:14px}.block-editor-responsive-block-control:last-child{border-bottom:0;padding-bottom:0}.block-editor-responsive-block-control__title{margin:0 -3px .6em 0}.block-editor-responsive-block-control__label{font-weight:600;margin-bottom:.6em;margin-right:-3px}.block-editor-responsive-block-control__inner{margin-right:-1px}.block-editor-responsive-block-control__toggle{margin-right:1px}.block-editor-responsive-block-control .components-base-control__help{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.components-popover.block-editor-rich-text__inline-format-toolbar{z-index:99998}.components-popover.block-editor-rich-text__inline-format-toolbar .components-popover__content{box-shadow:none;margin-bottom:8px;min-width:auto;outline:none;width:auto}.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar{border-radius:2px}.components-popover.block-editor-rich-text__inline-format-toolbar .components-dropdown-menu__toggle,.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar__control{min-height:48px;min-width:48px;padding-left:12px;padding-right:12px}.block-editor-rich-text__inline-format-toolbar-group .components-dropdown-menu__toggle{justify-content:center}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button.has-icon{width:auto}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button.has-icon:after{content:attr(aria-label)}.block-editor-skip-to-selected-block{position:absolute;top:-9999em}.block-editor-skip-to-selected-block:focus{background:#f1f1f1;box-shadow:0 0 2px 2px rgba(0,0,0,.6);color:var(--wp-admin-theme-color);display:block;font-size:14px;font-weight:600;height:auto;line-height:normal;outline:none;padding:15px 23px 14px;text-decoration:none;width:auto;z-index:100000}.block-editor-text-decoration-control{border:0;margin:0;padding:0}.block-editor-text-decoration-control .block-editor-text-decoration-control__buttons{display:flex;padding:4px 0}.block-editor-text-decoration-control .components-button.has-icon{height:32px;margin-left:4px;min-width:32px;padding:0}.block-editor-text-transform-control{border:0;margin:0;padding:0}.block-editor-text-transform-control .block-editor-text-transform-control__buttons{display:flex;padding:4px 0}.block-editor-text-transform-control .components-button.has-icon{height:32px;margin-left:4px;min-width:32px;padding:0}.block-editor-tool-selector__help{border-top:1px solid #ddd;color:#757575;margin:8px -8px -8px;min-width:280px;padding:16px}.block-editor-block-list__block .block-editor-url-input,.block-editor-url-input,.components-popover .block-editor-url-input{flex-grow:1;padding:1px;position:relative}.block-editor-block-list__block .block-editor-url-input input[type=text],.block-editor-url-input input[type=text],.components-popover .block-editor-url-input input[type=text]{border:none;border-radius:0;font-size:16px;margin-left:0;margin-right:0;padding:8px 12px 8px 8px;width:100%}@media (min-width:600px){.block-editor-block-list__block .block-editor-url-input input[type=text],.block-editor-url-input input[type=text],.components-popover .block-editor-url-input input[type=text]{font-size:13px;width:300px}}.block-editor-block-list__block .block-editor-url-input input[type=text]::-ms-clear,.block-editor-url-input input[type=text]::-ms-clear,.components-popover .block-editor-url-input input[type=text]::-ms-clear{display:none}.block-editor-block-list__block .block-editor-url-input.is-full-width,.block-editor-block-list__block .block-editor-url-input.is-full-width .block-editor-url-input__input[type=text],.block-editor-block-list__block .block-editor-url-input.is-full-width__suggestions,.block-editor-url-input.is-full-width,.block-editor-url-input.is-full-width .block-editor-url-input__input[type=text],.block-editor-url-input.is-full-width__suggestions,.components-popover .block-editor-url-input.is-full-width,.components-popover .block-editor-url-input.is-full-width .block-editor-url-input__input[type=text],.components-popover .block-editor-url-input.is-full-width__suggestions{width:100%}.block-editor-block-list__block .block-editor-url-input .components-spinner,.block-editor-url-input .components-spinner,.components-popover .block-editor-url-input .components-spinner{left:8px;margin:0;position:absolute;top:calc(50% - 8px)}.block-editor-url-input__input[type=text]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:6px 8px;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.block-editor-url-input__input[type=text]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.block-editor-url-input__input[type=text]{font-size:13px;line-height:normal}}.block-editor-url-input__input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-url-input__input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-url-input__input[type=text]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.block-editor-url-input__input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-url-input__suggestions{max-height:200px;overflow-y:auto;padding:4px 0;transition:all .15s ease-in-out;width:302px}@media (prefers-reduced-motion:reduce){.block-editor-url-input__suggestions{transition-delay:0s;transition-duration:0s}}.block-editor-url-input .components-spinner,.block-editor-url-input__suggestions{display:none}@media (min-width:600px){.block-editor-url-input .components-spinner,.block-editor-url-input__suggestions{display:grid}}.block-editor-url-input__suggestion{background:#fff;border:none;box-shadow:none;color:#757575;cursor:pointer;display:block;font-size:13px;height:auto;min-height:36px;text-align:right;width:100%}.block-editor-url-input__suggestion:hover{background:#ddd}.block-editor-url-input__suggestion.is-selected,.block-editor-url-input__suggestion:focus{background:var(--wp-admin-theme-color-darker-20);color:#fff;outline:none}.components-toolbar-group>.block-editor-url-input__button,.components-toolbar>.block-editor-url-input__button{position:inherit}.block-editor-url-input__button .block-editor-url-input__back{margin-left:4px;overflow:visible}.block-editor-url-input__button .block-editor-url-input__back:after{background:#ddd;content:"";display:block;height:24px;left:-1px;position:absolute;width:1px}.block-editor-url-input__button-modal{background:#fff;border:1px solid #ddd;box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1)}.block-editor-url-input__button-modal-line{align-items:flex-start;display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-width:0}.block-editor-url-input__button-modal-line .components-button{flex-shrink:0;height:36px;width:36px}.block-editor-url-popover__additional-controls{border-top:1px solid #ddd}.block-editor-url-popover__additional-controls>div[role=menu] .components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary)>svg{box-shadow:none}.block-editor-url-popover__additional-controls div[role=menu]>.components-button{padding-right:12px}.block-editor-url-popover__row{display:flex}.block-editor-url-popover__row>:not(.block-editor-url-popover__settings-toggle){flex-grow:1}.block-editor-url-popover .components-button.has-icon{padding:3px}.block-editor-url-popover .components-button.has-icon>svg{border-radius:2px;height:30px;padding:5px;width:30px}.block-editor-url-popover .components-button.has-icon:not(:disabled):focus{box-shadow:none}.block-editor-url-popover .components-button.has-icon:not(:disabled):focus>svg{box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.block-editor-url-popover__settings-toggle{border-radius:0;border-right:1px solid #ddd;flex-shrink:0;margin-right:1px}.block-editor-url-popover__settings-toggle[aria-expanded=true] .dashicon{transform:rotate(-180deg)}.block-editor-url-popover__settings{border-top:1px solid #ddd;display:block;padding:16px}.block-editor-url-popover__link-editor,.block-editor-url-popover__link-viewer{display:flex}.block-editor-url-popover__link-viewer-url{flex-grow:1;flex-shrink:1;margin:7px;max-width:500px;min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-url-popover__link-viewer-url.has-invalid-link{color:#cc1818}.html-anchor-control .components-external-link{display:block;margin-top:8px}.block-editor-hooks__block-hooks .components-toggle-control .components-h-stack{flex-direction:row-reverse}.block-editor-hooks__block-hooks .components-toggle-control .components-h-stack .components-h-stack{flex-direction:row}.block-editor-hooks__background__inspector-media-replace-container{position:relative}.block-editor-hooks__background__inspector-media-replace-container .components-drop-zone__content-icon{display:none}.block-editor-hooks__background__inspector-media-replace-container button.components-button{box-shadow:inset 0 0 0 1px #ddd;color:#1e1e1e;display:block;height:40px;width:100%}.block-editor-hooks__background__inspector-media-replace-container button.components-button:hover{color:var(--wp-admin-theme-color)}.block-editor-hooks__background__inspector-media-replace-container button.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-hooks__background__inspector-media-replace-container .block-editor-hooks__background__inspector-media-replace-title{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-editor-hooks__background__inspector-media-replace-container .components-dropdown{display:block}.block-editor-hooks__background__inspector-image-indicator-wrapper{background:#fff linear-gradient(45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0);border-radius:50%!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);display:block;flex:none;height:20px;width:20px}.block-editor-hooks__background__inspector-image-indicator-wrapper.has-image{background:#fff}.block-editor-hooks__background__inspector-image-indicator{background-size:cover;border-radius:50%;display:block;height:20px;position:relative;width:20px}.block-editor-hooks__background__inspector-image-indicator:after{border:1px solid transparent;border-radius:50%;bottom:-1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);box-sizing:inherit;content:"";left:-1px;position:absolute;right:-1px;top:-1px}.border-block-support-panel .single-column{grid-column:span 1}.color-block-support-panel .block-editor-contrast-checker{grid-column:span 2;margin-top:16px;order:9999}.color-block-support-panel .block-editor-contrast-checker .components-notice__content{margin-left:0}.color-block-support-panel.color-block-support-panel .color-block-support-panel__inner-wrapper{row-gap:0}.color-block-support-panel .block-editor-tools-panel-color-gradient-settings__item.first{margin-top:0}.dimensions-block-support-panel .single-column{grid-column:span 1}.block-editor-hooks__layout-controls{display:flex;margin-bottom:8px}.block-editor-hooks__layout-controls .block-editor-hooks__layout-controls-unit{display:flex;margin-left:24px}.block-editor-hooks__layout-controls .block-editor-hooks__layout-controls-unit svg{margin:auto 8px 4px 0}.block-editor-block-inspector .block-editor-hooks__layout-controls-unit-input{margin-bottom:0}.block-editor-hooks__layout-controls-reset{display:flex;justify-content:flex-end;margin-bottom:24px}.block-editor-hooks__layout-controls-helptext{color:#757575;font-size:12px;margin-bottom:16px}.block-editor-hooks__flex-layout-justification-controls,.block-editor-hooks__flex-layout-orientation-controls{margin-bottom:12px}.block-editor-hooks__flex-layout-justification-controls legend,.block-editor-hooks__flex-layout-orientation-controls legend{margin-bottom:8px}.block-editor-hooks__toggle-control.block-editor-hooks__toggle-control{margin-bottom:16px}.block-editor__padding-visualizer{border-color:var(--wp-admin-theme-color);border-style:solid;bottom:0;box-sizing:border-box;left:0;opacity:.5;pointer-events:none;position:absolute;right:0;top:0}.block-editor-hooks__position-selection__select-control .components-custom-select-control__hint{display:none}.block-editor-hooks__position-selection__select-control__option.has-hint{grid-template-columns:auto 30px;line-height:1.4;margin-bottom:0}.block-editor-hooks__position-selection__select-control__option .components-custom-select-control__item-hint{grid-row:2;text-align:right}.typography-block-support-panel .single-column{grid-column:span 1}.block-editor-block-toolbar{display:flex;flex-grow:1;overflow-x:auto;overflow-y:hidden;position:relative;transition:border-color .1s linear,box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.block-editor-block-toolbar{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.block-editor-block-toolbar{overflow:inherit}}.block-editor-block-toolbar .components-toolbar,.block-editor-block-toolbar .components-toolbar-group{background:none;border:0;border-left:1px solid #ddd;line-height:0;margin-bottom:-1px;margin-top:-1px}.block-editor-block-toolbar.is-synced .block-editor-block-switcher .components-button .block-editor-block-icon,.block-editor-block-toolbar.is-synced .components-toolbar-button.block-editor-block-switcher__no-switcher-icon:disabled .block-editor-block-icon.has-colors{color:var(--wp-block-synced-color)}.block-editor-block-toolbar>:last-child,.block-editor-block-toolbar>:last-child .components-toolbar,.block-editor-block-toolbar>:last-child .components-toolbar-group{border-left:none}.block-editor-block-contextual-toolbar{background-color:#fff;display:block;flex-shrink:3;position:sticky;top:0;width:100%;z-index:31}.block-editor-block-contextual-toolbar.components-accessible-toolbar{border:none;border-bottom:1px solid #e0e0e0;border-radius:0}.block-editor-block-contextual-toolbar .block-editor-block-toolbar{overflow:auto;overflow-y:hidden}.block-editor-block-contextual-toolbar .block-editor-block-toolbar>:last-child .components-toolbar-group:after,.block-editor-block-contextual-toolbar .block-editor-block-toolbar>:last-child .components-toolbar:after,.block-editor-block-contextual-toolbar .block-editor-block-toolbar>:last-child:after{display:none}.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar-group{border-left-color:#e0e0e0}.block-editor-block-contextual-toolbar>.block-editor-block-toolbar{flex-grow:0;width:auto}.block-editor-block-contextual-toolbar .block-editor-block-parent-selector{margin-bottom:-1px;margin-top:-1px;position:relative}.block-editor-block-contextual-toolbar .block-editor-block-parent-selector:after{bottom:16px;content:"·";font-size:16px;left:0;position:absolute}.block-editor-block-toolbar__block-controls .block-editor-block-switcher .components-dropdown-menu__toggle .block-editor-block-icon,.block-editor-block-toolbar__block-controls .block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{margin:0!important;width:24px!important}.block-editor-block-toolbar__block-controls .components-toolbar-group{padding:0}.block-editor-block-toolbar .components-toolbar,.block-editor-block-toolbar .components-toolbar-group,.block-editor-rich-text__inline-format-toolbar-group .components-toolbar,.block-editor-rich-text__inline-format-toolbar-group .components-toolbar-group{display:flex;flex-wrap:nowrap}.block-editor-block-toolbar__slot{display:inline-block;line-height:0}@supports (position:sticky){.block-editor-block-toolbar__slot{display:inline-flex}}.show-icon-labels .block-editor-block-toolbar .components-button.has-icon{width:auto}.show-icon-labels .block-editor-block-toolbar .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-block-toolbar .components-button.has-icon:after{content:attr(aria-label);font-size:12px}.show-icon-labels .components-accessible-toolbar .components-toolbar-group>div:first-child:last-child>.components-button.has-icon{padding-left:6px;padding-right:6px}.show-icon-labels .block-editor-block-switcher .components-dropdown-menu__toggle .block-editor-block-icon,.show-icon-labels .block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{height:0!important;min-width:0!important;width:0!important}.show-icon-labels .block-editor-block-parent-selector .block-editor-block-parent-selector__button{text-wrap:nowrap;border-bottom-left-radius:0;border-top-left-radius:0;padding-left:12px;padding-right:12px}.show-icon-labels .block-editor-block-parent-selector .block-editor-block-parent-selector__button .block-editor-block-icon{width:0}.show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container{width:auto}@media (min-width:600px){.show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container{position:relative}.show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container:before{background:#1e1e1e;content:"";height:1px;margin-top:-.5px;position:absolute;right:50%;top:50%;transform:translate(50%);width:100%}}.show-icon-labels .block-editor-block-mover.is-horizontal .block-editor-block-mover-button,.show-icon-labels .block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container{padding-left:6px;padding-right:6px}.show-icon-labels .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button{padding-left:8px;padding-right:8px}.show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-mover{border-right:1px solid #ddd;margin-left:-6px;margin-right:6px;white-space:nowrap}.show-icon-labels .block-editor-block-mover .block-editor-block-mover__drag-handle.has-icon{padding-left:12px;padding-right:12px}.show-icon-labels .block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button{width:auto}.show-icon-labels .components-toolbar,.show-icon-labels .components-toolbar-group{flex-shrink:1}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button+.components-button{margin-right:6px}.block-editor-inserter{background:none;border:none;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:0;padding:0}@media (min-width:782px){.block-editor-inserter{position:relative}}.block-editor-inserter__main-area{display:flex;flex-direction:column;gap:16px;height:100%;overflow-y:hidden;position:relative}.block-editor-inserter__main-area.show-as-tabs{gap:0}@media (min-width:782px){.block-editor-inserter__main-area{width:350px}}.block-editor-inserter__popover.is-quick .components-popover__content{border:none;box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);outline:none}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>*{border-left:1px solid #ccc;border-right:1px solid #ccc}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>:first-child{border-radius:2px 2px 0 0;border-top:1px solid #ccc}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>:last-child{border-bottom:1px solid #ccc;border-radius:0 0 2px 2px}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>.components-button{border:1px solid #1e1e1e}.block-editor-inserter__popover .block-editor-inserter__menu{margin:-12px}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__tabs div[role=tablist]{top:60px}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__main-area{height:auto;overflow:visible}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__preview-container{display:none}.block-editor-inserter__toggle.components-button{align-items:center;border:none;cursor:pointer;display:inline-flex;outline:none;padding:0;transition:color .2s ease}@media (prefers-reduced-motion:reduce){.block-editor-inserter__toggle.components-button{transition-delay:0s;transition-duration:0s}}.block-editor-inserter__menu{height:100%;overflow:visible;position:relative}.block-editor-inserter__inline-elements{margin-top:-1px}.block-editor-inserter__menu.is-bottom:after{border-bottom-color:#fff}.components-popover.block-editor-inserter__popover{z-index:99999}.block-editor-inserter__search{padding:16px 16px 0}.block-editor-inserter__search .components-search-control__icon{left:20px}.block-editor-inserter__tabs{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.block-editor-inserter__tabs div[role=tablist]{border-bottom:1px solid #ddd}.block-editor-inserter__tabs div[role=tablist] button[role=tab]{flex-grow:1;margin-bottom:-1px}.block-editor-inserter__tabs div[role=tablist] button[role=tab][id$=reusable]{flex-grow:inherit;padding-left:16px;padding-right:16px}.block-editor-inserter__tabs div[role=tabpanel]{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto}.block-editor-inserter__no-tab-container{flex-grow:1;overflow-y:auto}.block-editor-inserter__panel-header{align-items:center;display:inline-flex;padding:16px 16px 0}.block-editor-inserter__panel-content{padding:16px}.block-editor-inserter__panel-title,.block-editor-inserter__panel-title button{color:#757575;font-size:11px;font-weight:500;margin:0 0 0 12px;text-transform:uppercase}.block-editor-inserter__panel-dropdown select.components-select-control__input.components-select-control__input.components-select-control__input{height:36px;line-height:36px}.block-editor-inserter__panel-dropdown select{border:none}.block-editor-inserter__reusable-blocks-panel{position:relative;text-align:left}.block-editor-inserter__manage-reusable-blocks-container{margin:auto 16px 16px}.block-editor-inserter__manage-reusable-blocks{justify-content:center;width:100%}.block-editor-inserter__no-results{padding:32px;text-align:center}.block-editor-inserter__no-results-icon{fill:#949494}.block-editor-inserter__child-blocks{padding:0 16px}.block-editor-inserter__parent-block-header{align-items:center;display:flex}.block-editor-inserter__parent-block-header h2{font-size:13px}.block-editor-inserter__parent-block-header .block-editor-block-icon{margin-left:8px}.block-editor-inserter__preview-container__popover{top:16px!important}.block-editor-inserter__preview-container{display:none;max-height:calc(100% - 32px);overflow-y:hidden;padding:16px;width:280px}@media (min-width:782px){.block-editor-inserter__preview-container{display:block}}.block-editor-inserter__preview-container .block-editor-block-preview__container{height:100%}.block-editor-inserter__preview-container .block-editor-block-card{padding-bottom:4px;padding-left:0;padding-right:0}.block-editor-inserter__patterns-explore-button.components-button{justify-content:center;margin-top:16px;padding:16px;width:100%}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category{color:var(--wp-admin-theme-color);position:relative}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category .components-flex-item{filter:brightness(.95)}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category svg{fill:var(--wp-admin-theme-color)}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category:after{background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.04;position:absolute;right:0;top:0}.block-editor-inserter__block-patterns-tabs-container,.block-editor-inserter__block-patterns-tabs-container nav{height:100%}.block-editor-inserter__block-patterns-tabs{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px}.block-editor-inserter__block-patterns-tabs div[role=listitem]:last-child{margin-top:auto}.block-editor-inserter__block-patterns-tabs .block-editor-inserter__patterns-category{padding-left:4px}.block-editor-inserter__patterns-category-dialog{background:#f0f0f0;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;height:100%;position:absolute;right:0;top:0;width:100%}@media (min-width:782px){.block-editor-inserter__patterns-category-dialog{display:block;right:100%;width:300px}}.block-editor-inserter__patterns-category-dialog .block-editor-block-patterns-list{flex-grow:1;height:100%;overflow-y:auto;padding:16px 24px}.block-editor-block-patterns-list__list-item .block-editor-block-preview__container{box-shadow:0 15px 25px rgba(0,0,0,.07)}.block-editor-block-patterns-list__list-item:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px #1e1e1e,0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__patterns-category-panel{display:flex;flex-direction:column;height:100%;padding:0 16px}@media (min-width:782px){.block-editor-inserter__patterns-category-panel{padding:0}}.block-editor-inserter__patterns-category-panel .block-editor-inserter__patterns-category-panel-header{padding:16px 24px}.block-editor-inserter__patterns-category-panel .block-editor-inserter__patterns-category-no-results{margin-top:24px}.block-editor-inserter__preview-content{align-items:center;background:#f0f0f0;display:grid;flex-grow:1;min-height:144px}.block-editor-inserter__preview-content-missing{align-items:center;background:#f0f0f0;border-radius:2px;color:#757575;display:flex;flex:1;justify-content:center;min-height:144px}.block-editor-inserter__tips{border-top:1px solid #ddd;flex-shrink:0;padding:16px;position:relative}.block-editor-inserter__quick-inserter{max-width:100%;width:100%}@media (min-width:782px){.block-editor-inserter__quick-inserter{width:350px}}.block-editor-inserter__quick-inserter-results .block-editor-inserter__panel-header{float:right;height:0;padding:0}.block-editor-inserter__quick-inserter.has-expand .block-editor-inserter__panel-content,.block-editor-inserter__quick-inserter.has-search .block-editor-inserter__panel-content{padding:16px}.block-editor-inserter__quick-inserter-patterns .block-editor-block-patterns-list{grid-gap:8px;display:grid;grid-template-columns:1fr 1fr}.block-editor-inserter__quick-inserter-patterns .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{margin-bottom:0}.block-editor-inserter__quick-inserter-patterns .block-editor-block-patterns-list .block-editor-block-preview__container{min-height:100px}.block-editor-inserter__quick-inserter-separator{border-top:1px solid #ddd}.block-editor-inserter__popover.is-quick>.components-popover__content{padding:0}.block-editor-inserter__quick-inserter-expand.components-button{background:#1e1e1e;border-radius:0;color:#fff;display:block;height:44px;width:100%}.block-editor-inserter__quick-inserter-expand.components-button:hover{color:#fff}.block-editor-inserter__quick-inserter-expand.components-button:active{color:#ccc}.block-editor-inserter__quick-inserter-expand.components-button.components-button:focus:not(:disabled){background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);box-shadow:none}.block-editor-block-patterns-explorer__sidebar{bottom:0;overflow-x:visible;overflow-y:scroll;padding:24px 32px 32px;position:absolute;right:0;top:72px;width:280px}.block-editor-block-patterns-explorer__sidebar__categories-list__item{display:block;height:48px;text-align:right;width:100%}.block-editor-block-patterns-explorer__search{margin-bottom:32px}.block-editor-block-patterns-explorer__search-results-count{padding-bottom:32px}.block-editor-block-patterns-explorer__list{margin-right:280px;padding:24px 0 32px}.block-editor-block-patterns-explorer__list .block-editor-patterns__sync-status-filter .components-input-control__container{width:380px}.block-editor-block-patterns-explorer .block-editor-block-patterns-list{grid-gap:32px;display:grid;grid-template-columns:repeat(1,1fr);margin-bottom:16px}@media (min-width:1080px){.block-editor-block-patterns-explorer .block-editor-block-patterns-list{grid-template-columns:repeat(2,1fr)}}@media (min-width:1440px){.block-editor-block-patterns-explorer .block-editor-block-patterns-list{grid-template-columns:repeat(3,1fr)}}.block-editor-block-patterns-explorer .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{min-height:240px}.block-editor-block-patterns-explorer .block-editor-block-patterns-list .block-editor-block-preview__container{height:inherit;max-height:800px;min-height:100px}.block-editor-inserter__patterns-category-panel-title{font-size:16.25px}.block-editor-inserter__media-tabs-container,.block-editor-inserter__media-tabs-container nav{height:100%}.block-editor-inserter__media-tabs-container .block-editor-inserter__media-library-button{justify-content:center;margin-top:16px;padding:16px;width:100%}.block-editor-inserter__media-tabs{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px}.block-editor-inserter__media-tabs div[role=listitem]:last-child{margin-top:auto}.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category{padding-left:4px}.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected{color:var(--wp-admin-theme-color);position:relative}.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected .components-flex-item{filter:brightness(.95)}.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected svg{fill:var(--wp-admin-theme-color)}.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected:after{background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.04;position:absolute;right:0;top:0}.block-editor-inserter__media-dialog{background:#f0f0f0;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;height:100%;overflow-y:auto;padding:16px 24px;position:absolute;right:0;scrollbar-gutter:stable both-edges;top:0;width:100%}@media (min-width:782px){.block-editor-inserter__media-dialog{display:block;right:100%;width:300px}}.block-editor-inserter__media-dialog .block-editor-block-preview__container{box-shadow:0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__media-dialog .block-editor-block-preview__container:hover{box-shadow:0 0 0 2px #1e1e1e,0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__media-panel{display:flex;flex-direction:column;min-height:100%;padding:0 16px}@media (min-width:782px){.block-editor-inserter__media-panel{padding:0}}.block-editor-inserter__media-panel .block-editor-inserter__media-panel-spinner{align-items:center;display:flex;flex:1;height:100%;justify-content:center}.block-editor-inserter__media-panel .block-editor-inserter__media-panel-search.components-search-control input[type=search].components-search-control__input{background:#fff}.block-editor-inserter__media-panel .block-editor-inserter__media-panel-search.components-search-control button.components-button{min-width:auto;padding-left:2px;padding-right:2px}.block-editor-inserter__media-list{margin-top:16px}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item{cursor:pointer;margin-bottom:24px;position:relative}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item.is-placeholder{min-height:100px}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item[draggable=true] .block-editor-block-preview__container{cursor:grab}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview{box-shadow:0 0 0 2px #1e1e1e,0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview-options>button{display:block}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options{left:8px;position:absolute;top:8px}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button{background:#fff;border-radius:2px;display:none}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button.is-opened,.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button:focus{display:block}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button:hover{box-shadow:inset 0 0 0 2px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-inserter__media-list .block-editor-inserter__media-list__item{height:100%}.block-editor-inserter__media-list .block-editor-inserter__media-list__item .block-editor-inserter__media-list__item-preview{align-items:center;border-radius:2px;display:flex;overflow:hidden}.block-editor-inserter__media-list .block-editor-inserter__media-list__item .block-editor-inserter__media-list__item-preview>*{margin:0 auto;max-width:100%}.block-editor-inserter__media-list .block-editor-inserter__media-list__item .block-editor-inserter__media-list__item-preview .block-editor-inserter__media-list__item-preview-spinner{align-items:center;background:hsla(0,0%,100%,.7);display:flex;height:100%;justify-content:center;pointer-events:none;position:absolute;width:100%}.block-editor-inserter__media-list .block-editor-inserter__media-list__item:focus .block-editor-inserter__media-list__item-preview{box-shadow:inset 0 0 0 2px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-inserter__media-list__item-preview-options__popover .components-menu-item__button .components-menu-item__item{min-width:auto}.block-editor-inserter__mobile-tab-navigation{height:100%;padding:16px}.block-editor-inserter__mobile-tab-navigation>*{height:100%}@media (min-width:600px){.block-editor-inserter-media-tab-media-preview-inserter-external-image-modal{max-width:480px}}.block-editor-inserter-media-tab-media-preview-inserter-external-image-modal p{margin:0}.block-editor-inserter__hint{margin:16px 16px 0}.reusable-blocks-menu-items__rename-hint{align-items:top;background:#f0f0f0;border-radius:2px;color:#1e1e1e;display:flex;flex-direction:row;max-width:380px}.reusable-blocks-menu-items__rename-hint-content{margin:12px 12px 12px 0}.reusable-blocks-menu-items__rename-hint-dismiss{margin:4px 0 4px 4px}.components-menu-group .reusable-blocks-menu-items__rename-hint{margin:0}.block-editor-patterns__sync-status-filter .components-input-control__container select.components-select-control__input{height:40px}.spacing-sizes-control .spacing-sizes-control__custom-value-input,.spacing-sizes-control .spacing-sizes-control__label{margin-bottom:0}.spacing-sizes-control .spacing-sizes-control__custom-value-range,.spacing-sizes-control .spacing-sizes-control__range-control{align-items:center;display:flex;flex:1;height:40px;margin-bottom:0}.spacing-sizes-control .spacing-sizes-control__custom-value-range>.components-base-control__field,.spacing-sizes-control .spacing-sizes-control__range-control>.components-base-control__field{flex:1}.spacing-sizes-control .components-range-control__mark{background-color:#fff;height:4px;width:3px;z-index:1}.spacing-sizes-control .components-range-control__marks{margin-top:17px}.spacing-sizes-control .components-range-control__marks :first-child{display:none}.spacing-sizes-control .components-range-control__thumb-wrapper{z-index:3}.spacing-sizes-control__header{height:16px;margin-bottom:12px}.spacing-sizes-control__dropdown{height:24px}.spacing-sizes-control__custom-select-control,.spacing-sizes-control__custom-value-input{flex:1}.spacing-sizes-control__custom-toggle,.spacing-sizes-control__icon{flex:0 0 auto}.spacing-sizes-control__icon{margin-right:-4px}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file diff --git a/wp-includes/css/dist/block-editor/style.css b/wp-includes/css/dist/block-editor/style.css index 97d6e6d425..dbbce29c36 100644 --- a/wp-includes/css/dist/block-editor/style.css +++ b/wp-includes/css/dist/block-editor/style.css @@ -34,6 +34,20 @@ margin-top:0; } +iframe[name=editor-canvas]{ + display:block; + height:100%; + width:100%; +} + +iframe[name=editor-canvas]:not(.has-history){ + background-color:#fff; +} + +iframe[name=editor-canvas].has-history{ + padding:48px 48px 0; +} + .block-editor-block-icon{ align-items:center; display:flex; @@ -78,9 +92,6 @@ border-top:1px solid #e0e0e0; margin-top:-1px; } -.block-editor-block-inspector .block-editor-block-card{ - padding:16px; -} .block-editor-block-inspector__no-block-tools,.block-editor-block-inspector__no-blocks{ background:#fff; @@ -165,140 +176,6 @@ .block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon:hover{ background:#1e1e1e; } -.block-editor-block-contextual-toolbar{ - background-color:#fff; - border:1px solid #1e1e1e; - border-radius:2px; - display:inline-flex; -} -.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar-group{ - border-right-color:#1e1e1e; -} -.block-editor-block-contextual-toolbar.is-fixed{ - border:none; - border-bottom:1px solid #e0e0e0; - border-radius:0; - overflow:hidden; -} -.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar{ - overflow:auto; - overflow-y:hidden; -} -.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group{ - border-right-color:#e0e0e0; -} -.block-editor-block-contextual-toolbar.is-collapsed:after{ - background:linear-gradient(90deg, #fff, transparent); - content:""; - height:100%; - left:100%; - position:absolute; - width:48px; -} -@media (min-width:782px){ - .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar{ - flex-grow:0; - width:auto; - } - .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar:before{ - background-color:#ddd; - content:""; - height:24px; - left:-2px; - margin-right:0; - margin-top:12px; - position:relative; - top:-1px; - width:1px; - } - .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar{ - border:none; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar .components-button.has-icon svg{ - display:none; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar .components-button.has-icon:after{ - content:attr(aria-label); - font-size:12px; - } - .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar:before{ - background-color:#ddd; - content:""; - height:24px; - left:0; - margin-right:8px; - margin-top:12px; - position:relative; - top:-1px; - width:1px; - } - .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar{ - border:none; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar{ - width:256px; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar .components-button.has-icon svg{ - display:none; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar .components-button.has-icon:after{ - content:attr(aria-label); - font-size:12px; - } - .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar:before{ - background-color:#ddd; - content:""; - height:24px; - left:-8px; - margin-bottom:12px; - margin-top:12px; - position:relative; - top:-1px; - width:1px; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button:after{ - left:0; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar__block-controls .block-editor-block-mover{ - border-left:none; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar__block-controls .block-editor-block-mover:before{ - background-color:#ddd; - content:""; - margin-bottom:12px; - margin-top:12px; - position:relative; - width:1px; - } - .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button{ - border:0; - padding-left:6px; - padding-right:6px; - position:relative; - top:-1px; - } - .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button:after{ - bottom:4px; - content:"·"; - font-size:16px; - left:46px; - line-height:40px; - position:absolute; - } - .block-editor-block-contextual-toolbar:not(.is-fixed) .block-editor-block-parent-selector{ - left:-57px; - position:absolute; - top:-1px; - } - .show-icon-labels .block-editor-block-contextual-toolbar:not(.is-fixed) .block-editor-block-parent-selector{ - left:auto; - margin-bottom:-1px; - margin-left:-1px; - margin-top:-1px; - position:relative; - top:auto; - } -} .block-editor-block-list__block-selection-button{ background-color:#1e1e1e; border-radius:2px; @@ -364,6 +241,25 @@ margin-top:12px; pointer-events:all; } +.components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar{ + border:1px solid #1e1e1e; + border-radius:2px; + overflow:visible; + position:static; + width:auto; +} +.components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar.has-parent{ + margin-left:56px; +} +.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar.has-parent{ + margin-left:0; +} +.components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar{ + overflow:visible; +} +.components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar .components-toolbar,.components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar .components-toolbar-group{ + border-right-color:#1e1e1e; +} .components-popover.block-editor-block-list__block-popover.is-insertion-point-visible{ visibility:hidden; } @@ -371,6 +267,31 @@ animation:hide-during-dragging 1ms linear forwards; opacity:0; } +.components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector{ + left:-57px; + position:absolute; +} +.components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector:before{ + content:""; +} +.components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector .block-editor-block-parent-selector__button{ + background-color:#fff; + border:1px solid #1e1e1e; + padding-left:6px; + padding-right:6px; +} +.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector .block-editor-block-parent-selector__button{ + padding-left:12px; + padding-right:12px; +} +.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector{ + left:auto; + margin-left:-1px; + position:relative; +} +.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-mover__move-button-container,.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar__block-controls .block-editor-block-mover{ + border-left:1px solid #1e1e1e; +} .is-dragging-components-draggable .components-tooltip{ display:none; @@ -495,24 +416,28 @@ .block-editor-block-card{ align-items:flex-start; + color:#1e1e1e; display:flex; + padding:16px; } .block-editor-block-card__content{ flex-grow:1; - margin-bottom:4px; } .block-editor-block-card__title{ font-weight:500; } .block-editor-block-card__title.block-editor-block-card__title{ + font-size:13px; line-height:24px; - margin:0 0 4px; + margin:0; } .block-editor-block-card__description{ + display:block; font-size:13px; + margin-top:4px; } .block-editor-block-card .block-editor-block-icon{ @@ -601,6 +526,7 @@ display:inline-flex; height:48px; padding:0 13px; + position:relative; -webkit-user-select:none; user-select:none; width:max-content; @@ -627,6 +553,35 @@ font-size:13px; } +.block-editor-block-draggable-chip__disabled.block-editor-block-draggable-chip__disabled{ + align-items:center; + background-color:transparent; + bottom:0; + display:flex; + justify-content:center; + left:0; + opacity:0; + position:absolute; + right:0; + top:0; + transition:all .1s linear .1s; +} +.block-editor-block-draggable-chip__disabled.block-editor-block-draggable-chip__disabled .block-editor-block-draggable-chip__disabled-icon{ + background:transparent linear-gradient(-45deg, transparent 47.5%, #fff 0, #fff 52.5%, transparent 0); + border-radius:50%; + box-shadow:inset 0 0 0 1.5px #fff; + display:inline-block; + height:20px; + padding:0; + width:20px; +} + +.block-draggable-invalid-drag-token .block-editor-block-draggable-chip__disabled.block-editor-block-draggable-chip__disabled{ + background-color:#757575; + box-shadow:0 4px 8px rgba(0,0,0,.2); + opacity:1; +} + .block-editor-block-mover__move-button-container{ border:none; display:flex; @@ -710,7 +665,7 @@ outline:none; } .components-button.block-editor-block-mover-button:focus-visible:before{ - box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 4px #fff; + box-shadow:inset 0 0 0 1px var(--wp-components-color-background, #fff), 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); outline:2px solid transparent; } @@ -726,17 +681,6 @@ text-transform:uppercase; } -.block-editor-block-parent-selector{ - background:#fff; - border-radius:2px; -} -.block-editor-block-parent-selector .block-editor-block-parent-selector__button{ - border:1px solid #1e1e1e; - border-radius:2px; - height:48px; - width:48px; -} - .block-editor-block-patterns-list__list-item{ cursor:pointer; margin-bottom:24px; @@ -751,6 +695,8 @@ .block-editor-block-patterns-list__item{ height:100%; + scroll-margin-bottom:56px; + scroll-margin-top:24px; } .block-editor-block-patterns-list__item .block-editor-block-preview__container{ align-items:center; @@ -898,15 +844,6 @@ display:block; } } -.block-editor-block-styles__preview-panel .block-editor-inserter__preview-container{ - left:auto; - position:static; - right:auto; - top:auto; -} -.block-editor-block-styles__preview-panel .block-editor-block-card__title.block-editor-block-card__title{ - margin:0; -} .block-editor-block-styles__preview-panel .block-editor-block-icon{ display:none; } @@ -936,6 +873,7 @@ } .block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:focus,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:focus{ box-shadow:inset 0 0 0 1px var(--wp-components-color-background, #fff), 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); + outline:2px solid transparent; } .block-editor-block-styles__variants .block-editor-block-styles__item-text{ text-align:start; @@ -975,10 +913,6 @@ display:none; } -.show-icon-labels .block-editor-block-toolbar .block-editor-block-switcher .components-button.has-icon:after{ - font-size:14px; -} - .components-button.block-editor-block-switcher__no-switcher-icon{ display:flex; } @@ -1103,6 +1037,12 @@ text-align:center; } +.block-editor-block-switcher__no-transforms{ + color:#757575; + margin:0; + padding:6px 8px; +} + .block-editor-block-types-list>[role=presentation]{ display:flex; flex-wrap:wrap; @@ -1138,6 +1078,9 @@ .block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-preview__container,.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container div[role=button]{ cursor:pointer; } +.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item{ + scroll-margin:5px 0; +} .block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:hover .block-editor-block-preview__container{ box-shadow:0 0 0 2px var(--wp-admin-theme-color); } @@ -1169,7 +1112,7 @@ } .block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar{ align-items:center; - align-self:flex-end; + align-self:stretch; background-color:#fff; border-top:1px solid #ddd; bottom:0; @@ -1331,10 +1274,6 @@ min-width:0; } -.block-editor-color-gradient-control__tabs .block-editor-color-gradient-control__panel{ - padding:16px; -} - .block-editor-panel-color-gradient-settings.block-editor-panel-color-gradient-settings,.block-editor-panel-color-gradient-settings.block-editor-panel-color-gradient-settings>div:not(:first-of-type){ display:block; } @@ -1343,7 +1282,6 @@ .block-editor-panel-color-gradient-settings .components-circular-option-picker__swatches{ display:grid; grid-template-columns:repeat(6, 28px); - justify-content:space-between; } } .block-editor-block-inspector .block-editor-panel-color-gradient-settings .components-base-control{ @@ -1365,13 +1303,13 @@ max-width:100%; padding:0; } -.block-editor-tools-panel-color-gradient-settings__item.first{ +.block-editor-tools-panel-color-gradient-settings__item:nth-child(1 of .block-editor-tools-panel-color-gradient-settings__item){ border-top:1px solid #ddd; border-top-left-radius:2px; border-top-right-radius:2px; margin-top:24px; } -.block-editor-tools-panel-color-gradient-settings__item.last{ +.block-editor-tools-panel-color-gradient-settings__item:nth-last-child(1 of .block-editor-tools-panel-color-gradient-settings__item){ border-bottom-left-radius:2px; border-bottom-right-radius:2px; } @@ -1406,10 +1344,6 @@ flex-shrink:0; } -.block-editor-contrast-checker>.components-notice{ - margin:0; -} - .block-editor-date-format-picker{ margin-bottom:16px; } @@ -1427,7 +1361,7 @@ .block-editor-duotone-control__popover>.components-popover__content{ padding:16px; - width:280px; + width:260px; } .block-editor-duotone-control__popover .components-menu-group__label{ padding:0; @@ -1439,11 +1373,6 @@ justify-content:space-between; } -.block-editor-duotone-control__description{ - font-size:12px; - margin:16px 0; -} - .block-editor-duotone-control__unset-indicator{ background:linear-gradient(-45deg, transparent 48%, #ddd 0, #ddd 52%, transparent 0); } @@ -1629,20 +1558,21 @@ padding:4px 2px 8px; } -.show-icon-labels .block-editor-block-inspector__tabs .components-tab-panel__tabs .components-button.has-icon svg{ +.show-icon-labels .block-editor-block-inspector__tabs [role=tablist] .components-button.has-icon svg{ display:none; } -.show-icon-labels .block-editor-block-inspector__tabs .components-tab-panel__tabs .components-button.has-icon:before{ +.show-icon-labels .block-editor-block-inspector__tabs [role=tablist] .components-button.has-icon:before{ content:attr(aria-label); } .block-editor-inspector-controls-tabs__hint{ - align-items:top; + align-items:flex-start; background:#f0f0f0; border-radius:2px; color:#1e1e1e; display:flex; flex-direction:row; + font-size:13px; margin:16px; } @@ -1721,13 +1651,12 @@ position:relative; } -.block-editor-link-control__search-input.has-no-label .block-editor-url-input__input{ - flex:1; -} - .block-editor-link-control__field{ margin:16px; } +.block-editor-link-control__field .components-base-control__label{ + color:#1e1e1e; +} .block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{ border:1px solid #949494; border-radius:2px; @@ -1738,7 +1667,7 @@ height:40px; line-height:normal; margin:0; - padding:8px 16px; + padding:8px 40px 8px 16px; position:relative; transition:box-shadow .1s linear; width:100%; @@ -1770,6 +1699,9 @@ .block-editor-link-control__field input[type=text]:-ms-input-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:-ms-input-placeholder{ color:rgba(30,30,30,.62); } +.has-actions .block-editor-link-control__field input[type=text],.has-actions .block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{ + padding-right:16px; +} .block-editor-link-control__search-error{ margin:-8px 16px 16px; @@ -1786,11 +1718,6 @@ } .block-editor-link-control__search-actions{ - display:flex; - flex-direction:row-reverse; - gap:8px; - justify-content:flex-start; - order:20; padding:8px 16px 16px; } @@ -1862,11 +1789,15 @@ align-items:flex-start; display:block; flex-direction:row; + gap:8px; margin-right:8px; overflow-wrap:break-word; white-space:pre-wrap; } .block-editor-link-control__search-item .block-editor-link-control__search-item-header .block-editor-link-control__search-item-info{ + color:#757575; + font-size:12px; + line-height:1.1; word-break:break-all; } .block-editor-link-control__search-item.is-preview .block-editor-link-control__search-item-header{ @@ -1879,14 +1810,24 @@ .block-editor-link-control__search-item.is-url-title .block-editor-link-control__search-item-title{ word-break:break-all; } +.block-editor-link-control__search-item .block-editor-link-control__search-item-details{ + display:flex; + flex-direction:column; + gap:4px; + justify-content:space-between; +} +.block-editor-link-control__search-item .block-editor-link-control__search-item-header .block-editor-link-control__search-item-icon{ + background-color:#f0f0f0; + border-radius:2px; + height:32px; + width:32px; +} .block-editor-link-control__search-item .block-editor-link-control__search-item-icon{ + align-items:center; display:flex; flex-shrink:0; justify-content:center; - margin-right:8px; - max-height:24px; position:relative; - width:24px; } .block-editor-link-control__search-item .block-editor-link-control__search-item-icon img{ width:16px; @@ -1897,10 +1838,13 @@ width:32px; } .block-editor-link-control__search-item .block-editor-link-control__search-item-title{ - display:block; - font-weight:500; - line-height:24px; - position:relative; + border-radius:2px; + line-height:1.1; +} +.block-editor-link-control__search-item .block-editor-link-control__search-item-title:focus-visible{ + box-shadow:inset 0 0 0 1px var(--wp-components-color-background, #fff), 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); + outline:2px solid transparent; + text-decoration:none; } .block-editor-link-control__search-item .block-editor-link-control__search-item-title mark{ background-color:transparent; @@ -1913,50 +1857,6 @@ .block-editor-link-control__search-item .block-editor-link-control__search-item-title svg{ display:none; } -.block-editor-link-control__search-item .block-editor-link-control__search-item-description{ - margin:0; - padding-top:12px; -} -.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder{ - display:flex; - flex-direction:column; - height:28px; - justify-content:space-around; - margin-top:12px; - padding-top:0; -} -.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder:after,.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder:before{ - background-color:#f0f0f0; - border-radius:3px; - content:""; - display:block; - height:.7em; - width:100%; -} -.block-editor-link-control__search-item .block-editor-link-control__search-item-description .components-text{ - font-size:.9em; -} -.block-editor-link-control__search-item .block-editor-link-control__search-item-image{ - background-color:#f0f0f0; - border-radius:2px; - display:flex; - height:140px; - justify-content:center; - margin-top:12px; - max-height:140px; - overflow:hidden; - width:100%; -} -.block-editor-link-control__search-item .block-editor-link-control__search-item-image.is-placeholder{ - background-color:#f0f0f0; - border-radius:3px; -} -.block-editor-link-control__search-item .block-editor-link-control__search-item-image img{ - display:block; - height:140px; - max-height:140px; - max-width:100%; -} .block-editor-link-control__search-item-top{ align-items:center; @@ -1965,14 +1865,6 @@ width:100%; } -.block-editor-link-control__search-item-bottom{ - transition:opacity 1.5s; - width:100%; -} -.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-description:after,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-description:before,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-image{ - animation:loadingpulse 1s linear infinite; - animation-delay:.5s; -} .block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon img,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon svg{ opacity:0; } @@ -2049,6 +1941,9 @@ .block-editor-link-control__setting .components-base-control__field{ display:flex; } +.block-editor-link-control__setting .components-base-control__field .components-checkbox-control__label{ + color:#1e1e1e; +} .block-editor-link-control__setting input{ margin-left:0; } @@ -2121,9 +2016,16 @@ margin:-12px -6px 0; width:calc(100% + 12px); } +.block-editor-list-view-tree.is-dragging tbody{ + pointer-events:none; +} .block-editor-list-view-leaf{ position:relative; + transform:translateY(0); +} +.block-editor-list-view-leaf.is-draggable,.block-editor-list-view-leaf.is-draggable .block-editor-list-view-block-contents{ + cursor:grab; } .block-editor-list-view-leaf .block-editor-list-view-block-select-button[aria-expanded=true]{ color:inherit; @@ -2197,6 +2099,72 @@ .block-editor-list-view-leaf.is-branch-selected:not(.is-selected) td{ border-radius:0; } +.block-editor-list-view-leaf.is-displacement-normal{ + transform:translateY(0); + transition:transform .2s; +} +@media (prefers-reduced-motion:reduce){ + .block-editor-list-view-leaf.is-displacement-normal{ + transition-delay:0s; + transition-duration:0s; + } +} +.block-editor-list-view-leaf.is-displacement-up{ + transform:translateY(-36px); + transition:transform .2s; +} +@media (prefers-reduced-motion:reduce){ + .block-editor-list-view-leaf.is-displacement-up{ + transition-delay:0s; + transition-duration:0s; + } +} +.block-editor-list-view-leaf.is-displacement-down{ + transform:translateY(36px); + transition:transform .2s; +} +@media (prefers-reduced-motion:reduce){ + .block-editor-list-view-leaf.is-displacement-down{ + transition-delay:0s; + transition-duration:0s; + } +} +.block-editor-list-view-leaf.is-after-dragged-blocks{ + transform:translateY(calc(var(--wp-admin--list-view-dragged-items-height, 36px)*-1)); + transition:transform .2s; +} +@media (prefers-reduced-motion:reduce){ + .block-editor-list-view-leaf.is-after-dragged-blocks{ + transition-delay:0s; + transition-duration:0s; + } +} +.block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-up{ + transform:translateY(calc(-36px + var(--wp-admin--list-view-dragged-items-height, 36px)*-1)); + transition:transform .2s; +} +@media (prefers-reduced-motion:reduce){ + .block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-up{ + transition-delay:0s; + transition-duration:0s; + } +} +.block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-down{ + transform:translateY(calc(36px + var(--wp-admin--list-view-dragged-items-height, 36px)*-1)); + transition:transform .2s; +} +@media (prefers-reduced-motion:reduce){ + .block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-down{ + transition-delay:0s; + transition-duration:0s; + } +} +.block-editor-list-view-leaf.is-dragging{ + left:0; + opacity:0; + pointer-events:none; + z-index:-9999; +} .block-editor-list-view-leaf .block-editor-list-view-block-contents{ align-items:center; border-radius:2px; @@ -2222,10 +2190,10 @@ padding-left:0; padding-right:0; } -.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus{ +.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus,.block-editor-list-view-leaf.is-nesting .block-editor-list-view-block-contents{ box-shadow:none; } -.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after{ +.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after,.block-editor-list-view-leaf.is-nesting .block-editor-list-view-block-contents:after{ border-radius:inherit; bottom:0; box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); @@ -2237,19 +2205,13 @@ top:0; z-index:2; } -.is-dragging-components-draggable .block-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after{ - box-shadow:none; -} .block-editor-list-view-leaf.has-single-cell .block-editor-list-view-block-contents:focus:after{ right:0; } -.block-editor-list-view-leaf .block-editor-list-view-block__menu:focus{ +.block-editor-list-view-leaf .block-editor-list-view-block__menu:focus,.block-editor-list-view-leaf.is-nesting .block-editor-list-view__menu{ box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); z-index:1; } -.is-dragging-components-draggable .block-editor-list-view-leaf .block-editor-list-view-block__menu:focus{ - box-shadow:none; -} .block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents{ animation:edit-post__fade-in-animation .2s ease-out 0s; animation-fill-mode:forwards; @@ -2388,11 +2350,16 @@ box-shadow:0 0 0 2px var(--wp-admin-theme-color); } +.block-editor-list-view-draggable-chip{ + opacity:.8; +} + .block-editor-list-view-appender__cell .block-editor-list-view-appender__container,.block-editor-list-view-appender__cell .block-editor-list-view-block__contents-container,.block-editor-list-view-block__contents-cell .block-editor-list-view-appender__container,.block-editor-list-view-block__contents-cell .block-editor-list-view-block__contents-container{ display:flex; } .block-editor-list-view__expander{ + cursor:pointer; height:24px; margin-left:4px; width:24px; @@ -2475,6 +2442,22 @@ height:4px; } +.block-editor-list-view-drop-indicator--preview{ + pointer-events:none; +} +.block-editor-list-view-drop-indicator--preview .components-popover__content{ + overflow:hidden !important; +} +.block-editor-list-view-drop-indicator--preview .block-editor-list-view-drop-indicator__line{ + background:rgba(var(--wp-admin-theme-color--rgb), .04); + border-radius:4px; + height:36px; + overflow:hidden; +} +.block-editor-list-view-drop-indicator--preview .block-editor-list-view-drop-indicator__line--darker{ + background:rgba(var(--wp-admin-theme-color--rgb), .09); +} + .block-editor-list-view-placeholder{ height:36px; margin:0; @@ -2511,6 +2494,7 @@ .block-editor-media-flow__url-input.has-siblings{ border-top:1px solid #1e1e1e; margin-top:8px; + padding-bottom:8px; } .block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label{ display:block; @@ -2541,8 +2525,7 @@ width:100%; } .block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-actions{ - right:4px; - top:0; + padding:8px 0 0; } .block-editor-media-flow__error{ @@ -2911,7 +2894,7 @@ box-shadow:none; } .block-editor-url-popover .components-button.has-icon:not(:disabled):focus>svg{ - box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 4px #fff; + box-shadow:inset 0 0 0 1px var(--wp-components-color-background, #fff), 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); outline:2px solid transparent; } @@ -3150,27 +3133,45 @@ border-right:none; } -@media (min-width:782px){ - .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group{ - border-right:none; - } - .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar:after{ - background-color:#ddd; - content:""; - margin-bottom:12px; - margin-left:8px; - margin-top:12px; - width:1px; - } - .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar .components-toolbar-group.components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group .components-toolbar-group.components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar>:last-child .components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar>:last-child .components-toolbar:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar>:last-child:after{ - display:none; - } +.block-editor-block-contextual-toolbar{ + background-color:#fff; + display:block; + flex-shrink:3; + position:sticky; + top:0; + width:100%; + z-index:31; } -.block-editor-block-contextual-toolbar.has-parent:not(.is-fixed){ - margin-left:56px; +.block-editor-block-contextual-toolbar.components-accessible-toolbar{ + border:none; + border-bottom:1px solid #e0e0e0; + border-radius:0; } -.show-icon-labels .block-editor-block-contextual-toolbar.has-parent:not(.is-fixed){ - margin-left:0; +.block-editor-block-contextual-toolbar .block-editor-block-toolbar{ + overflow:auto; + overflow-y:hidden; +} +.block-editor-block-contextual-toolbar .block-editor-block-toolbar>:last-child .components-toolbar-group:after,.block-editor-block-contextual-toolbar .block-editor-block-toolbar>:last-child .components-toolbar:after,.block-editor-block-contextual-toolbar .block-editor-block-toolbar>:last-child:after{ + display:none; +} +.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar-group{ + border-right-color:#e0e0e0; +} +.block-editor-block-contextual-toolbar>.block-editor-block-toolbar{ + flex-grow:0; + width:auto; +} +.block-editor-block-contextual-toolbar .block-editor-block-parent-selector{ + margin-bottom:-1px; + margin-top:-1px; + position:relative; +} +.block-editor-block-contextual-toolbar .block-editor-block-parent-selector:after{ + bottom:16px; + content:"·"; + font-size:16px; + position:absolute; + right:0; } .block-editor-block-toolbar__block-controls .block-editor-block-switcher .components-dropdown-menu__toggle .block-editor-block-icon,.block-editor-block-toolbar__block-controls .block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{ @@ -3215,16 +3216,35 @@ min-width:0 !important; width:0 !important; } -.show-icon-labels .block-editor-block-parent-selector__button{ +.show-icon-labels .block-editor-block-parent-selector .block-editor-block-parent-selector__button{ + text-wrap:nowrap; border-bottom-right-radius:0; border-top-right-radius:0; + padding-left:12px; + padding-right:12px; } -.show-icon-labels .block-editor-block-parent-selector__button .block-editor-block-icon{ +.show-icon-labels .block-editor-block-parent-selector .block-editor-block-parent-selector__button .block-editor-block-icon{ width:0; } .show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container{ width:auto; } +@media (min-width:600px){ + .show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container{ + position:relative; + } + .show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container:before{ + background:#1e1e1e; + content:""; + height:1px; + left:50%; + margin-top:-.5px; + position:absolute; + top:50%; + transform:translate(-50%); + width:100%; + } +} .show-icon-labels .block-editor-block-mover.is-horizontal .block-editor-block-mover-button,.show-icon-labels .block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container{ padding-left:6px; padding-right:6px; @@ -3234,48 +3254,21 @@ padding-right:8px; } .show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-mover{ - border-left:1px solid #1e1e1e; + border-left:1px solid #ddd; margin-left:6px; margin-right:-6px; white-space:nowrap; } -.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar__block-controls .block-editor-block-mover{ - border-left-color:#e0e0e0; -} .show-icon-labels .block-editor-block-mover .block-editor-block-mover__drag-handle.has-icon{ padding-left:12px; padding-right:12px; } -.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-mover__move-button-container{ - border-width:0; -} -@media (min-width:600px){ - .show-icon-labels .is-up-button.is-up-button.is-up-button{ - border-radius:0; - margin-right:0; - order:1; - } - .show-icon-labels .block-editor-block-mover__move-button-container{ - border-left:1px solid #1e1e1e; - } - .show-icon-labels .is-down-button.is-down-button.is-down-button{ - order:2; - } - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-mover__move-button-container:before{ - background:#ddd; - } -} .show-icon-labels .block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button{ width:auto; } .show-icon-labels .components-toolbar,.show-icon-labels .components-toolbar-group{ flex-shrink:1; } -@media (min-width:782px){ - .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .components-toolbar,.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .components-toolbar-group{ - flex-shrink:0; - } -} .show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button+.components-button{ margin-left:6px; } @@ -3300,6 +3293,7 @@ flex-direction:column; gap:16px; height:100%; + overflow-y:hidden; position:relative; } .block-editor-inserter__main-area.show-as-tabs{ @@ -3335,7 +3329,7 @@ .block-editor-inserter__popover .block-editor-inserter__menu{ margin:-12px; } -.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__tabs .components-tab-panel__tabs{ +.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__tabs div[role=tablist]{ top:60px; } .block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__main-area{ @@ -3393,19 +3387,19 @@ flex-grow:1; overflow:hidden; } -.block-editor-inserter__tabs .components-tab-panel__tabs{ +.block-editor-inserter__tabs div[role=tablist]{ border-bottom:1px solid #ddd; } -.block-editor-inserter__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{ +.block-editor-inserter__tabs div[role=tablist] button[role=tab]{ flex-grow:1; margin-bottom:-1px; } -.block-editor-inserter__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item[id$=reusable]{ +.block-editor-inserter__tabs div[role=tablist] button[role=tab][id$=reusable]{ flex-grow:inherit; padding-left:16px; padding-right:16px; } -.block-editor-inserter__tabs .components-tab-panel__tab-content{ +.block-editor-inserter__tabs div[role=tabpanel]{ display:flex; flex-direction:column; flex-grow:1; @@ -3482,28 +3476,29 @@ margin-right:8px; } +.block-editor-inserter__preview-container__popover{ + top:16px !important; +} + .block-editor-inserter__preview-container{ - background:#fff; - border:1px solid #ddd; - border-radius:2px; display:none; - left:calc(100% + 16px); max-height:calc(100% - 32px); overflow-y:hidden; - position:absolute; - top:16px; - width:300px; + padding:16px; + width:280px; } @media (min-width:782px){ .block-editor-inserter__preview-container{ display:block; } } -.block-editor-inserter__preview-container .block-editor-block-card{ - padding:16px; +.block-editor-inserter__preview-container .block-editor-block-preview__container{ + height:100%; } -.block-editor-inserter__preview-container .block-editor-block-card__title{ - font-size:13px; +.block-editor-inserter__preview-container .block-editor-block-card{ + padding-bottom:4px; + padding-left:0; + padding-right:0; } .block-editor-inserter__patterns-explore-button.components-button{ @@ -3534,12 +3529,9 @@ right:0; top:0; } -.block-editor-block-patterns-explorer__sidebar,.block-editor-block-patterns-explorer__sidebar nav,.block-editor-inserter__block-patterns-tabs-container,.block-editor-inserter__block-patterns-tabs-container nav{ +.block-editor-inserter__block-patterns-tabs-container,.block-editor-inserter__block-patterns-tabs-container nav{ height:100%; } -.block-editor-block-patterns-explorer__sidebar .block-editor-block-patterns__source-filter select.components-select-control__input,.block-editor-inserter__block-patterns-tabs-container .block-editor-block-patterns__source-filter select.components-select-control__input{ - height:40px; -} .block-editor-inserter__block-patterns-tabs{ display:flex; @@ -3551,6 +3543,9 @@ .block-editor-inserter__block-patterns-tabs div[role=listitem]:last-child{ margin-top:auto; } +.block-editor-inserter__block-patterns-tabs .block-editor-inserter__patterns-category{ + padding-right:4px; +} .block-editor-inserter__patterns-category-dialog{ background:#f0f0f0; @@ -3612,6 +3607,7 @@ .block-editor-inserter__preview-content-missing{ align-items:center; background:#f0f0f0; + border-radius:2px; color:#757575; display:flex; flex:1; @@ -3693,7 +3689,7 @@ overflow-y:scroll; padding:24px 32px 32px; position:absolute; - top:76px; + top:72px; width:280px; } .block-editor-block-patterns-explorer__sidebar__categories-list__item{ @@ -3763,17 +3759,20 @@ .block-editor-inserter__media-tabs div[role=listitem]:last-child{ margin-top:auto; } -.block-editor-inserter__media-tabs__media-category.is-selected{ +.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category{ + padding-right:4px; +} +.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected{ color:var(--wp-admin-theme-color); position:relative; } -.block-editor-inserter__media-tabs__media-category.is-selected .components-flex-item{ +.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected .components-flex-item{ filter:brightness(.95); } -.block-editor-inserter__media-tabs__media-category.is-selected svg{ +.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected svg{ fill:var(--wp-admin-theme-color); } -.block-editor-inserter__media-tabs__media-category.is-selected:after{ +.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected:after{ background:var(--wp-admin-theme-color); border-radius:2px; bottom:0; @@ -3955,50 +3954,6 @@ height:40px; } -.block-editor-post-preview__dropdown{ - padding:0; -} - -.block-editor-post-preview__button-resize.block-editor-post-preview__button-resize{ - padding-left:40px; -} -.block-editor-post-preview__button-resize.block-editor-post-preview__button-resize.has-icon{ - padding-left:8px; -} - -.block-editor-post-preview__dropdown-content.edit-post-post-preview-dropdown .components-menu-group:first-child{ - padding-bottom:8px; -} -.block-editor-post-preview__dropdown-content.edit-post-post-preview-dropdown .components-menu-group:last-child{ - margin-bottom:0; -} -.block-editor-post-preview__dropdown-content .components-menu-group+.components-menu-group{ - padding:8px; -} - -@media (min-width:600px){ - .edit-post-header__settings .editor-post-preview,.edit-site-header-edit-mode__actions .editor-post-preview{ - display:none; - } - .edit-post-header.has-reduced-ui .edit-post-header__settings .block-editor-post-preview__button-toggle,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-save-draft,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-saved-state{ - transition:opacity .1s linear; - } -} -@media (min-width:600px) and (prefers-reduced-motion:reduce){ - .edit-post-header.has-reduced-ui .edit-post-header__settings .block-editor-post-preview__button-toggle,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-save-draft,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-saved-state{ - transition-delay:0s; - transition-duration:0s; - } -} -@media (min-width:600px){ - .edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .block-editor-post-preview__button-toggle,.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .editor-post-save-draft,.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .editor-post-saved-state{ - opacity:0; - } - .edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .block-editor-post-preview__button-toggle.is-opened{ - opacity:1; - } -} - .spacing-sizes-control .spacing-sizes-control__custom-value-input,.spacing-sizes-control .spacing-sizes-control__label{ margin-bottom:0; } diff --git a/wp-includes/css/dist/block-editor/style.min.css b/wp-includes/css/dist/block-editor/style.min.css index 66ab8acf39..85f61621bb 100644 --- a/wp-includes/css/dist/block-editor/style.min.css +++ b/wp-includes/css/dist/block-editor/style.min.css @@ -1 +1 @@ -@charset "UTF-8";:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-editor-autocompleters__block{white-space:nowrap}.block-editor-autocompleters__block .block-editor-block-icon{margin-right:8px}.block-editor-autocompleters__link{white-space:nowrap}.block-editor-autocompleters__link .block-editor-block-icon{margin-right:8px}.block-editor-block-alignment-control__menu-group .components-menu-item__info{margin-top:0}.block-editor-block-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.block-editor-block-icon.has-colors svg{fill:currentColor}@media (forced-colors:active){.block-editor-block-icon.has-colors svg{fill:CanvasText}}.block-editor-block-icon svg{max-height:24px;max-width:24px;min-height:20px;min-width:20px}.block-editor-block-inspector p:not(.components-base-control__help){margin-top:0}.block-editor-block-inspector h2,.block-editor-block-inspector h3{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.block-editor-block-inspector .components-base-control{margin-bottom:24px}.block-editor-block-inspector .components-base-control:last-child{margin-bottom:8px}.block-editor-block-inspector .components-focal-point-picker-control .components-base-control,.block-editor-block-inspector .components-query-controls .components-base-control,.block-editor-block-inspector .components-range-control .components-base-control{margin-bottom:0}.block-editor-block-inspector .components-panel__body{border:none;border-top:1px solid #e0e0e0;margin-top:-1px}.block-editor-block-inspector .block-editor-block-card{padding:16px}.block-editor-block-inspector__no-block-tools,.block-editor-block-inspector__no-blocks{background:#fff;display:block;font-size:13px;padding:32px 16px;text-align:center}.block-editor-block-inspector__no-block-tools{border-top:1px solid #ddd}.block-editor-block-inspector__tab-item{flex:1 1 0px}.block-editor-block-list__insertion-point{bottom:0;left:0;position:absolute;right:0;top:0}.block-editor-block-list__insertion-point-indicator{background:var(--wp-admin-theme-color);border-radius:2px;opacity:0;position:absolute;transform-origin:center;will-change:transform,opacity}.block-editor-block-list__insertion-point.is-vertical>.block-editor-block-list__insertion-point-indicator{height:4px;top:calc(50% - 2px);width:100%}.block-editor-block-list__insertion-point.is-horizontal>.block-editor-block-list__insertion-point-indicator{bottom:0;left:calc(50% - 2px);top:0;width:4px}.block-editor-block-list__insertion-point-inserter{display:none;justify-content:center;left:calc(50% - 12px);position:absolute;top:calc(50% - 12px);will-change:transform}@media (min-width:480px){.block-editor-block-list__insertion-point-inserter{display:flex}}.block-editor-block-list__block-side-inserter-popover .components-popover__content>div{pointer-events:none}.block-editor-block-list__block-side-inserter-popover .components-popover__content>div>*{pointer-events:all}.block-editor-block-list__empty-block-inserter .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon{background:#1e1e1e;border-radius:2px;color:#fff;height:24px;min-width:24px;padding:0}.block-editor-block-list__empty-block-inserter .block-editor-inserter__toggle.components-button.has-icon:hover,.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon:hover{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon{background:var(--wp-admin-theme-color)}.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon:hover{background:#1e1e1e}.block-editor-block-contextual-toolbar{background-color:#fff;border:1px solid #1e1e1e;border-radius:2px;display:inline-flex}.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar-group{border-right-color:#1e1e1e}.block-editor-block-contextual-toolbar.is-fixed{border:none;border-bottom:1px solid #e0e0e0;border-radius:0;overflow:hidden}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar{overflow:auto;overflow-y:hidden}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group{border-right-color:#e0e0e0}.block-editor-block-contextual-toolbar.is-collapsed:after{background:linear-gradient(90deg,#fff,transparent);content:"";height:100%;left:100%;position:absolute;width:48px}@media (min-width:782px){.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar{flex-grow:0;width:auto}.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar:before{background-color:#ddd;content:"";height:24px;left:-2px;margin-right:0;margin-top:12px;position:relative;top:-1px;width:1px}.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar{border:none}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar .components-button.has-icon:after{content:attr(aria-label);font-size:12px}.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar:before{background-color:#ddd;content:"";height:24px;left:0;margin-right:8px;margin-top:12px;position:relative;top:-1px;width:1px}.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar{border:none}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar{width:256px}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar .components-button.has-icon:after{content:attr(aria-label);font-size:12px}.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-expand-fixed-toolbar:before{background-color:#ddd;content:"";height:24px;left:-8px;margin-bottom:12px;margin-top:12px;position:relative;top:-1px;width:1px}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button:after{left:0}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar__block-controls .block-editor-block-mover{border-left:none}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar__block-controls .block-editor-block-mover:before{background-color:#ddd;content:"";margin-bottom:12px;margin-top:12px;position:relative;width:1px}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button{border:0;padding-left:6px;padding-right:6px;position:relative;top:-1px}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button:after{bottom:4px;content:"·";font-size:16px;left:46px;line-height:40px;position:absolute}.block-editor-block-contextual-toolbar:not(.is-fixed) .block-editor-block-parent-selector{left:-57px;position:absolute;top:-1px}.show-icon-labels .block-editor-block-contextual-toolbar:not(.is-fixed) .block-editor-block-parent-selector{left:auto;margin-bottom:-1px;margin-left:-1px;margin-top:-1px;position:relative;top:auto}}.block-editor-block-list__block-selection-button{background-color:#1e1e1e;border-radius:2px;display:inline-flex;font-size:13px;height:48px;padding:0 12px;z-index:22}.block-editor-block-list__block-selection-button .block-editor-block-list__block-selection-button__content{align-items:center;display:inline-flex;margin:auto}.block-editor-block-list__block-selection-button .block-editor-block-list__block-selection-button__content>.components-flex__item{margin-right:6px}.block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle{cursor:grab;height:24px;margin-left:-2px;min-width:24px;padding:0}.block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle svg{min-height:18px;min-width:18px}.block-editor-block-list__block-selection-button .block-editor-block-icon{color:#fff;font-size:13px;height:48px}.block-editor-block-list__block-selection-button .components-button{color:#fff;display:flex;height:48px;min-width:36px}.block-editor-block-list__block-selection-button .components-button:focus{border:none;box-shadow:none}.block-editor-block-list__block-selection-button .components-button:active,.block-editor-block-list__block-selection-button .components-button[aria-disabled=true]:hover{color:#fff}.block-editor-block-list__block-selection-button .block-selection-button_select-button.components-button{padding:0}.block-editor-block-list__block-selection-button .block-editor-block-mover{background:unset;border:none}@keyframes hide-during-dragging{to{position:fixed;transform:translate(9999px,9999px)}}.components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar,.components-popover.block-editor-block-list__block-popover .block-editor-block-list__block-selection-button{margin-bottom:12px;margin-top:12px;pointer-events:all}.components-popover.block-editor-block-list__block-popover.is-insertion-point-visible{visibility:hidden}.is-dragging-components-draggable .components-popover.block-editor-block-list__block-popover{animation:hide-during-dragging 1ms linear forwards;opacity:0}.is-dragging-components-draggable .components-tooltip{display:none}.block-editor-block-lock-modal{z-index:1000001}@media (min-width:600px){.block-editor-block-lock-modal .components-modal__frame{max-width:480px}}.block-editor-block-lock-modal__checklist{margin:0}.block-editor-block-lock-modal__options-title{padding:12px 0}.block-editor-block-lock-modal__options-title .components-checkbox-control__label{font-weight:600}.block-editor-block-lock-modal__checklist-item{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:0;padding:12px 0 12px 32px}.block-editor-block-lock-modal__checklist-item .block-editor-block-lock-modal__lock-icon{fill:#1e1e1e;flex-shrink:0;margin-right:12px}.block-editor-block-lock-modal__checklist-item:hover{background-color:#f0f0f0;border-radius:2px}.block-editor-block-lock-modal__template-lock{border-top:1px solid #ddd;margin-top:16px;padding:12px 0}.block-editor-block-lock-modal__actions{margin-top:24px}.block-editor-block-lock-toolbar .components-button.has-icon{min-width:36px!important}.block-editor-block-toolbar__block-controls .block-editor-block-lock-toolbar{margin-left:-6px!important}.show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-lock-toolbar{border-left:1px solid #1e1e1e;margin-left:6px!important;margin-right:-6px}.block-editor-block-breadcrumb{list-style:none;margin:0;padding:0}.block-editor-block-breadcrumb li{display:inline-flex;margin:0}.block-editor-block-breadcrumb li .block-editor-block-breadcrumb__separator{fill:currentColor;margin-left:-4px;margin-right:-4px;transform:scaleX(1)}.block-editor-block-breadcrumb li:last-child .block-editor-block-breadcrumb__separator{display:none}.block-editor-block-breadcrumb__button.components-button{height:24px;line-height:24px;padding:0;position:relative}.block-editor-block-breadcrumb__button.components-button:hover:not(:disabled){box-shadow:none;text-decoration:underline}.block-editor-block-breadcrumb__button.components-button:focus{box-shadow:none}.block-editor-block-breadcrumb__button.components-button:focus:before{border-radius:2px;bottom:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";display:block;left:1px;outline:2px solid transparent;position:absolute;right:1px;top:1px}.block-editor-block-breadcrumb__current{cursor:default}.block-editor-block-breadcrumb__button.components-button,.block-editor-block-breadcrumb__current{color:#1e1e1e;font-size:inherit;padding:0 8px}.block-editor-block-card{align-items:flex-start;display:flex}.block-editor-block-card__content{flex-grow:1;margin-bottom:4px}.block-editor-block-card__title{font-weight:500}.block-editor-block-card__title.block-editor-block-card__title{line-height:24px;margin:0 0 4px}.block-editor-block-card__description{font-size:13px}.block-editor-block-card .block-editor-block-icon{flex:0 0 24px;height:24px;margin-left:0;margin-right:12px;width:24px}.block-editor-block-card.is-synced .block-editor-block-icon{color:var(--wp-block-synced-color)}.block-editor-block-compare{height:auto}.block-editor-block-compare__wrapper{display:flex;padding-bottom:16px}.block-editor-block-compare__wrapper>div{display:flex;flex-direction:column;justify-content:space-between;max-width:600px;min-width:200px;padding:0 16px 0 0;width:50%}.block-editor-block-compare__wrapper>div button{float:right}.block-editor-block-compare__wrapper .block-editor-block-compare__converted{border-left:1px solid #ddd;padding-left:15px;padding-right:0}.block-editor-block-compare__wrapper .block-editor-block-compare__html{border-bottom:1px solid #ddd;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:12px;line-height:1.7;padding-bottom:15px}.block-editor-block-compare__wrapper .block-editor-block-compare__html span{background-color:#e6ffed;padding-bottom:3px;padding-top:3px}.block-editor-block-compare__wrapper .block-editor-block-compare__html span.block-editor-block-compare__added{background-color:#acf2bd}.block-editor-block-compare__wrapper .block-editor-block-compare__html span.block-editor-block-compare__removed{background-color:#cc1818}.block-editor-block-compare__wrapper .block-editor-block-compare__preview{padding:16px 0 0}.block-editor-block-compare__wrapper .block-editor-block-compare__preview p{font-size:12px;margin-top:0}.block-editor-block-compare__wrapper .block-editor-block-compare__action{margin-top:16px}.block-editor-block-compare__wrapper .block-editor-block-compare__heading{font-size:1em;font-weight:400;margin:.67em 0}.block-editor-block-draggable-chip-wrapper{left:0;position:absolute;top:-24px}.block-editor-block-draggable-chip{background-color:#1e1e1e;border-radius:2px;box-shadow:0 6px 8px rgba(0,0,0,.3);color:#fff;cursor:grabbing;display:inline-flex;height:48px;padding:0 13px;-webkit-user-select:none;user-select:none;width:max-content}.block-editor-block-draggable-chip svg{fill:currentColor}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content{justify-content:flex-start;margin:auto}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content>.components-flex__item{margin-right:6px}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content>.components-flex__item:last-child{margin-right:0}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content .block-editor-block-icon svg{min-height:18px;min-width:18px}.block-editor-block-draggable-chip .components-flex__item{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.block-editor-block-mover__move-button-container{border:none;display:flex;padding:0}@media (min-width:600px){.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container{flex-direction:column}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container>*{height:24px;min-width:0!important;width:100%}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container>:before{height:calc(100% - 4px)}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-up-button svg{flex-shrink:0;top:5px}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-down-button svg{bottom:5px;flex-shrink:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container{width:48px}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container>*{min-width:0!important;overflow:hidden;width:24px}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container .block-editor-block-mover-button{padding-left:0;padding-right:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-up-button svg{left:5px}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-down-button svg{right:5px}}.block-editor-block-mover__drag-handle{cursor:grab}@media (min-width:600px){.block-editor-block-mover__drag-handle{min-width:0!important;overflow:hidden;width:24px}.block-editor-block-mover .block-editor-block-mover__drag-handle.has-icon.has-icon{padding-left:0;padding-right:0}}.components-button.block-editor-block-mover-button:before{animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards;border-radius:2px;content:"";display:block;height:32px;left:8px;position:absolute;right:8px;z-index:-1}@media (prefers-reduced-motion:reduce){.components-button.block-editor-block-mover-button:before{animation-delay:0s;animation-duration:1ms}}.components-button.block-editor-block-mover-button:focus,.components-button.block-editor-block-mover-button:focus:before,.components-button.block-editor-block-mover-button:focus:enabled{box-shadow:none;outline:none}.components-button.block-editor-block-mover-button:focus-visible:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 4px #fff;outline:2px solid transparent}.block-editor-block-navigation__container{min-width:280px}.block-editor-block-navigation__label{color:#757575;font-size:11px;font-weight:500;margin:0 0 12px;text-transform:uppercase}.block-editor-block-parent-selector{background:#fff;border-radius:2px}.block-editor-block-parent-selector .block-editor-block-parent-selector__button{border:1px solid #1e1e1e;border-radius:2px;height:48px;width:48px}.block-editor-block-patterns-list__list-item{cursor:pointer;margin-bottom:24px;position:relative}.block-editor-block-patterns-list__list-item.is-placeholder{min-height:100px}.block-editor-block-patterns-list__list-item[draggable=true]{cursor:grab}.block-editor-block-patterns-list__item{height:100%}.block-editor-block-patterns-list__item .block-editor-block-preview__container{align-items:center;border-radius:4px;display:flex;overflow:hidden}.block-editor-block-patterns-list__item .block-editor-block-patterns-list__item-title{flex-grow:1;text-align:left}.block-editor-block-patterns-list__item:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px #1e1e1e}.block-editor-block-patterns-list__item:focus .block-editor-block-preview__container{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) #1e1e1e;outline:2px solid transparent;outline-offset:2px}.block-editor-block-patterns-list__item.block-editor-block-patterns-list__list-item-synced:focus .block-editor-block-preview__container,.block-editor-block-patterns-list__item.block-editor-block-patterns-list__list-item-synced:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px var(--wp-block-synced-color),0 15px 25px rgba(0,0,0,.07)}.block-editor-block-patterns-list__item .block-editor-patterns__pattern-details{align-items:center;margin-top:8px}.block-editor-block-patterns-list__item .block-editor-patterns__pattern-icon-wrapper{height:24px;min-width:24px}.block-editor-block-patterns-list__item .block-editor-patterns__pattern-icon-wrapper .block-editor-patterns__pattern-icon{fill:var(--wp-block-synced-color)}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination{border-top:1px solid #2f2f2f;justify-content:center;padding:4px}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination .components-button.is-tertiary{height:32px;justify-content:center;width:auto}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination .components-button.is-tertiary:disabled{background:none;color:#949494}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination .components-button.is-tertiary:hover:not(:disabled){background-color:#757575;color:#fff}.show-icon-labels .block-editor-patterns__grid-pagination,.show-icon-labels .block-editor-patterns__grid-pagination .block-editor-patterns__grid-pagination-next,.show-icon-labels .block-editor-patterns__grid-pagination .block-editor-patterns__grid-pagination-previous{flex-direction:column}.show-icon-labels .block-editor-patterns__grid-pagination .components-button{width:auto}.show-icon-labels .block-editor-patterns__grid-pagination .components-button span{display:none}.show-icon-labels .block-editor-patterns__grid-pagination .components-button:before{content:attr(aria-label)}.components-popover.block-editor-block-popover{margin:0!important;pointer-events:none;position:absolute;z-index:31}.components-popover.block-editor-block-popover .components-popover__content{margin:0!important;min-width:auto;overflow-y:visible;width:max-content}.components-popover.block-editor-block-popover:not(.block-editor-block-popover__inbetween,.block-editor-block-popover__drop-zone,.block-editor-block-list__block-side-inserter-popover) .components-popover__content *{pointer-events:all}.components-popover.block-editor-block-popover__inbetween,.components-popover.block-editor-block-popover__inbetween *{pointer-events:none}.components-popover.block-editor-block-popover__inbetween .is-with-inserter,.components-popover.block-editor-block-popover__inbetween .is-with-inserter *{pointer-events:all}.components-popover.block-editor-block-popover__drop-zone *{pointer-events:none}.components-popover.block-editor-block-popover__drop-zone .block-editor-block-popover__drop-zone-foreground{background-color:var(--wp-admin-theme-color);border-radius:2px;inset:0;position:absolute}.block-editor-block-preview__container{overflow:hidden;position:relative;width:100%}.block-editor-block-preview__container .block-editor-block-preview__content{left:0;margin:0;min-height:auto;overflow:visible;text-align:initial;top:0;transform-origin:top left;width:100%}.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-list__insertion-point,.block-editor-block-preview__container .block-editor-block-preview__content .block-list-appender{display:none}.block-editor-block-preview__container:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.block-editor-block-rename-modal{z-index:1000001}.block-editor-block-settings-menu__popover .components-dropdown-menu__menu{padding:0}.block-editor-block-styles+.default-style-picker__default-switcher{margin-top:16px}.block-editor-block-styles__preview-panel{display:none;z-index:90}@media (min-width:782px){.block-editor-block-styles__preview-panel{display:block}}.block-editor-block-styles__preview-panel .block-editor-inserter__preview-container{left:auto;position:static;right:auto;top:auto}.block-editor-block-styles__preview-panel .block-editor-block-card__title.block-editor-block-card__title{margin:0}.block-editor-block-styles__preview-panel .block-editor-block-icon{display:none}.block-editor-block-styles__variants{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item{box-shadow:inset 0 0 0 1px #ddd;color:#1e1e1e;display:inline-block;width:calc(50% - 4px)}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:hover{box-shadow:inset 0 0 0 1px #ddd;color:var(--wp-admin-theme-color)}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:hover{background-color:#1e1e1e;box-shadow:none}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active .block-editor-block-styles__item-text,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:hover .block-editor-block-styles__item-text{color:#fff}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:focus,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:focus{box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.block-editor-block-styles__variants .block-editor-block-styles__item-text{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-editor-block-styles__block-preview-container,.block-editor-block-styles__block-preview-container *{box-sizing:border-box!important}.block-editor-block-switcher{position:relative}.block-editor-block-switcher .components-button.components-dropdown-menu__toggle.has-icon.has-icon{min-width:36px}.block-editor-block-switcher__no-switcher-icon,.block-editor-block-switcher__toggle{position:relative}.components-button.block-editor-block-switcher__no-switcher-icon,.components-button.block-editor-block-switcher__toggle{display:block;height:48px;margin:0}.components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-icon,.components-button.block-editor-block-switcher__toggle .block-editor-block-icon{margin:auto}.block-editor-block-switcher__toggle-text{margin-left:8px}.show-icon-labels .block-editor-block-switcher__toggle-text{display:none}.show-icon-labels .block-editor-block-toolbar .block-editor-block-switcher .components-button.has-icon:after{font-size:14px}.components-button.block-editor-block-switcher__no-switcher-icon{display:flex}.components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{margin-left:auto;margin-right:auto;min-width:24px!important}.components-button.block-editor-block-switcher__no-switcher-icon:disabled{opacity:1}.components-button.block-editor-block-switcher__no-switcher-icon:disabled,.components-button.block-editor-block-switcher__no-switcher-icon:disabled .block-editor-block-icon.has-colors{color:#1e1e1e}.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon .block-editor-block-icon,.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__toggle.has-icon.has-icon .block-editor-block-icon,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon .block-editor-block-icon,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__toggle.has-icon.has-icon .block-editor-block-icon{align-items:center;display:flex;height:100%;margin:0 auto;min-width:100%;position:relative}.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon:before,.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__toggle.has-icon.has-icon:before,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon:before,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__toggle.has-icon.has-icon:before{bottom:8px;left:8px;right:8px;top:8px}.components-popover.block-editor-block-switcher__popover .components-popover__content{min-width:300px}.block-editor-block-switcher__popover__preview__parent .block-editor-block-switcher__popover__preview__container{left:calc(100% + 16px);position:absolute;top:-12px}.block-editor-block-switcher__preview__popover{display:none;overflow:hidden}.block-editor-block-switcher__preview__popover.components-popover{margin-top:11px}@media (min-width:782px){.block-editor-block-switcher__preview__popover{display:block}}.block-editor-block-switcher__preview__popover .components-popover__content{background:#fff;border:1px solid #1e1e1e;border-radius:2px;box-shadow:none;outline:none;overflow:auto;width:300px}.block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview{margin:16px 0;max-height:468px;overflow:hidden;padding:0 16px}.block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview.is-pattern-list-preview{overflow:unset}.block-editor-block-switcher__preview-title{color:#757575;font-size:11px;font-weight:500;margin-bottom:12px;text-transform:uppercase}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon{min-width:36px}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle{height:48px}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-icon,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-switcher__transform,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle .block-editor-block-icon,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle .block-editor-block-switcher__transform{height:48px;width:48px}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-switcher__transform,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle .block-editor-block-switcher__transform{padding:12px}.block-editor-block-switcher__preview-patterns-container{padding-bottom:16px}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item{margin-top:16px}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-preview__container{cursor:pointer}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item{border:1px solid transparent;border-radius:2px;height:100%;position:relative;transition:all .05s ease-in-out}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item:focus,.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item:hover{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item:hover{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) #1e1e1e}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item .block-editor-block-switcher__preview-patterns-container-list__item-title{cursor:pointer;font-size:12px;padding:4px;text-align:center}.block-editor-block-types-list>[role=presentation]{display:flex;flex-wrap:wrap;overflow:hidden}.block-editor-block-pattern-setup{align-items:flex-start;border-radius:2px;display:flex;flex-direction:column;justify-content:center;width:100%}.block-editor-block-pattern-setup.view-mode-grid{padding-top:4px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__toolbar{justify-content:center}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container{column-count:2;column-gap:24px;display:block;padding:0 32px;width:100%}@media (min-width:1440px){.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container{column-count:3}}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-preview__container,.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container div[role=button]{cursor:pointer}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px var(--wp-admin-theme-color)}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:focus .block-editor-block-preview__container{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:2px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:focus .block-editor-block-pattern-setup-list__item-title,.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:hover .block-editor-block-pattern-setup-list__item-title{color:var(--wp-admin-theme-color)}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item{break-inside:avoid-column;margin-bottom:24px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item .block-editor-block-pattern-setup-list__item-title{cursor:pointer;font-size:12px;padding-top:8px;text-align:center}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item .block-editor-block-preview__container{border:1px solid #ddd;border-radius:2px;min-height:100px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item .block-editor-block-preview__content{width:100%}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar{align-items:center;align-self:flex-end;background-color:#fff;border-top:1px solid #ddd;bottom:0;box-sizing:border-box;color:#1e1e1e;display:flex;flex-direction:row;height:60px;justify-content:space-between;margin:0;padding:16px;position:absolute;text-align:left;width:100%}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__display-controls{display:flex}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__actions,.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__navigation{display:flex;width:calc(50% - 36px)}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__actions{justify-content:flex-end}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container{box-sizing:border-box;display:flex;flex-direction:column;height:100%;width:100%}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container{height:100%;list-style:none;margin:0;overflow:hidden;padding:0;position:relative;transform-style:preserve-3d}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container *{box-sizing:border-box}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide{background-color:#fff;height:100%;margin:auto;padding:0;position:absolute;top:0;transition:transform .5s,z-index .5s;width:100%;z-index:100}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide.active-slide{opacity:1;position:relative;z-index:102}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide.previous-slide{transform:translateX(-100%);z-index:101}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide.next-slide{transform:translateX(100%);z-index:101}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .block-list-appender{display:none}.block-editor-block-pattern-setup__carousel,.block-editor-block-pattern-setup__grid{width:100%}.block-editor-block-variation-transforms{padding:0 16px 16px 52px;width:100%}.block-editor-block-variation-transforms .components-dropdown-menu__toggle{border:1px solid #757575;border-radius:2px;justify-content:left;min-height:30px;padding:6px 12px;position:relative;text-align:left;width:100%}.block-editor-block-variation-transforms .components-dropdown-menu__toggle.components-dropdown-menu__toggle{padding-right:24px}.block-editor-block-variation-transforms .components-dropdown-menu__toggle:focus:not(:disabled){border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 calc(var(--wp-admin-border-width-focus) - 1px) var(--wp-admin-theme-color)}.block-editor-block-variation-transforms .components-dropdown-menu__toggle svg{height:100%;padding:0;position:absolute;right:0;top:0}.block-editor-block-variation-transforms__popover .components-popover__content{min-width:230px}.components-border-radius-control{margin-bottom:12px}.components-border-radius-control legend{margin-bottom:8px}.components-border-radius-control .components-border-radius-control__wrapper{align-items:flex-start;display:flex;justify-content:space-between}.components-border-radius-control .components-border-radius-control__wrapper .components-border-radius-control__unit-control{flex-shrink:0;margin-bottom:0;margin-right:16px;width:calc(50% - 8px)}.components-border-radius-control .components-border-radius-control__wrapper .components-border-radius-control__range-control{flex:1;margin-right:12px}.components-border-radius-control .components-border-radius-control__wrapper .components-border-radius-control__range-control>div{align-items:center;display:flex;height:40px}.components-border-radius-control .components-border-radius-control__wrapper>span{flex:0 0 auto}.components-border-radius-control .components-border-radius-control__input-controls-wrapper{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-right:12px}.components-border-radius-control .component-border-radius-control__linked-button{display:flex;justify-content:center;margin-top:8px}.components-border-radius-control .component-border-radius-control__linked-button svg{margin-right:0}.block-editor-color-gradient-control .block-editor-color-gradient-control__color-indicator{margin-bottom:12px}.block-editor-color-gradient-control__fieldset{min-width:0}.block-editor-color-gradient-control__tabs .block-editor-color-gradient-control__panel{padding:16px}.block-editor-panel-color-gradient-settings.block-editor-panel-color-gradient-settings,.block-editor-panel-color-gradient-settings.block-editor-panel-color-gradient-settings>div:not(:first-of-type){display:block}@media screen and (min-width:782px){.block-editor-panel-color-gradient-settings .components-circular-option-picker__swatches{display:grid;grid-template-columns:repeat(6,28px);justify-content:space-between}}.block-editor-block-inspector .block-editor-panel-color-gradient-settings .components-base-control{margin-bottom:inherit}.block-editor-panel-color-gradient-settings__dropdown-content .block-editor-color-gradient-control__panel{padding:16px;width:260px}.block-editor-panel-color-gradient-settings__color-indicator{background:linear-gradient(-45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0)}.block-editor-tools-panel-color-gradient-settings__item{border-bottom:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #ddd;max-width:100%;padding:0}.block-editor-tools-panel-color-gradient-settings__item.first{border-top:1px solid #ddd;border-top-left-radius:2px;border-top-right-radius:2px;margin-top:24px}.block-editor-tools-panel-color-gradient-settings__item.last{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.block-editor-tools-panel-color-gradient-settings__item>div,.block-editor-tools-panel-color-gradient-settings__item>div>button{border-radius:inherit}.block-editor-tools-panel-color-gradient-settings__dropdown{display:block;padding:0}.block-editor-tools-panel-color-gradient-settings__dropdown>button{height:auto;padding-bottom:10px;padding-top:10px;text-align:left}.block-editor-tools-panel-color-gradient-settings__dropdown>button.is-open{background:#f0f0f0;color:var(--wp-admin-theme-color)}.block-editor-tools-panel-color-gradient-settings__dropdown .block-editor-panel-color-gradient-settings__color-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-panel-color-gradient-settings__dropdown{width:100%}.block-editor-panel-color-gradient-settings__dropdown .component-color-indicator{flex-shrink:0}.block-editor-contrast-checker>.components-notice{margin:0}.block-editor-date-format-picker{margin-bottom:16px}.block-editor-date-format-picker__custom-format-select-control__custom-option{border-top:1px solid #ddd}.block-editor-date-format-picker__custom-format-select-control__custom-option.has-hint{grid-template-columns:auto 30px}.block-editor-date-format-picker__custom-format-select-control__custom-option .components-custom-select-control__item-hint{grid-row:2;text-align:left}.block-editor-duotone-control__popover>.components-popover__content{padding:16px;width:280px}.block-editor-duotone-control__popover .components-menu-group__label{padding:0}.block-editor-duotone-control__popover .components-circular-option-picker__swatches{display:grid;gap:12px;grid-template-columns:repeat(6,28px);justify-content:space-between}.block-editor-duotone-control__description{font-size:12px;margin:16px 0}.block-editor-duotone-control__unset-indicator{background:linear-gradient(-45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0)}.components-font-appearance-control ul li{color:#1e1e1e;text-transform:capitalize}.block-editor-global-styles-effects-panel__toggle-icon{fill:currentColor}.block-editor-global-styles-effects-panel__shadow-popover-container{width:230px}.block-editor-global-styles-effects-panel__shadow-dropdown,.block-editor-global-styles-filters-panel__dropdown{display:block;padding:0}.block-editor-global-styles-effects-panel__shadow-dropdown button,.block-editor-global-styles-filters-panel__dropdown button{padding:8px;width:100%}.block-editor-global-styles-effects-panel__shadow-dropdown button.is-open,.block-editor-global-styles-filters-panel__dropdown button.is-open{background-color:#f0f0f0}.block-editor-global-styles-effects-panel__shadow-indicator-wrapper{align-items:center;display:flex;justify-content:center;overflow:hidden;padding:6px}.block-editor-global-styles-effects-panel__shadow-indicator{border:1px solid #e0e0e0;border-radius:2px;color:#2f2f2f;cursor:pointer;height:24px;padding:0;width:24px}.block-editor-global-styles-advanced-panel__custom-css-input textarea{direction:ltr;font-family:Menlo,Consolas,monaco,monospace}.block-editor-global-styles-advanced-panel__custom-css-validation-wrapper{bottom:16px;position:absolute;right:24px}.block-editor-global-styles-advanced-panel__custom-css-validation-icon{fill:#cc1818}.block-editor-height-control{border:0;margin:0;padding:0}.block-editor-image-size-control{margin-bottom:1em}.block-editor-image-size-control .block-editor-image-size-control__height,.block-editor-image-size-control .block-editor-image-size-control__width{margin-bottom:1.115em}.block-editor-block-types-list__list-item{display:block;margin:0;padding:0;width:33.33%}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled) .block-editor-block-icon.has-colors{color:var(--wp-block-synced-color)}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled):hover .block-editor-block-types-list__item-title{color:var(--wp-block-synced-color)!important;filter:brightness(.95)}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled):hover svg{color:var(--wp-block-synced-color)!important}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled):after{background:var(--wp-block-synced-color)}.components-button.block-editor-block-types-list__item{align-items:stretch;background:transparent;border-radius:2px;color:#1e1e1e;cursor:pointer;display:flex;flex-direction:column;font-size:13px;height:auto;justify-content:center;padding:8px;position:relative;transition:all .05s ease-in-out;width:100%;word-break:break-word}@media (prefers-reduced-motion:reduce){.components-button.block-editor-block-types-list__item{transition-delay:0s;transition-duration:0s}}.components-button.block-editor-block-types-list__item:disabled{cursor:default;opacity:.6}.components-button.block-editor-block-types-list__item:not(:disabled):hover .block-editor-block-types-list__item-title{color:var(--wp-admin-theme-color)!important;filter:brightness(.95)}.components-button.block-editor-block-types-list__item:not(:disabled):hover svg{color:var(--wp-admin-theme-color)!important}.components-button.block-editor-block-types-list__item:not(:disabled):hover:after{background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.04;pointer-events:none;position:absolute;right:0;top:0}.components-button.block-editor-block-types-list__item:not(:disabled):focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-button.block-editor-block-types-list__item:not(:disabled).is-active{background:#1e1e1e;color:#fff;outline:2px solid transparent;outline-offset:-2px}.block-editor-block-types-list__item-icon{border-radius:2px;color:#1e1e1e;padding:12px 20px;transition:all .05s ease-in-out}@media (prefers-reduced-motion:reduce){.block-editor-block-types-list__item-icon{transition-delay:0s;transition-duration:0s}}.block-editor-block-types-list__item-icon .block-editor-block-icon{margin-left:auto;margin-right:auto}.block-editor-block-types-list__item-icon svg{transition:all .15s ease-out}@media (prefers-reduced-motion:reduce){.block-editor-block-types-list__item-icon svg{transition-delay:0s;transition-duration:0s}}.block-editor-block-types-list__list-item[draggable=true] .block-editor-block-types-list__item-icon{cursor:grab}.block-editor-block-types-list__item-title{font-size:12px;padding:4px 2px 8px}.show-icon-labels .block-editor-block-inspector__tabs .components-tab-panel__tabs .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-block-inspector__tabs .components-tab-panel__tabs .components-button.has-icon:before{content:attr(aria-label)}.block-editor-inspector-controls-tabs__hint{align-items:top;background:#f0f0f0;border-radius:2px;color:#1e1e1e;display:flex;flex-direction:row;margin:16px}.block-editor-inspector-controls-tabs__hint-content{margin:12px 0 12px 12px}.block-editor-inspector-controls-tabs__hint-dismiss{margin:4px 4px 4px 0}.block-editor-inspector-popover-header{margin-bottom:16px}[class].block-editor-inspector-popover-header__action{height:24px}[class].block-editor-inspector-popover-header__action.has-icon{min-width:24px;padding:0}[class].block-editor-inspector-popover-header__action:not(.has-icon){text-decoration:underline}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}@keyframes loadingpulse{0%{opacity:1}50%{opacity:0}to{opacity:1}}.block-editor-link-control{min-width:350px;position:relative}.components-popover__content .block-editor-link-control{max-width:350px;min-width:auto;width:90vw}.show-icon-labels .block-editor-link-control .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-link-control .components-button.has-icon:before{content:attr(aria-label)}.block-editor-link-control__search-input-wrapper{margin-bottom:8px;position:relative}.block-editor-link-control__search-input-container,.block-editor-link-control__search-input-wrapper{position:relative}.block-editor-link-control__search-input.has-no-label .block-editor-url-input__input{flex:1}.block-editor-link-control__field{margin:16px}.block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:40px;line-height:normal;margin:0;padding:8px 16px;position:relative;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{font-size:13px;line-height:normal}}.block-editor-link-control__field input[type=text]:focus,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-link-control__field input[type=text]::-webkit-input-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control__field input[type=text]::-moz-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.block-editor-link-control__field input[type=text]:-ms-input-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control__search-error{margin:-8px 16px 16px}.block-editor-link-control__search-enter{position:absolute;right:19px;top:3px}.block-editor-link-control__search-enter svg{position:relative;top:-2px}.block-editor-link-control__search-actions{display:flex;flex-direction:row-reverse;gap:8px;justify-content:flex-start;order:20;padding:8px 16px 16px}.block-editor-link-control__search-results-wrapper{position:relative}.block-editor-link-control__search-results-wrapper:after,.block-editor-link-control__search-results-wrapper:before{content:"";display:block;left:-1px;pointer-events:none;position:absolute;right:16px;z-index:100}.block-editor-link-control__search-results-wrapper:before{bottom:auto;height:8px;top:0}.block-editor-link-control__search-results-wrapper:after{bottom:0;height:16px;top:auto}.block-editor-link-control__search-results{margin-top:-16px;max-height:200px;overflow-y:auto;padding:8px}.block-editor-link-control__search-results.is-loading{opacity:.2}.block-editor-link-control__search-item.components-button.components-menu-item__button{height:auto;text-align:left}.block-editor-link-control__search-item .components-menu-item__item{display:inline-block;overflow:hidden;text-overflow:ellipsis;width:100%}.block-editor-link-control__search-item .components-menu-item__item mark{background-color:transparent;color:inherit;font-weight:600}.block-editor-link-control__search-item .components-menu-item__shortcut{color:#757575;text-transform:capitalize;white-space:nowrap}.block-editor-link-control__search-item[aria-selected]{background:#f0f0f0}.block-editor-link-control__search-item.is-current{background:transparent;border:0;cursor:default;flex-direction:column;padding:16px;width:100%}.block-editor-link-control__search-item .block-editor-link-control__search-item-header{align-items:flex-start;display:block;flex-direction:row;margin-right:8px;overflow-wrap:break-word;white-space:pre-wrap}.block-editor-link-control__search-item .block-editor-link-control__search-item-header .block-editor-link-control__search-item-info{word-break:break-all}.block-editor-link-control__search-item.is-preview .block-editor-link-control__search-item-header{display:flex;flex:1}.block-editor-link-control__search-item.is-error .block-editor-link-control__search-item-header{align-items:center}.block-editor-link-control__search-item.is-url-title .block-editor-link-control__search-item-title{word-break:break-all}.block-editor-link-control__search-item .block-editor-link-control__search-item-icon{display:flex;flex-shrink:0;justify-content:center;margin-right:8px;max-height:24px;position:relative;width:24px}.block-editor-link-control__search-item .block-editor-link-control__search-item-icon img{width:16px}.block-editor-link-control__search-item.is-error .block-editor-link-control__search-item-icon{max-height:32px;top:0;width:32px}.block-editor-link-control__search-item .block-editor-link-control__search-item-title{display:block;font-weight:500;line-height:24px;position:relative}.block-editor-link-control__search-item .block-editor-link-control__search-item-title mark{background-color:transparent;color:inherit;font-weight:600}.block-editor-link-control__search-item .block-editor-link-control__search-item-title span{font-weight:400}.block-editor-link-control__search-item .block-editor-link-control__search-item-title svg{display:none}.block-editor-link-control__search-item .block-editor-link-control__search-item-description{margin:0;padding-top:12px}.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder{display:flex;flex-direction:column;height:28px;justify-content:space-around;margin-top:12px;padding-top:0}.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder:after,.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder:before{background-color:#f0f0f0;border-radius:3px;content:"";display:block;height:.7em;width:100%}.block-editor-link-control__search-item .block-editor-link-control__search-item-description .components-text{font-size:.9em}.block-editor-link-control__search-item .block-editor-link-control__search-item-image{background-color:#f0f0f0;border-radius:2px;display:flex;height:140px;justify-content:center;margin-top:12px;max-height:140px;overflow:hidden;width:100%}.block-editor-link-control__search-item .block-editor-link-control__search-item-image.is-placeholder{background-color:#f0f0f0;border-radius:3px}.block-editor-link-control__search-item .block-editor-link-control__search-item-image img{display:block;height:140px;max-height:140px;max-width:100%}.block-editor-link-control__search-item-top{align-items:center;display:flex;flex-direction:row;width:100%}.block-editor-link-control__search-item-bottom{transition:opacity 1.5s;width:100%}.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-description:after,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-description:before,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-image{animation:loadingpulse 1s linear infinite;animation-delay:.5s}.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon img,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon svg{opacity:0}.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon:before{animation:loadingpulse 1s linear infinite;animation-delay:.5s;background-color:#f0f0f0;border-radius:100%;bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.block-editor-link-control__loading{align-items:center;display:flex;margin:16px}.block-editor-link-control__loading .components-spinner{margin-top:0}.components-button+.block-editor-link-control__search-create{overflow:visible;padding:12px 16px}.components-button+.block-editor-link-control__search-create:before{content:"";display:block;left:0;position:absolute;top:-10px;width:100%}.block-editor-link-control__search-create{align-items:center}.block-editor-link-control__search-create .block-editor-link-control__search-item-title{margin-bottom:0}.block-editor-link-control__search-create .block-editor-link-control__search-item-icon{top:0}.block-editor-link-control__drawer{display:flex;flex-basis:100%;flex-direction:column;order:30}.block-editor-link-control__drawer-inner{display:flex;flex-basis:100%;flex-direction:column;position:relative}.block-editor-link-control__unlink{padding-left:16px;padding-right:16px}.block-editor-link-control__setting{flex:1;margin-bottom:0;padding:8px 0 8px 24px}.block-editor-link-control__setting .components-base-control__field{display:flex}.block-editor-link-control__setting input{margin-left:0}.is-preview .block-editor-link-control__setting{padding:20px 8px 8px 0}.block-editor-link-control__tools{margin-top:-16px;padding:8px 8px 0}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle{gap:0;padding-left:0}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true]{color:#1e1e1e}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true] svg{transform:rotate(90deg);transition:transform .1s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true] svg{transition-delay:0s;transition-duration:0s}}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=false] svg{transform:rotate(0deg);transition:transform .1s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=false] svg{transition-delay:0s;transition-duration:0s}}.block-editor-link-control .block-editor-link-control__search-input .components-spinner{display:block}.block-editor-link-control .block-editor-link-control__search-input .components-spinner.components-spinner{bottom:auto;left:auto;position:absolute;right:40px;top:calc(50% - 8px)}.block-editor-link-control .block-editor-link-control__search-input-wrapper.has-actions .components-spinner{right:12px;top:calc(50% + 4px)}.block-editor-link-control__search-item-action{flex-shrink:0;margin-left:auto}.block-editor-list-view-tree{border-collapse:collapse;margin:0;padding:0;width:100%}.components-modal__content .block-editor-list-view-tree{margin:-12px -6px 0;width:calc(100% + 12px)}.block-editor-list-view-leaf{position:relative}.block-editor-list-view-leaf .block-editor-list-view-block-select-button[aria-expanded=true]{color:inherit}.block-editor-list-view-leaf .block-editor-list-view-block-select-button:hover{color:var(--wp-admin-theme-color)}.is-dragging-components-draggable .block-editor-list-view-leaf:not(.is-selected) .block-editor-list-view-block-select-button:hover{color:inherit}.block-editor-list-view-leaf.is-selected td{background:var(--wp-admin-theme-color)}.block-editor-list-view-leaf.is-selected.is-synced td{background:var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents .block-editor-block-icon,.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents:focus,.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents:hover{color:var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents:focus:after{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents,.block-editor-list-view-leaf.is-selected .components-button.has-icon{color:#fff}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents:focus:after{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-list-view-leaf.is-selected.is-synced .block-editor-list-view-block-contents:focus:after{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block__menu:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #fff}.block-editor-list-view-leaf.is-first-selected td:first-child{border-top-left-radius:2px}.block-editor-list-view-leaf.is-first-selected td:last-child{border-top-right-radius:2px}.block-editor-list-view-leaf.is-last-selected td:first-child{border-bottom-left-radius:2px}.block-editor-list-view-leaf.is-last-selected td:last-child{border-bottom-right-radius:2px}.block-editor-list-view-leaf.is-branch-selected:not(.is-selected):not(.is-synced-branch){background:rgba(var(--wp-admin-theme-color--rgb),.04)}.block-editor-list-view-leaf.is-synced-branch.is-branch-selected{background:rgba(var(--wp-block-synced-color--rgb),.04)}.block-editor-list-view-leaf.is-branch-selected.is-first-selected td:first-child{border-top-left-radius:2px}.block-editor-list-view-leaf.is-branch-selected.is-first-selected td:last-child{border-top-right-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-first-selected td:first-child{border-top-left-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-first-selected td:last-child{border-top-right-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-last-selected td:first-child{border-bottom-left-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-last-selected td:last-child{border-bottom-right-radius:2px}.block-editor-list-view-leaf.is-branch-selected:not(.is-selected) td{border-radius:0}.block-editor-list-view-leaf .block-editor-list-view-block-contents{align-items:center;border-radius:2px;display:flex;height:auto;padding:6px 4px 6px 0;position:relative;text-align:left;white-space:nowrap;width:100%}.block-editor-list-view-leaf .block-editor-list-view-block-contents.is-dropping-before:before{border-top:4px solid var(--wp-admin-theme-color);content:"";left:0;pointer-events:none;position:absolute;right:0;top:-2px;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear}.components-modal__content .block-editor-list-view-leaf .block-editor-list-view-block-contents{padding-left:0;padding-right:0}.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus{box-shadow:none}.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after{border-radius:inherit;bottom:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:0;pointer-events:none;position:absolute;right:-29px;top:0;z-index:2}.is-dragging-components-draggable .block-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after{box-shadow:none}.block-editor-list-view-leaf.has-single-cell .block-editor-list-view-block-contents:focus:after{right:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);z-index:1}.is-dragging-components-draggable .block-editor-list-view-leaf .block-editor-list-view-block__menu:focus{box-shadow:none}.block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents{animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards;opacity:1}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents{animation-delay:0s;animation-duration:1ms}}.block-editor-list-view-leaf .block-editor-block-icon{flex:0 0 24px;margin-right:8px}.block-editor-list-view-leaf .block-editor-list-view-block__contents-cell,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell{padding-bottom:0;padding-top:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell{line-height:0;vertical-align:middle;width:36px}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell>*{opacity:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell.is-visible>*,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell:focus-within>*,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell:hover>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell.is-visible>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell:focus-within>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell:hover>*{opacity:1}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell .components-button.has-icon,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell .components-button.has-icon{min-width:24px;padding:0;width:24px}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell{padding-right:4px}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell .components-button.has-icon{height:24px}.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell-alignment-wrapper{align-items:center;display:flex;flex-direction:column;height:100%}.block-editor-list-view-leaf .block-editor-block-mover-button{height:24px;position:relative;width:36px}.block-editor-list-view-leaf .block-editor-block-mover-button svg{height:24px;position:relative}.block-editor-list-view-leaf .block-editor-block-mover-button.is-up-button{align-items:flex-end;margin-top:-6px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-up-button svg{bottom:-4px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-down-button{align-items:flex-start;margin-bottom:-6px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-down-button svg{top:-4px}.block-editor-list-view-leaf .block-editor-block-mover-button:before{height:16px;left:0;min-width:100%;right:0}.block-editor-list-view-leaf .block-editor-inserter__toggle{background:#1e1e1e;color:#fff;height:24px;margin:6px 6px 6px 1px;min-width:24px}.block-editor-list-view-leaf .block-editor-inserter__toggle:active{color:#fff}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__label-wrapper{min-width:120px}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__title{flex:1;position:relative}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__title .components-truncate{position:absolute;transform:translateY(-50%);width:100%}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__anchor-wrapper{max-width:min(110px,40%);position:relative;width:100%}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__anchor{background:rgba(0,0,0,.1);border-radius:2px;box-sizing:border-box;max-width:100%;padding:2px 6px;position:absolute;right:0;transform:translateY(-50%)}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__anchor{background:rgba(0,0,0,.3)}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__lock{line-height:0}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__images{display:flex}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__image{background-size:cover;border-radius:2px;height:18px;width:18px}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__image:not(:only-child){box-shadow:0 0 0 2px #fff}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__image:not(:first-child){margin-left:-6px}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__image:not(:only-child){box-shadow:0 0 0 2px var(--wp-admin-theme-color)}.block-editor-list-view-appender__cell .block-editor-list-view-appender__container,.block-editor-list-view-appender__cell .block-editor-list-view-block__contents-container,.block-editor-list-view-block__contents-cell .block-editor-list-view-appender__container,.block-editor-list-view-block__contents-cell .block-editor-list-view-block__contents-container{display:flex}.block-editor-list-view__expander{height:24px;margin-left:4px;width:24px}.block-editor-list-view-leaf[aria-level] .block-editor-list-view__expander{margin-left:220px}.block-editor-list-view-leaf:not([aria-level="1"]) .block-editor-list-view__expander{margin-right:4px}.block-editor-list-view-leaf[aria-level="1"] .block-editor-list-view__expander{margin-left:0}.block-editor-list-view-leaf[aria-level="2"] .block-editor-list-view__expander{margin-left:24px}.block-editor-list-view-leaf[aria-level="3"] .block-editor-list-view__expander{margin-left:52px}.block-editor-list-view-leaf[aria-level="4"] .block-editor-list-view__expander{margin-left:80px}.block-editor-list-view-leaf[aria-level="5"] .block-editor-list-view__expander{margin-left:108px}.block-editor-list-view-leaf[aria-level="6"] .block-editor-list-view__expander{margin-left:136px}.block-editor-list-view-leaf[aria-level="7"] .block-editor-list-view__expander{margin-left:164px}.block-editor-list-view-leaf[aria-level="8"] .block-editor-list-view__expander{margin-left:192px}.block-editor-list-view-leaf .block-editor-list-view__expander{visibility:hidden}.block-editor-list-view-leaf[data-expanded=true] .block-editor-list-view__expander svg{transform:rotate(90deg);transition:transform .2s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf[data-expanded=true] .block-editor-list-view__expander svg{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf[data-expanded=false] .block-editor-list-view__expander svg{transform:rotate(0deg);transition:transform .2s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf[data-expanded=false] .block-editor-list-view__expander svg{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-drop-indicator{pointer-events:none}.block-editor-list-view-drop-indicator .block-editor-list-view-drop-indicator__line{background:var(--wp-admin-theme-color);border-radius:4px;height:4px}.block-editor-list-view-placeholder{height:36px;margin:0;padding:0}.list-view-appender .block-editor-inserter__toggle{background-color:#1e1e1e;border-radius:2px;color:#fff;height:24px;margin:8px 0 0 24px;min-width:24px;padding:0}.list-view-appender .block-editor-inserter__toggle:focus,.list-view-appender .block-editor-inserter__toggle:hover{background:var(--wp-admin-theme-color);color:#fff}.list-view-appender__description,.modal-open .block-editor-media-replace-flow__options{display:none}.block-editor-media-replace-flow__indicator{margin-left:4px}.block-editor-media-flow__url-input{margin-left:-8px;margin-right:-8px;padding:16px}.block-editor-media-flow__url-input.has-siblings{border-top:1px solid #1e1e1e;margin-top:8px}.block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label{display:block;margin-bottom:8px;top:16px}.block-editor-media-flow__url-input .block-editor-link-control{width:300px}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-url-input{margin:0;padding:0}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-info,.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-title{max-width:200px;white-space:nowrap}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__tools{justify-content:flex-end;padding:16px var(--wp-admin-border-width-focus) var(--wp-admin-border-width-focus)}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item.is-current{padding:0;width:auto}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]{margin:0;width:100%}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-actions{right:4px;top:0}.block-editor-media-flow__error{max-width:255px;padding:0 20px 20px}.block-editor-media-flow__error .components-with-notices-ui{max-width:255px}.block-editor-media-flow__error .components-with-notices-ui .components-notice__content{word-wrap:break-word;overflow:hidden}.block-editor-media-flow__error .components-with-notices-ui .components-notice__dismiss{position:absolute;right:10px}.block-editor-multi-selection-inspector__card{align-items:flex-start;display:flex;padding:16px}.block-editor-multi-selection-inspector__card-content{flex-grow:1}.block-editor-multi-selection-inspector__card-title{font-weight:500;margin-bottom:5px}.block-editor-multi-selection-inspector__card-description{font-size:13px}.block-editor-multi-selection-inspector__card .block-editor-block-icon{height:24px;margin-left:-2px;margin-right:10px;padding:0 3px;width:36px}.block-editor-responsive-block-control{border-bottom:1px solid #ccc;margin-bottom:28px;padding-bottom:14px}.block-editor-responsive-block-control:last-child{border-bottom:0;padding-bottom:0}.block-editor-responsive-block-control__title{margin:0 0 .6em -3px}.block-editor-responsive-block-control__label{font-weight:600;margin-bottom:.6em;margin-left:-3px}.block-editor-responsive-block-control__inner{margin-left:-1px}.block-editor-responsive-block-control__toggle{margin-left:1px}.block-editor-responsive-block-control .components-base-control__help{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.components-popover.block-editor-rich-text__inline-format-toolbar{z-index:99998}.components-popover.block-editor-rich-text__inline-format-toolbar .components-popover__content{box-shadow:none;margin-bottom:8px;min-width:auto;outline:none;width:auto}.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar{border-radius:2px}.components-popover.block-editor-rich-text__inline-format-toolbar .components-dropdown-menu__toggle,.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar__control{min-height:48px;min-width:48px;padding-left:12px;padding-right:12px}.block-editor-rich-text__inline-format-toolbar-group .components-dropdown-menu__toggle{justify-content:center}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button.has-icon{width:auto}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button.has-icon:after{content:attr(aria-label)}.block-editor-skip-to-selected-block{position:absolute;top:-9999em}.block-editor-skip-to-selected-block:focus{background:#f1f1f1;box-shadow:0 0 2px 2px rgba(0,0,0,.6);color:var(--wp-admin-theme-color);display:block;font-size:14px;font-weight:600;height:auto;line-height:normal;outline:none;padding:15px 23px 14px;text-decoration:none;width:auto;z-index:100000}.block-editor-text-decoration-control{border:0;margin:0;padding:0}.block-editor-text-decoration-control .block-editor-text-decoration-control__buttons{display:flex;padding:4px 0}.block-editor-text-decoration-control .components-button.has-icon{height:32px;margin-right:4px;min-width:32px;padding:0}.block-editor-text-transform-control{border:0;margin:0;padding:0}.block-editor-text-transform-control .block-editor-text-transform-control__buttons{display:flex;padding:4px 0}.block-editor-text-transform-control .components-button.has-icon{height:32px;margin-right:4px;min-width:32px;padding:0}.block-editor-tool-selector__help{border-top:1px solid #ddd;color:#757575;margin:8px -8px -8px;min-width:280px;padding:16px}.block-editor-block-list__block .block-editor-url-input,.block-editor-url-input,.components-popover .block-editor-url-input{flex-grow:1;padding:1px;position:relative}.block-editor-block-list__block .block-editor-url-input input[type=text],.block-editor-url-input input[type=text],.components-popover .block-editor-url-input input[type=text]{border:none;border-radius:0;font-size:16px;margin-left:0;margin-right:0;padding:8px 8px 8px 12px;width:100%}@media (min-width:600px){.block-editor-block-list__block .block-editor-url-input input[type=text],.block-editor-url-input input[type=text],.components-popover .block-editor-url-input input[type=text]{font-size:13px;width:300px}}.block-editor-block-list__block .block-editor-url-input input[type=text]::-ms-clear,.block-editor-url-input input[type=text]::-ms-clear,.components-popover .block-editor-url-input input[type=text]::-ms-clear{display:none}.block-editor-block-list__block .block-editor-url-input.is-full-width,.block-editor-block-list__block .block-editor-url-input.is-full-width .block-editor-url-input__input[type=text],.block-editor-block-list__block .block-editor-url-input.is-full-width__suggestions,.block-editor-url-input.is-full-width,.block-editor-url-input.is-full-width .block-editor-url-input__input[type=text],.block-editor-url-input.is-full-width__suggestions,.components-popover .block-editor-url-input.is-full-width,.components-popover .block-editor-url-input.is-full-width .block-editor-url-input__input[type=text],.components-popover .block-editor-url-input.is-full-width__suggestions{width:100%}.block-editor-block-list__block .block-editor-url-input .components-spinner,.block-editor-url-input .components-spinner,.components-popover .block-editor-url-input .components-spinner{margin:0;position:absolute;right:8px;top:calc(50% - 8px)}.block-editor-url-input__input[type=text]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:6px 8px;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.block-editor-url-input__input[type=text]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.block-editor-url-input__input[type=text]{font-size:13px;line-height:normal}}.block-editor-url-input__input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-url-input__input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-url-input__input[type=text]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.block-editor-url-input__input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-url-input__suggestions{max-height:200px;overflow-y:auto;padding:4px 0;transition:all .15s ease-in-out;width:302px}@media (prefers-reduced-motion:reduce){.block-editor-url-input__suggestions{transition-delay:0s;transition-duration:0s}}.block-editor-url-input .components-spinner,.block-editor-url-input__suggestions{display:none}@media (min-width:600px){.block-editor-url-input .components-spinner,.block-editor-url-input__suggestions{display:grid}}.block-editor-url-input__suggestion{background:#fff;border:none;box-shadow:none;color:#757575;cursor:pointer;display:block;font-size:13px;height:auto;min-height:36px;text-align:left;width:100%}.block-editor-url-input__suggestion:hover{background:#ddd}.block-editor-url-input__suggestion.is-selected,.block-editor-url-input__suggestion:focus{background:var(--wp-admin-theme-color-darker-20);color:#fff;outline:none}.components-toolbar-group>.block-editor-url-input__button,.components-toolbar>.block-editor-url-input__button{position:inherit}.block-editor-url-input__button .block-editor-url-input__back{margin-right:4px;overflow:visible}.block-editor-url-input__button .block-editor-url-input__back:after{background:#ddd;content:"";display:block;height:24px;position:absolute;right:-1px;width:1px}.block-editor-url-input__button-modal{background:#fff;border:1px solid #ddd;box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1)}.block-editor-url-input__button-modal-line{align-items:flex-start;display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-width:0}.block-editor-url-input__button-modal-line .components-button{flex-shrink:0;height:36px;width:36px}.block-editor-url-popover__additional-controls{border-top:1px solid #ddd}.block-editor-url-popover__additional-controls>div[role=menu] .components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary)>svg{box-shadow:none}.block-editor-url-popover__additional-controls div[role=menu]>.components-button{padding-left:12px}.block-editor-url-popover__row{display:flex}.block-editor-url-popover__row>:not(.block-editor-url-popover__settings-toggle){flex-grow:1}.block-editor-url-popover .components-button.has-icon{padding:3px}.block-editor-url-popover .components-button.has-icon>svg{border-radius:2px;height:30px;padding:5px;width:30px}.block-editor-url-popover .components-button.has-icon:not(:disabled):focus{box-shadow:none}.block-editor-url-popover .components-button.has-icon:not(:disabled):focus>svg{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 4px #fff;outline:2px solid transparent}.block-editor-url-popover__settings-toggle{border-left:1px solid #ddd;border-radius:0;flex-shrink:0;margin-left:1px}.block-editor-url-popover__settings-toggle[aria-expanded=true] .dashicon{transform:rotate(180deg)}.block-editor-url-popover__settings{border-top:1px solid #ddd;display:block;padding:16px}.block-editor-url-popover__link-editor,.block-editor-url-popover__link-viewer{display:flex}.block-editor-url-popover__link-viewer-url{flex-grow:1;flex-shrink:1;margin:7px;max-width:500px;min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-url-popover__link-viewer-url.has-invalid-link{color:#cc1818}.html-anchor-control .components-external-link{display:block;margin-top:8px}.block-editor-hooks__block-hooks .components-toggle-control .components-h-stack{flex-direction:row-reverse}.block-editor-hooks__block-hooks .components-toggle-control .components-h-stack .components-h-stack{flex-direction:row}.block-editor-hooks__background__inspector-media-replace-container{position:relative}.block-editor-hooks__background__inspector-media-replace-container .components-drop-zone__content-icon{display:none}.block-editor-hooks__background__inspector-media-replace-container button.components-button{box-shadow:inset 0 0 0 1px #ddd;color:#1e1e1e;display:block;height:40px;width:100%}.block-editor-hooks__background__inspector-media-replace-container button.components-button:hover{color:var(--wp-admin-theme-color)}.block-editor-hooks__background__inspector-media-replace-container button.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-hooks__background__inspector-media-replace-container .block-editor-hooks__background__inspector-media-replace-title{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-editor-hooks__background__inspector-media-replace-container .components-dropdown{display:block}.block-editor-hooks__background__inspector-image-indicator-wrapper{background:#fff linear-gradient(-45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0);border-radius:50%!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);display:block;flex:none;height:20px;width:20px}.block-editor-hooks__background__inspector-image-indicator-wrapper.has-image{background:#fff}.block-editor-hooks__background__inspector-image-indicator{background-size:cover;border-radius:50%;display:block;height:20px;position:relative;width:20px}.block-editor-hooks__background__inspector-image-indicator:after{border:1px solid transparent;border-radius:50%;bottom:-1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);box-sizing:inherit;content:"";left:-1px;position:absolute;right:-1px;top:-1px}.border-block-support-panel .single-column{grid-column:span 1}.color-block-support-panel .block-editor-contrast-checker{grid-column:span 2;margin-top:16px;order:9999}.color-block-support-panel .block-editor-contrast-checker .components-notice__content{margin-right:0}.color-block-support-panel.color-block-support-panel .color-block-support-panel__inner-wrapper{row-gap:0}.color-block-support-panel .block-editor-tools-panel-color-gradient-settings__item.first{margin-top:0}.dimensions-block-support-panel .single-column{grid-column:span 1}.block-editor-hooks__layout-controls{display:flex;margin-bottom:8px}.block-editor-hooks__layout-controls .block-editor-hooks__layout-controls-unit{display:flex;margin-right:24px}.block-editor-hooks__layout-controls .block-editor-hooks__layout-controls-unit svg{margin:auto 0 4px 8px}.block-editor-block-inspector .block-editor-hooks__layout-controls-unit-input{margin-bottom:0}.block-editor-hooks__layout-controls-reset{display:flex;justify-content:flex-end;margin-bottom:24px}.block-editor-hooks__layout-controls-helptext{color:#757575;font-size:12px;margin-bottom:16px}.block-editor-hooks__flex-layout-justification-controls,.block-editor-hooks__flex-layout-orientation-controls{margin-bottom:12px}.block-editor-hooks__flex-layout-justification-controls legend,.block-editor-hooks__flex-layout-orientation-controls legend{margin-bottom:8px}.block-editor-hooks__toggle-control.block-editor-hooks__toggle-control{margin-bottom:16px}.block-editor__padding-visualizer{border-color:var(--wp-admin-theme-color);border-style:solid;bottom:0;box-sizing:border-box;left:0;opacity:.5;pointer-events:none;position:absolute;right:0;top:0}.block-editor-hooks__position-selection__select-control .components-custom-select-control__hint{display:none}.block-editor-hooks__position-selection__select-control__option.has-hint{grid-template-columns:auto 30px;line-height:1.4;margin-bottom:0}.block-editor-hooks__position-selection__select-control__option .components-custom-select-control__item-hint{grid-row:2;text-align:left}.typography-block-support-panel .single-column{grid-column:span 1}.block-editor-block-toolbar{display:flex;flex-grow:1;overflow-x:auto;overflow-y:hidden;position:relative;transition:border-color .1s linear,box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.block-editor-block-toolbar{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.block-editor-block-toolbar{overflow:inherit}}.block-editor-block-toolbar .components-toolbar,.block-editor-block-toolbar .components-toolbar-group{background:none;border:0;border-right:1px solid #ddd;line-height:0;margin-bottom:-1px;margin-top:-1px}.block-editor-block-toolbar.is-synced .block-editor-block-switcher .components-button .block-editor-block-icon,.block-editor-block-toolbar.is-synced .components-toolbar-button.block-editor-block-switcher__no-switcher-icon:disabled .block-editor-block-icon.has-colors{color:var(--wp-block-synced-color)}.block-editor-block-toolbar>:last-child,.block-editor-block-toolbar>:last-child .components-toolbar,.block-editor-block-toolbar>:last-child .components-toolbar-group{border-right:none}@media (min-width:782px){.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group{border-right:none}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar:after{background-color:#ddd;content:"";margin-bottom:12px;margin-left:8px;margin-top:12px;width:1px}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar .components-toolbar-group.components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group .components-toolbar-group.components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar>:last-child .components-toolbar-group:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar>:last-child .components-toolbar:after,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar>:last-child:after{display:none}}.block-editor-block-contextual-toolbar.has-parent:not(.is-fixed){margin-left:56px}.show-icon-labels .block-editor-block-contextual-toolbar.has-parent:not(.is-fixed){margin-left:0}.block-editor-block-toolbar__block-controls .block-editor-block-switcher .components-dropdown-menu__toggle .block-editor-block-icon,.block-editor-block-toolbar__block-controls .block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{margin:0!important;width:24px!important}.block-editor-block-toolbar__block-controls .components-toolbar-group{padding:0}.block-editor-block-toolbar .components-toolbar,.block-editor-block-toolbar .components-toolbar-group,.block-editor-rich-text__inline-format-toolbar-group .components-toolbar,.block-editor-rich-text__inline-format-toolbar-group .components-toolbar-group{display:flex;flex-wrap:nowrap}.block-editor-block-toolbar__slot{display:inline-block;line-height:0}@supports (position:sticky){.block-editor-block-toolbar__slot{display:inline-flex}}.show-icon-labels .block-editor-block-toolbar .components-button.has-icon{width:auto}.show-icon-labels .block-editor-block-toolbar .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-block-toolbar .components-button.has-icon:after{content:attr(aria-label);font-size:12px}.show-icon-labels .components-accessible-toolbar .components-toolbar-group>div:first-child:last-child>.components-button.has-icon{padding-left:6px;padding-right:6px}.show-icon-labels .block-editor-block-switcher .components-dropdown-menu__toggle .block-editor-block-icon,.show-icon-labels .block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{height:0!important;min-width:0!important;width:0!important}.show-icon-labels .block-editor-block-parent-selector__button{border-bottom-right-radius:0;border-top-right-radius:0}.show-icon-labels .block-editor-block-parent-selector__button .block-editor-block-icon{width:0}.show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container{width:auto}.show-icon-labels .block-editor-block-mover.is-horizontal .block-editor-block-mover-button,.show-icon-labels .block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container{padding-left:6px;padding-right:6px}.show-icon-labels .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button{padding-left:8px;padding-right:8px}.show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-mover{border-left:1px solid #1e1e1e;margin-left:6px;margin-right:-6px;white-space:nowrap}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar__block-controls .block-editor-block-mover{border-left-color:#e0e0e0}.show-icon-labels .block-editor-block-mover .block-editor-block-mover__drag-handle.has-icon{padding-left:12px;padding-right:12px}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-mover__move-button-container{border-width:0}@media (min-width:600px){.show-icon-labels .is-up-button.is-up-button.is-up-button{border-radius:0;margin-right:0;order:1}.show-icon-labels .block-editor-block-mover__move-button-container{border-left:1px solid #1e1e1e}.show-icon-labels .is-down-button.is-down-button.is-down-button{order:2}.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-mover__move-button-container:before{background:#ddd}}.show-icon-labels .block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button{width:auto}.show-icon-labels .components-toolbar,.show-icon-labels .components-toolbar-group{flex-shrink:1}@media (min-width:782px){.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .components-toolbar,.show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .components-toolbar-group{flex-shrink:0}}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button+.components-button{margin-left:6px}.block-editor-inserter{background:none;border:none;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:0;padding:0}@media (min-width:782px){.block-editor-inserter{position:relative}}.block-editor-inserter__main-area{display:flex;flex-direction:column;gap:16px;height:100%;position:relative}.block-editor-inserter__main-area.show-as-tabs{gap:0}@media (min-width:782px){.block-editor-inserter__main-area{width:350px}}.block-editor-inserter__popover.is-quick .components-popover__content{border:none;box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);outline:none}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>*{border-left:1px solid #ccc;border-right:1px solid #ccc}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>:first-child{border-radius:2px 2px 0 0;border-top:1px solid #ccc}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>:last-child{border-bottom:1px solid #ccc;border-radius:0 0 2px 2px}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>.components-button{border:1px solid #1e1e1e}.block-editor-inserter__popover .block-editor-inserter__menu{margin:-12px}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__tabs .components-tab-panel__tabs{top:60px}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__main-area{height:auto;overflow:visible}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__preview-container{display:none}.block-editor-inserter__toggle.components-button{align-items:center;border:none;cursor:pointer;display:inline-flex;outline:none;padding:0;transition:color .2s ease}@media (prefers-reduced-motion:reduce){.block-editor-inserter__toggle.components-button{transition-delay:0s;transition-duration:0s}}.block-editor-inserter__menu{height:100%;overflow:visible;position:relative}.block-editor-inserter__inline-elements{margin-top:-1px}.block-editor-inserter__menu.is-bottom:after{border-bottom-color:#fff}.components-popover.block-editor-inserter__popover{z-index:99999}.block-editor-inserter__search{padding:16px 16px 0}.block-editor-inserter__search .components-search-control__icon{right:20px}.block-editor-inserter__tabs{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.block-editor-inserter__tabs .components-tab-panel__tabs{border-bottom:1px solid #ddd}.block-editor-inserter__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{flex-grow:1;margin-bottom:-1px}.block-editor-inserter__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item[id$=reusable]{flex-grow:inherit;padding-left:16px;padding-right:16px}.block-editor-inserter__tabs .components-tab-panel__tab-content{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto}.block-editor-inserter__no-tab-container{flex-grow:1;overflow-y:auto}.block-editor-inserter__panel-header{align-items:center;display:inline-flex;padding:16px 16px 0}.block-editor-inserter__panel-content{padding:16px}.block-editor-inserter__panel-title,.block-editor-inserter__panel-title button{color:#757575;font-size:11px;font-weight:500;margin:0 12px 0 0;text-transform:uppercase}.block-editor-inserter__panel-dropdown select.components-select-control__input.components-select-control__input.components-select-control__input{height:36px;line-height:36px}.block-editor-inserter__panel-dropdown select{border:none}.block-editor-inserter__reusable-blocks-panel{position:relative;text-align:right}.block-editor-inserter__manage-reusable-blocks-container{margin:auto 16px 16px}.block-editor-inserter__manage-reusable-blocks{justify-content:center;width:100%}.block-editor-inserter__no-results{padding:32px;text-align:center}.block-editor-inserter__no-results-icon{fill:#949494}.block-editor-inserter__child-blocks{padding:0 16px}.block-editor-inserter__parent-block-header{align-items:center;display:flex}.block-editor-inserter__parent-block-header h2{font-size:13px}.block-editor-inserter__parent-block-header .block-editor-block-icon{margin-right:8px}.block-editor-inserter__preview-container{background:#fff;border:1px solid #ddd;border-radius:2px;display:none;left:calc(100% + 16px);max-height:calc(100% - 32px);overflow-y:hidden;position:absolute;top:16px;width:300px}@media (min-width:782px){.block-editor-inserter__preview-container{display:block}}.block-editor-inserter__preview-container .block-editor-block-card{padding:16px}.block-editor-inserter__preview-container .block-editor-block-card__title{font-size:13px}.block-editor-inserter__patterns-explore-button.components-button{justify-content:center;margin-top:16px;padding:16px;width:100%}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category{color:var(--wp-admin-theme-color);position:relative}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category .components-flex-item{filter:brightness(.95)}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category svg{fill:var(--wp-admin-theme-color)}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category:after{background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.04;position:absolute;right:0;top:0}.block-editor-block-patterns-explorer__sidebar,.block-editor-block-patterns-explorer__sidebar nav,.block-editor-inserter__block-patterns-tabs-container,.block-editor-inserter__block-patterns-tabs-container nav{height:100%}.block-editor-block-patterns-explorer__sidebar .block-editor-block-patterns__source-filter select.components-select-control__input,.block-editor-inserter__block-patterns-tabs-container .block-editor-block-patterns__source-filter select.components-select-control__input{height:40px}.block-editor-inserter__block-patterns-tabs{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px}.block-editor-inserter__block-patterns-tabs div[role=listitem]:last-child{margin-top:auto}.block-editor-inserter__patterns-category-dialog{background:#f0f0f0;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;height:100%;left:0;position:absolute;top:0;width:100%}@media (min-width:782px){.block-editor-inserter__patterns-category-dialog{display:block;left:100%;width:300px}}.block-editor-inserter__patterns-category-dialog .block-editor-block-patterns-list{flex-grow:1;height:100%;overflow-y:auto;padding:16px 24px}.block-editor-block-patterns-list__list-item .block-editor-block-preview__container{box-shadow:0 15px 25px rgba(0,0,0,.07)}.block-editor-block-patterns-list__list-item:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px #1e1e1e,0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__patterns-category-panel{display:flex;flex-direction:column;height:100%;padding:0 16px}@media (min-width:782px){.block-editor-inserter__patterns-category-panel{padding:0}}.block-editor-inserter__patterns-category-panel .block-editor-inserter__patterns-category-panel-header{padding:16px 24px}.block-editor-inserter__patterns-category-panel .block-editor-inserter__patterns-category-no-results{margin-top:24px}.block-editor-inserter__preview-content{align-items:center;background:#f0f0f0;display:grid;flex-grow:1;min-height:144px}.block-editor-inserter__preview-content-missing{align-items:center;background:#f0f0f0;color:#757575;display:flex;flex:1;justify-content:center;min-height:144px}.block-editor-inserter__tips{border-top:1px solid #ddd;flex-shrink:0;padding:16px;position:relative}.block-editor-inserter__quick-inserter{max-width:100%;width:100%}@media (min-width:782px){.block-editor-inserter__quick-inserter{width:350px}}.block-editor-inserter__quick-inserter-results .block-editor-inserter__panel-header{float:left;height:0;padding:0}.block-editor-inserter__quick-inserter.has-expand .block-editor-inserter__panel-content,.block-editor-inserter__quick-inserter.has-search .block-editor-inserter__panel-content{padding:16px}.block-editor-inserter__quick-inserter-patterns .block-editor-block-patterns-list{grid-gap:8px;display:grid;grid-template-columns:1fr 1fr}.block-editor-inserter__quick-inserter-patterns .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{margin-bottom:0}.block-editor-inserter__quick-inserter-patterns .block-editor-block-patterns-list .block-editor-block-preview__container{min-height:100px}.block-editor-inserter__quick-inserter-separator{border-top:1px solid #ddd}.block-editor-inserter__popover.is-quick>.components-popover__content{padding:0}.block-editor-inserter__quick-inserter-expand.components-button{background:#1e1e1e;border-radius:0;color:#fff;display:block;height:44px;width:100%}.block-editor-inserter__quick-inserter-expand.components-button:hover{color:#fff}.block-editor-inserter__quick-inserter-expand.components-button:active{color:#ccc}.block-editor-inserter__quick-inserter-expand.components-button.components-button:focus:not(:disabled){background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);box-shadow:none}.block-editor-block-patterns-explorer__sidebar{bottom:0;left:0;overflow-x:visible;overflow-y:scroll;padding:24px 32px 32px;position:absolute;top:76px;width:280px}.block-editor-block-patterns-explorer__sidebar__categories-list__item{display:block;height:48px;text-align:left;width:100%}.block-editor-block-patterns-explorer__search{margin-bottom:32px}.block-editor-block-patterns-explorer__search-results-count{padding-bottom:32px}.block-editor-block-patterns-explorer__list{margin-left:280px;padding:24px 0 32px}.block-editor-block-patterns-explorer__list .block-editor-patterns__sync-status-filter .components-input-control__container{width:380px}.block-editor-block-patterns-explorer .block-editor-block-patterns-list{grid-gap:32px;display:grid;grid-template-columns:repeat(1,1fr);margin-bottom:16px}@media (min-width:1080px){.block-editor-block-patterns-explorer .block-editor-block-patterns-list{grid-template-columns:repeat(2,1fr)}}@media (min-width:1440px){.block-editor-block-patterns-explorer .block-editor-block-patterns-list{grid-template-columns:repeat(3,1fr)}}.block-editor-block-patterns-explorer .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{min-height:240px}.block-editor-block-patterns-explorer .block-editor-block-patterns-list .block-editor-block-preview__container{height:inherit;max-height:800px;min-height:100px}.block-editor-inserter__patterns-category-panel-title{font-size:16.25px}.block-editor-inserter__media-tabs-container,.block-editor-inserter__media-tabs-container nav{height:100%}.block-editor-inserter__media-tabs-container .block-editor-inserter__media-library-button{justify-content:center;margin-top:16px;padding:16px;width:100%}.block-editor-inserter__media-tabs{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px}.block-editor-inserter__media-tabs div[role=listitem]:last-child{margin-top:auto}.block-editor-inserter__media-tabs__media-category.is-selected{color:var(--wp-admin-theme-color);position:relative}.block-editor-inserter__media-tabs__media-category.is-selected .components-flex-item{filter:brightness(.95)}.block-editor-inserter__media-tabs__media-category.is-selected svg{fill:var(--wp-admin-theme-color)}.block-editor-inserter__media-tabs__media-category.is-selected:after{background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.04;position:absolute;right:0;top:0}.block-editor-inserter__media-dialog{background:#f0f0f0;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;height:100%;left:0;overflow-y:auto;padding:16px 24px;position:absolute;scrollbar-gutter:stable both-edges;top:0;width:100%}@media (min-width:782px){.block-editor-inserter__media-dialog{display:block;left:100%;width:300px}}.block-editor-inserter__media-dialog .block-editor-block-preview__container{box-shadow:0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__media-dialog .block-editor-block-preview__container:hover{box-shadow:0 0 0 2px #1e1e1e,0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__media-panel{display:flex;flex-direction:column;min-height:100%;padding:0 16px}@media (min-width:782px){.block-editor-inserter__media-panel{padding:0}}.block-editor-inserter__media-panel .block-editor-inserter__media-panel-spinner{align-items:center;display:flex;flex:1;height:100%;justify-content:center}.block-editor-inserter__media-panel .block-editor-inserter__media-panel-search.components-search-control input[type=search].components-search-control__input{background:#fff}.block-editor-inserter__media-panel .block-editor-inserter__media-panel-search.components-search-control button.components-button{min-width:auto;padding-left:2px;padding-right:2px}.block-editor-inserter__media-list{margin-top:16px}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item{cursor:pointer;margin-bottom:24px;position:relative}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item.is-placeholder{min-height:100px}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item[draggable=true] .block-editor-block-preview__container{cursor:grab}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview{box-shadow:0 0 0 2px #1e1e1e,0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview-options>button{display:block}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options{position:absolute;right:8px;top:8px}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button{background:#fff;border-radius:2px;display:none}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button.is-opened,.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button:focus{display:block}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button:hover{box-shadow:inset 0 0 0 2px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-inserter__media-list .block-editor-inserter__media-list__item{height:100%}.block-editor-inserter__media-list .block-editor-inserter__media-list__item .block-editor-inserter__media-list__item-preview{align-items:center;border-radius:2px;display:flex;overflow:hidden}.block-editor-inserter__media-list .block-editor-inserter__media-list__item .block-editor-inserter__media-list__item-preview>*{margin:0 auto;max-width:100%}.block-editor-inserter__media-list .block-editor-inserter__media-list__item .block-editor-inserter__media-list__item-preview .block-editor-inserter__media-list__item-preview-spinner{align-items:center;background:hsla(0,0%,100%,.7);display:flex;height:100%;justify-content:center;pointer-events:none;position:absolute;width:100%}.block-editor-inserter__media-list .block-editor-inserter__media-list__item:focus .block-editor-inserter__media-list__item-preview{box-shadow:inset 0 0 0 2px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-inserter__media-list__item-preview-options__popover .components-menu-item__button .components-menu-item__item{min-width:auto}.block-editor-inserter__mobile-tab-navigation{height:100%;padding:16px}.block-editor-inserter__mobile-tab-navigation>*{height:100%}@media (min-width:600px){.block-editor-inserter-media-tab-media-preview-inserter-external-image-modal{max-width:480px}}.block-editor-inserter-media-tab-media-preview-inserter-external-image-modal p{margin:0}.block-editor-inserter__hint{margin:16px 16px 0}.reusable-blocks-menu-items__rename-hint{align-items:top;background:#f0f0f0;border-radius:2px;color:#1e1e1e;display:flex;flex-direction:row;max-width:380px}.reusable-blocks-menu-items__rename-hint-content{margin:12px 0 12px 12px}.reusable-blocks-menu-items__rename-hint-dismiss{margin:4px 4px 4px 0}.components-menu-group .reusable-blocks-menu-items__rename-hint{margin:0}.block-editor-patterns__sync-status-filter .components-input-control__container select.components-select-control__input{height:40px}.block-editor-post-preview__dropdown{padding:0}.block-editor-post-preview__button-resize.block-editor-post-preview__button-resize{padding-left:40px}.block-editor-post-preview__button-resize.block-editor-post-preview__button-resize.has-icon{padding-left:8px}.block-editor-post-preview__dropdown-content.edit-post-post-preview-dropdown .components-menu-group:first-child{padding-bottom:8px}.block-editor-post-preview__dropdown-content.edit-post-post-preview-dropdown .components-menu-group:last-child{margin-bottom:0}.block-editor-post-preview__dropdown-content .components-menu-group+.components-menu-group{padding:8px}@media (min-width:600px){.edit-post-header__settings .editor-post-preview,.edit-site-header-edit-mode__actions .editor-post-preview{display:none}.edit-post-header.has-reduced-ui .edit-post-header__settings .block-editor-post-preview__button-toggle,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-save-draft,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-saved-state{transition:opacity .1s linear}}@media (min-width:600px) and (prefers-reduced-motion:reduce){.edit-post-header.has-reduced-ui .edit-post-header__settings .block-editor-post-preview__button-toggle,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-save-draft,.edit-post-header.has-reduced-ui .edit-post-header__settings .editor-post-saved-state{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .block-editor-post-preview__button-toggle,.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .editor-post-save-draft,.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .editor-post-saved-state{opacity:0}.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header__settings .block-editor-post-preview__button-toggle.is-opened{opacity:1}}.spacing-sizes-control .spacing-sizes-control__custom-value-input,.spacing-sizes-control .spacing-sizes-control__label{margin-bottom:0}.spacing-sizes-control .spacing-sizes-control__custom-value-range,.spacing-sizes-control .spacing-sizes-control__range-control{align-items:center;display:flex;flex:1;height:40px;margin-bottom:0}.spacing-sizes-control .spacing-sizes-control__custom-value-range>.components-base-control__field,.spacing-sizes-control .spacing-sizes-control__range-control>.components-base-control__field{flex:1}.spacing-sizes-control .components-range-control__mark{background-color:#fff;height:4px;width:3px;z-index:1}.spacing-sizes-control .components-range-control__marks{margin-top:17px}.spacing-sizes-control .components-range-control__marks :first-child{display:none}.spacing-sizes-control .components-range-control__thumb-wrapper{z-index:3}.spacing-sizes-control__header{height:16px;margin-bottom:12px}.spacing-sizes-control__dropdown{height:24px}.spacing-sizes-control__custom-select-control,.spacing-sizes-control__custom-value-input{flex:1}.spacing-sizes-control__custom-toggle,.spacing-sizes-control__icon{flex:0 0 auto}.spacing-sizes-control__icon{margin-left:-4px}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file +@charset "UTF-8";:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-editor-autocompleters__block{white-space:nowrap}.block-editor-autocompleters__block .block-editor-block-icon{margin-right:8px}.block-editor-autocompleters__link{white-space:nowrap}.block-editor-autocompleters__link .block-editor-block-icon{margin-right:8px}.block-editor-block-alignment-control__menu-group .components-menu-item__info{margin-top:0}iframe[name=editor-canvas]{display:block;height:100%;width:100%}iframe[name=editor-canvas]:not(.has-history){background-color:#fff}iframe[name=editor-canvas].has-history{padding:48px 48px 0}.block-editor-block-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.block-editor-block-icon.has-colors svg{fill:currentColor}@media (forced-colors:active){.block-editor-block-icon.has-colors svg{fill:CanvasText}}.block-editor-block-icon svg{max-height:24px;max-width:24px;min-height:20px;min-width:20px}.block-editor-block-inspector p:not(.components-base-control__help){margin-top:0}.block-editor-block-inspector h2,.block-editor-block-inspector h3{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.block-editor-block-inspector .components-base-control{margin-bottom:24px}.block-editor-block-inspector .components-base-control:last-child{margin-bottom:8px}.block-editor-block-inspector .components-focal-point-picker-control .components-base-control,.block-editor-block-inspector .components-query-controls .components-base-control,.block-editor-block-inspector .components-range-control .components-base-control{margin-bottom:0}.block-editor-block-inspector .components-panel__body{border:none;border-top:1px solid #e0e0e0;margin-top:-1px}.block-editor-block-inspector__no-block-tools,.block-editor-block-inspector__no-blocks{background:#fff;display:block;font-size:13px;padding:32px 16px;text-align:center}.block-editor-block-inspector__no-block-tools{border-top:1px solid #ddd}.block-editor-block-inspector__tab-item{flex:1 1 0px}.block-editor-block-list__insertion-point{bottom:0;left:0;position:absolute;right:0;top:0}.block-editor-block-list__insertion-point-indicator{background:var(--wp-admin-theme-color);border-radius:2px;opacity:0;position:absolute;transform-origin:center;will-change:transform,opacity}.block-editor-block-list__insertion-point.is-vertical>.block-editor-block-list__insertion-point-indicator{height:4px;top:calc(50% - 2px);width:100%}.block-editor-block-list__insertion-point.is-horizontal>.block-editor-block-list__insertion-point-indicator{bottom:0;left:calc(50% - 2px);top:0;width:4px}.block-editor-block-list__insertion-point-inserter{display:none;justify-content:center;left:calc(50% - 12px);position:absolute;top:calc(50% - 12px);will-change:transform}@media (min-width:480px){.block-editor-block-list__insertion-point-inserter{display:flex}}.block-editor-block-list__block-side-inserter-popover .components-popover__content>div{pointer-events:none}.block-editor-block-list__block-side-inserter-popover .components-popover__content>div>*{pointer-events:all}.block-editor-block-list__empty-block-inserter .block-editor-inserter__toggle.components-button.has-icon,.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon{background:#1e1e1e;border-radius:2px;color:#fff;height:24px;min-width:24px;padding:0}.block-editor-block-list__empty-block-inserter .block-editor-inserter__toggle.components-button.has-icon:hover,.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon:hover{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon{background:var(--wp-admin-theme-color)}.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon:hover{background:#1e1e1e}.block-editor-block-list__block-selection-button{background-color:#1e1e1e;border-radius:2px;display:inline-flex;font-size:13px;height:48px;padding:0 12px;z-index:22}.block-editor-block-list__block-selection-button .block-editor-block-list__block-selection-button__content{align-items:center;display:inline-flex;margin:auto}.block-editor-block-list__block-selection-button .block-editor-block-list__block-selection-button__content>.components-flex__item{margin-right:6px}.block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle{cursor:grab;height:24px;margin-left:-2px;min-width:24px;padding:0}.block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle svg{min-height:18px;min-width:18px}.block-editor-block-list__block-selection-button .block-editor-block-icon{color:#fff;font-size:13px;height:48px}.block-editor-block-list__block-selection-button .components-button{color:#fff;display:flex;height:48px;min-width:36px}.block-editor-block-list__block-selection-button .components-button:focus{border:none;box-shadow:none}.block-editor-block-list__block-selection-button .components-button:active,.block-editor-block-list__block-selection-button .components-button[aria-disabled=true]:hover{color:#fff}.block-editor-block-list__block-selection-button .block-selection-button_select-button.components-button{padding:0}.block-editor-block-list__block-selection-button .block-editor-block-mover{background:unset;border:none}@keyframes hide-during-dragging{to{position:fixed;transform:translate(9999px,9999px)}}.components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar,.components-popover.block-editor-block-list__block-popover .block-editor-block-list__block-selection-button{margin-bottom:12px;margin-top:12px;pointer-events:all}.components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar{border:1px solid #1e1e1e;border-radius:2px;overflow:visible;position:static;width:auto}.components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar.has-parent{margin-left:56px}.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-contextual-toolbar.has-parent{margin-left:0}.components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar{overflow:visible}.components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar .components-toolbar,.components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar .components-toolbar-group{border-right-color:#1e1e1e}.components-popover.block-editor-block-list__block-popover.is-insertion-point-visible{visibility:hidden}.is-dragging-components-draggable .components-popover.block-editor-block-list__block-popover{animation:hide-during-dragging 1ms linear forwards;opacity:0}.components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector{left:-57px;position:absolute}.components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector:before{content:""}.components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector .block-editor-block-parent-selector__button{background-color:#fff;border:1px solid #1e1e1e;padding-left:6px;padding-right:6px}.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector .block-editor-block-parent-selector__button{padding-left:12px;padding-right:12px}.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-parent-selector{left:auto;margin-left:-1px;position:relative}.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-mover__move-button-container,.show-icon-labels .components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar__block-controls .block-editor-block-mover{border-left:1px solid #1e1e1e}.is-dragging-components-draggable .components-tooltip{display:none}.block-editor-block-lock-modal{z-index:1000001}@media (min-width:600px){.block-editor-block-lock-modal .components-modal__frame{max-width:480px}}.block-editor-block-lock-modal__checklist{margin:0}.block-editor-block-lock-modal__options-title{padding:12px 0}.block-editor-block-lock-modal__options-title .components-checkbox-control__label{font-weight:600}.block-editor-block-lock-modal__checklist-item{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:0;padding:12px 0 12px 32px}.block-editor-block-lock-modal__checklist-item .block-editor-block-lock-modal__lock-icon{fill:#1e1e1e;flex-shrink:0;margin-right:12px}.block-editor-block-lock-modal__checklist-item:hover{background-color:#f0f0f0;border-radius:2px}.block-editor-block-lock-modal__template-lock{border-top:1px solid #ddd;margin-top:16px;padding:12px 0}.block-editor-block-lock-modal__actions{margin-top:24px}.block-editor-block-lock-toolbar .components-button.has-icon{min-width:36px!important}.block-editor-block-toolbar__block-controls .block-editor-block-lock-toolbar{margin-left:-6px!important}.show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-lock-toolbar{border-left:1px solid #1e1e1e;margin-left:6px!important;margin-right:-6px}.block-editor-block-breadcrumb{list-style:none;margin:0;padding:0}.block-editor-block-breadcrumb li{display:inline-flex;margin:0}.block-editor-block-breadcrumb li .block-editor-block-breadcrumb__separator{fill:currentColor;margin-left:-4px;margin-right:-4px;transform:scaleX(1)}.block-editor-block-breadcrumb li:last-child .block-editor-block-breadcrumb__separator{display:none}.block-editor-block-breadcrumb__button.components-button{height:24px;line-height:24px;padding:0;position:relative}.block-editor-block-breadcrumb__button.components-button:hover:not(:disabled){box-shadow:none;text-decoration:underline}.block-editor-block-breadcrumb__button.components-button:focus{box-shadow:none}.block-editor-block-breadcrumb__button.components-button:focus:before{border-radius:2px;bottom:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";display:block;left:1px;outline:2px solid transparent;position:absolute;right:1px;top:1px}.block-editor-block-breadcrumb__current{cursor:default}.block-editor-block-breadcrumb__button.components-button,.block-editor-block-breadcrumb__current{color:#1e1e1e;font-size:inherit;padding:0 8px}.block-editor-block-card{align-items:flex-start;color:#1e1e1e;display:flex;padding:16px}.block-editor-block-card__content{flex-grow:1}.block-editor-block-card__title{font-weight:500}.block-editor-block-card__title.block-editor-block-card__title{font-size:13px;line-height:24px;margin:0}.block-editor-block-card__description{display:block;font-size:13px;margin-top:4px}.block-editor-block-card .block-editor-block-icon{flex:0 0 24px;height:24px;margin-left:0;margin-right:12px;width:24px}.block-editor-block-card.is-synced .block-editor-block-icon{color:var(--wp-block-synced-color)}.block-editor-block-compare{height:auto}.block-editor-block-compare__wrapper{display:flex;padding-bottom:16px}.block-editor-block-compare__wrapper>div{display:flex;flex-direction:column;justify-content:space-between;max-width:600px;min-width:200px;padding:0 16px 0 0;width:50%}.block-editor-block-compare__wrapper>div button{float:right}.block-editor-block-compare__wrapper .block-editor-block-compare__converted{border-left:1px solid #ddd;padding-left:15px;padding-right:0}.block-editor-block-compare__wrapper .block-editor-block-compare__html{border-bottom:1px solid #ddd;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:12px;line-height:1.7;padding-bottom:15px}.block-editor-block-compare__wrapper .block-editor-block-compare__html span{background-color:#e6ffed;padding-bottom:3px;padding-top:3px}.block-editor-block-compare__wrapper .block-editor-block-compare__html span.block-editor-block-compare__added{background-color:#acf2bd}.block-editor-block-compare__wrapper .block-editor-block-compare__html span.block-editor-block-compare__removed{background-color:#cc1818}.block-editor-block-compare__wrapper .block-editor-block-compare__preview{padding:16px 0 0}.block-editor-block-compare__wrapper .block-editor-block-compare__preview p{font-size:12px;margin-top:0}.block-editor-block-compare__wrapper .block-editor-block-compare__action{margin-top:16px}.block-editor-block-compare__wrapper .block-editor-block-compare__heading{font-size:1em;font-weight:400;margin:.67em 0}.block-editor-block-draggable-chip-wrapper{left:0;position:absolute;top:-24px}.block-editor-block-draggable-chip{background-color:#1e1e1e;border-radius:2px;box-shadow:0 6px 8px rgba(0,0,0,.3);color:#fff;cursor:grabbing;display:inline-flex;height:48px;padding:0 13px;position:relative;-webkit-user-select:none;user-select:none;width:max-content}.block-editor-block-draggable-chip svg{fill:currentColor}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content{justify-content:flex-start;margin:auto}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content>.components-flex__item{margin-right:6px}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content>.components-flex__item:last-child{margin-right:0}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content .block-editor-block-icon svg{min-height:18px;min-width:18px}.block-editor-block-draggable-chip .components-flex__item{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.block-editor-block-draggable-chip__disabled.block-editor-block-draggable-chip__disabled{align-items:center;background-color:transparent;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:all .1s linear .1s}.block-editor-block-draggable-chip__disabled.block-editor-block-draggable-chip__disabled .block-editor-block-draggable-chip__disabled-icon{background:transparent linear-gradient(-45deg,transparent 47.5%,#fff 0,#fff 52.5%,transparent 0);border-radius:50%;box-shadow:inset 0 0 0 1.5px #fff;display:inline-block;height:20px;padding:0;width:20px}.block-draggable-invalid-drag-token .block-editor-block-draggable-chip__disabled.block-editor-block-draggable-chip__disabled{background-color:#757575;box-shadow:0 4px 8px rgba(0,0,0,.2);opacity:1}.block-editor-block-mover__move-button-container{border:none;display:flex;padding:0}@media (min-width:600px){.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container{flex-direction:column}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container>*{height:24px;min-width:0!important;width:100%}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container>:before{height:calc(100% - 4px)}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-up-button svg{flex-shrink:0;top:5px}.block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-down-button svg{bottom:5px;flex-shrink:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container{width:48px}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container>*{min-width:0!important;overflow:hidden;width:24px}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container .block-editor-block-mover-button{padding-left:0;padding-right:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-up-button svg{left:5px}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container .block-editor-block-mover-button.is-down-button svg{right:5px}}.block-editor-block-mover__drag-handle{cursor:grab}@media (min-width:600px){.block-editor-block-mover__drag-handle{min-width:0!important;overflow:hidden;width:24px}.block-editor-block-mover .block-editor-block-mover__drag-handle.has-icon.has-icon{padding-left:0;padding-right:0}}.components-button.block-editor-block-mover-button:before{animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards;border-radius:2px;content:"";display:block;height:32px;left:8px;position:absolute;right:8px;z-index:-1}@media (prefers-reduced-motion:reduce){.components-button.block-editor-block-mover-button:before{animation-delay:0s;animation-duration:1ms}}.components-button.block-editor-block-mover-button:focus,.components-button.block-editor-block-mover-button:focus:before,.components-button.block-editor-block-mover-button:focus:enabled{box-shadow:none;outline:none}.components-button.block-editor-block-mover-button:focus-visible:before{box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.block-editor-block-navigation__container{min-width:280px}.block-editor-block-navigation__label{color:#757575;font-size:11px;font-weight:500;margin:0 0 12px;text-transform:uppercase}.block-editor-block-patterns-list__list-item{cursor:pointer;margin-bottom:24px;position:relative}.block-editor-block-patterns-list__list-item.is-placeholder{min-height:100px}.block-editor-block-patterns-list__list-item[draggable=true]{cursor:grab}.block-editor-block-patterns-list__item{height:100%;scroll-margin-bottom:56px;scroll-margin-top:24px}.block-editor-block-patterns-list__item .block-editor-block-preview__container{align-items:center;border-radius:4px;display:flex;overflow:hidden}.block-editor-block-patterns-list__item .block-editor-block-patterns-list__item-title{flex-grow:1;text-align:left}.block-editor-block-patterns-list__item:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px #1e1e1e}.block-editor-block-patterns-list__item:focus .block-editor-block-preview__container{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) #1e1e1e;outline:2px solid transparent;outline-offset:2px}.block-editor-block-patterns-list__item.block-editor-block-patterns-list__list-item-synced:focus .block-editor-block-preview__container,.block-editor-block-patterns-list__item.block-editor-block-patterns-list__list-item-synced:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px var(--wp-block-synced-color),0 15px 25px rgba(0,0,0,.07)}.block-editor-block-patterns-list__item .block-editor-patterns__pattern-details{align-items:center;margin-top:8px}.block-editor-block-patterns-list__item .block-editor-patterns__pattern-icon-wrapper{height:24px;min-width:24px}.block-editor-block-patterns-list__item .block-editor-patterns__pattern-icon-wrapper .block-editor-patterns__pattern-icon{fill:var(--wp-block-synced-color)}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination{border-top:1px solid #2f2f2f;justify-content:center;padding:4px}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination .components-button.is-tertiary{height:32px;justify-content:center;width:auto}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination .components-button.is-tertiary:disabled{background:none;color:#949494}.block-editor-patterns__grid-pagination-wrapper .block-editor-patterns__grid-pagination .components-button.is-tertiary:hover:not(:disabled){background-color:#757575;color:#fff}.show-icon-labels .block-editor-patterns__grid-pagination,.show-icon-labels .block-editor-patterns__grid-pagination .block-editor-patterns__grid-pagination-next,.show-icon-labels .block-editor-patterns__grid-pagination .block-editor-patterns__grid-pagination-previous{flex-direction:column}.show-icon-labels .block-editor-patterns__grid-pagination .components-button{width:auto}.show-icon-labels .block-editor-patterns__grid-pagination .components-button span{display:none}.show-icon-labels .block-editor-patterns__grid-pagination .components-button:before{content:attr(aria-label)}.components-popover.block-editor-block-popover{margin:0!important;pointer-events:none;position:absolute;z-index:31}.components-popover.block-editor-block-popover .components-popover__content{margin:0!important;min-width:auto;overflow-y:visible;width:max-content}.components-popover.block-editor-block-popover:not(.block-editor-block-popover__inbetween,.block-editor-block-popover__drop-zone,.block-editor-block-list__block-side-inserter-popover) .components-popover__content *{pointer-events:all}.components-popover.block-editor-block-popover__inbetween,.components-popover.block-editor-block-popover__inbetween *{pointer-events:none}.components-popover.block-editor-block-popover__inbetween .is-with-inserter,.components-popover.block-editor-block-popover__inbetween .is-with-inserter *{pointer-events:all}.components-popover.block-editor-block-popover__drop-zone *{pointer-events:none}.components-popover.block-editor-block-popover__drop-zone .block-editor-block-popover__drop-zone-foreground{background-color:var(--wp-admin-theme-color);border-radius:2px;inset:0;position:absolute}.block-editor-block-preview__container{overflow:hidden;position:relative;width:100%}.block-editor-block-preview__container .block-editor-block-preview__content{left:0;margin:0;min-height:auto;overflow:visible;text-align:initial;top:0;transform-origin:top left;width:100%}.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-list__insertion-point,.block-editor-block-preview__container .block-editor-block-preview__content .block-list-appender{display:none}.block-editor-block-preview__container:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.block-editor-block-rename-modal{z-index:1000001}.block-editor-block-settings-menu__popover .components-dropdown-menu__menu{padding:0}.block-editor-block-styles+.default-style-picker__default-switcher{margin-top:16px}.block-editor-block-styles__preview-panel{display:none;z-index:90}@media (min-width:782px){.block-editor-block-styles__preview-panel{display:block}}.block-editor-block-styles__preview-panel .block-editor-block-icon{display:none}.block-editor-block-styles__variants{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item{box-shadow:inset 0 0 0 1px #ddd;color:#1e1e1e;display:inline-block;width:calc(50% - 4px)}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:hover{box-shadow:inset 0 0 0 1px #ddd;color:var(--wp-admin-theme-color)}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:hover{background-color:#1e1e1e;box-shadow:none}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active .block-editor-block-styles__item-text,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:hover .block-editor-block-styles__item-text{color:#fff}.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:focus,.block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:focus{box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.block-editor-block-styles__variants .block-editor-block-styles__item-text{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-editor-block-styles__block-preview-container,.block-editor-block-styles__block-preview-container *{box-sizing:border-box!important}.block-editor-block-switcher{position:relative}.block-editor-block-switcher .components-button.components-dropdown-menu__toggle.has-icon.has-icon{min-width:36px}.block-editor-block-switcher__no-switcher-icon,.block-editor-block-switcher__toggle{position:relative}.components-button.block-editor-block-switcher__no-switcher-icon,.components-button.block-editor-block-switcher__toggle{display:block;height:48px;margin:0}.components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-icon,.components-button.block-editor-block-switcher__toggle .block-editor-block-icon{margin:auto}.block-editor-block-switcher__toggle-text{margin-left:8px}.show-icon-labels .block-editor-block-switcher__toggle-text{display:none}.components-button.block-editor-block-switcher__no-switcher-icon{display:flex}.components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{margin-left:auto;margin-right:auto;min-width:24px!important}.components-button.block-editor-block-switcher__no-switcher-icon:disabled{opacity:1}.components-button.block-editor-block-switcher__no-switcher-icon:disabled,.components-button.block-editor-block-switcher__no-switcher-icon:disabled .block-editor-block-icon.has-colors{color:#1e1e1e}.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon .block-editor-block-icon,.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__toggle.has-icon.has-icon .block-editor-block-icon,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon .block-editor-block-icon,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__toggle.has-icon.has-icon .block-editor-block-icon{align-items:center;display:flex;height:100%;margin:0 auto;min-width:100%;position:relative}.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon:before,.block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__toggle.has-icon.has-icon:before,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon:before,.block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__toggle.has-icon.has-icon:before{bottom:8px;left:8px;right:8px;top:8px}.components-popover.block-editor-block-switcher__popover .components-popover__content{min-width:300px}.block-editor-block-switcher__popover__preview__parent .block-editor-block-switcher__popover__preview__container{left:calc(100% + 16px);position:absolute;top:-12px}.block-editor-block-switcher__preview__popover{display:none;overflow:hidden}.block-editor-block-switcher__preview__popover.components-popover{margin-top:11px}@media (min-width:782px){.block-editor-block-switcher__preview__popover{display:block}}.block-editor-block-switcher__preview__popover .components-popover__content{background:#fff;border:1px solid #1e1e1e;border-radius:2px;box-shadow:none;outline:none;overflow:auto;width:300px}.block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview{margin:16px 0;max-height:468px;overflow:hidden;padding:0 16px}.block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview.is-pattern-list-preview{overflow:unset}.block-editor-block-switcher__preview-title{color:#757575;font-size:11px;font-weight:500;margin-bottom:12px;text-transform:uppercase}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon{min-width:36px}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle{height:48px}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-icon,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-switcher__transform,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle .block-editor-block-icon,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle .block-editor-block-switcher__transform{height:48px;width:48px}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon .block-editor-block-switcher__transform,.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__toggle .block-editor-block-switcher__transform{padding:12px}.block-editor-block-switcher__preview-patterns-container{padding-bottom:16px}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item{margin-top:16px}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-preview__container{cursor:pointer}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item{border:1px solid transparent;border-radius:2px;height:100%;position:relative;transition:all .05s ease-in-out}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item:focus,.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item:hover{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item:hover{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) #1e1e1e}.block-editor-block-switcher__preview-patterns-container .block-editor-block-switcher__preview-patterns-container-list__list-item .block-editor-block-switcher__preview-patterns-container-list__item .block-editor-block-switcher__preview-patterns-container-list__item-title{cursor:pointer;font-size:12px;padding:4px;text-align:center}.block-editor-block-switcher__no-transforms{color:#757575;margin:0;padding:6px 8px}.block-editor-block-types-list>[role=presentation]{display:flex;flex-wrap:wrap;overflow:hidden}.block-editor-block-pattern-setup{align-items:flex-start;border-radius:2px;display:flex;flex-direction:column;justify-content:center;width:100%}.block-editor-block-pattern-setup.view-mode-grid{padding-top:4px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__toolbar{justify-content:center}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container{column-count:2;column-gap:24px;display:block;padding:0 32px;width:100%}@media (min-width:1440px){.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container{column-count:3}}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-preview__container,.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container div[role=button]{cursor:pointer}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item{scroll-margin:5px 0}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px var(--wp-admin-theme-color)}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:focus .block-editor-block-preview__container{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:2px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:focus .block-editor-block-pattern-setup-list__item-title,.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:hover .block-editor-block-pattern-setup-list__item-title{color:var(--wp-admin-theme-color)}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item{break-inside:avoid-column;margin-bottom:24px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item .block-editor-block-pattern-setup-list__item-title{cursor:pointer;font-size:12px;padding-top:8px;text-align:center}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item .block-editor-block-preview__container{border:1px solid #ddd;border-radius:2px;min-height:100px}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__list-item .block-editor-block-preview__content{width:100%}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar{align-items:center;align-self:stretch;background-color:#fff;border-top:1px solid #ddd;bottom:0;box-sizing:border-box;color:#1e1e1e;display:flex;flex-direction:row;height:60px;justify-content:space-between;margin:0;padding:16px;position:absolute;text-align:left;width:100%}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__display-controls{display:flex}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__actions,.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__navigation{display:flex;width:calc(50% - 36px)}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__actions{justify-content:flex-end}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container{box-sizing:border-box;display:flex;flex-direction:column;height:100%;width:100%}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container{height:100%;list-style:none;margin:0;overflow:hidden;padding:0;position:relative;transform-style:preserve-3d}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container *{box-sizing:border-box}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide{background-color:#fff;height:100%;margin:auto;padding:0;position:absolute;top:0;transition:transform .5s,z-index .5s;width:100%;z-index:100}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide.active-slide{opacity:1;position:relative;z-index:102}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide.previous-slide{transform:translateX(-100%);z-index:101}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container .pattern-slide.next-slide{transform:translateX(100%);z-index:101}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .block-list-appender{display:none}.block-editor-block-pattern-setup__carousel,.block-editor-block-pattern-setup__grid{width:100%}.block-editor-block-variation-transforms{padding:0 16px 16px 52px;width:100%}.block-editor-block-variation-transforms .components-dropdown-menu__toggle{border:1px solid #757575;border-radius:2px;justify-content:left;min-height:30px;padding:6px 12px;position:relative;text-align:left;width:100%}.block-editor-block-variation-transforms .components-dropdown-menu__toggle.components-dropdown-menu__toggle{padding-right:24px}.block-editor-block-variation-transforms .components-dropdown-menu__toggle:focus:not(:disabled){border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 calc(var(--wp-admin-border-width-focus) - 1px) var(--wp-admin-theme-color)}.block-editor-block-variation-transforms .components-dropdown-menu__toggle svg{height:100%;padding:0;position:absolute;right:0;top:0}.block-editor-block-variation-transforms__popover .components-popover__content{min-width:230px}.components-border-radius-control{margin-bottom:12px}.components-border-radius-control legend{margin-bottom:8px}.components-border-radius-control .components-border-radius-control__wrapper{align-items:flex-start;display:flex;justify-content:space-between}.components-border-radius-control .components-border-radius-control__wrapper .components-border-radius-control__unit-control{flex-shrink:0;margin-bottom:0;margin-right:16px;width:calc(50% - 8px)}.components-border-radius-control .components-border-radius-control__wrapper .components-border-radius-control__range-control{flex:1;margin-right:12px}.components-border-radius-control .components-border-radius-control__wrapper .components-border-radius-control__range-control>div{align-items:center;display:flex;height:40px}.components-border-radius-control .components-border-radius-control__wrapper>span{flex:0 0 auto}.components-border-radius-control .components-border-radius-control__input-controls-wrapper{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-right:12px}.components-border-radius-control .component-border-radius-control__linked-button{display:flex;justify-content:center;margin-top:8px}.components-border-radius-control .component-border-radius-control__linked-button svg{margin-right:0}.block-editor-color-gradient-control .block-editor-color-gradient-control__color-indicator{margin-bottom:12px}.block-editor-color-gradient-control__fieldset{min-width:0}.block-editor-panel-color-gradient-settings.block-editor-panel-color-gradient-settings,.block-editor-panel-color-gradient-settings.block-editor-panel-color-gradient-settings>div:not(:first-of-type){display:block}@media screen and (min-width:782px){.block-editor-panel-color-gradient-settings .components-circular-option-picker__swatches{display:grid;grid-template-columns:repeat(6,28px)}}.block-editor-block-inspector .block-editor-panel-color-gradient-settings .components-base-control{margin-bottom:inherit}.block-editor-panel-color-gradient-settings__dropdown-content .block-editor-color-gradient-control__panel{padding:16px;width:260px}.block-editor-panel-color-gradient-settings__color-indicator{background:linear-gradient(-45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0)}.block-editor-tools-panel-color-gradient-settings__item{border-bottom:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #ddd;max-width:100%;padding:0}.block-editor-tools-panel-color-gradient-settings__item:nth-child(1 of .block-editor-tools-panel-color-gradient-settings__item){border-top:1px solid #ddd;border-top-left-radius:2px;border-top-right-radius:2px;margin-top:24px}.block-editor-tools-panel-color-gradient-settings__item:nth-last-child(1 of .block-editor-tools-panel-color-gradient-settings__item){border-bottom-left-radius:2px;border-bottom-right-radius:2px}.block-editor-tools-panel-color-gradient-settings__item>div,.block-editor-tools-panel-color-gradient-settings__item>div>button{border-radius:inherit}.block-editor-tools-panel-color-gradient-settings__dropdown{display:block;padding:0}.block-editor-tools-panel-color-gradient-settings__dropdown>button{height:auto;padding-bottom:10px;padding-top:10px;text-align:left}.block-editor-tools-panel-color-gradient-settings__dropdown>button.is-open{background:#f0f0f0;color:var(--wp-admin-theme-color)}.block-editor-tools-panel-color-gradient-settings__dropdown .block-editor-panel-color-gradient-settings__color-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-panel-color-gradient-settings__dropdown{width:100%}.block-editor-panel-color-gradient-settings__dropdown .component-color-indicator{flex-shrink:0}.block-editor-date-format-picker{margin-bottom:16px}.block-editor-date-format-picker__custom-format-select-control__custom-option{border-top:1px solid #ddd}.block-editor-date-format-picker__custom-format-select-control__custom-option.has-hint{grid-template-columns:auto 30px}.block-editor-date-format-picker__custom-format-select-control__custom-option .components-custom-select-control__item-hint{grid-row:2;text-align:left}.block-editor-duotone-control__popover>.components-popover__content{padding:16px;width:260px}.block-editor-duotone-control__popover .components-menu-group__label{padding:0}.block-editor-duotone-control__popover .components-circular-option-picker__swatches{display:grid;gap:12px;grid-template-columns:repeat(6,28px);justify-content:space-between}.block-editor-duotone-control__unset-indicator{background:linear-gradient(-45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0)}.components-font-appearance-control ul li{color:#1e1e1e;text-transform:capitalize}.block-editor-global-styles-effects-panel__toggle-icon{fill:currentColor}.block-editor-global-styles-effects-panel__shadow-popover-container{width:230px}.block-editor-global-styles-effects-panel__shadow-dropdown,.block-editor-global-styles-filters-panel__dropdown{display:block;padding:0}.block-editor-global-styles-effects-panel__shadow-dropdown button,.block-editor-global-styles-filters-panel__dropdown button{padding:8px;width:100%}.block-editor-global-styles-effects-panel__shadow-dropdown button.is-open,.block-editor-global-styles-filters-panel__dropdown button.is-open{background-color:#f0f0f0}.block-editor-global-styles-effects-panel__shadow-indicator-wrapper{align-items:center;display:flex;justify-content:center;overflow:hidden;padding:6px}.block-editor-global-styles-effects-panel__shadow-indicator{border:1px solid #e0e0e0;border-radius:2px;color:#2f2f2f;cursor:pointer;height:24px;padding:0;width:24px}.block-editor-global-styles-advanced-panel__custom-css-input textarea{direction:ltr;font-family:Menlo,Consolas,monaco,monospace}.block-editor-global-styles-advanced-panel__custom-css-validation-wrapper{bottom:16px;position:absolute;right:24px}.block-editor-global-styles-advanced-panel__custom-css-validation-icon{fill:#cc1818}.block-editor-height-control{border:0;margin:0;padding:0}.block-editor-image-size-control{margin-bottom:1em}.block-editor-image-size-control .block-editor-image-size-control__height,.block-editor-image-size-control .block-editor-image-size-control__width{margin-bottom:1.115em}.block-editor-block-types-list__list-item{display:block;margin:0;padding:0;width:33.33%}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled) .block-editor-block-icon.has-colors{color:var(--wp-block-synced-color)}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled):hover .block-editor-block-types-list__item-title{color:var(--wp-block-synced-color)!important;filter:brightness(.95)}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled):hover svg{color:var(--wp-block-synced-color)!important}.block-editor-block-types-list__list-item.is-synced .components-button.block-editor-block-types-list__item:not(:disabled):after{background:var(--wp-block-synced-color)}.components-button.block-editor-block-types-list__item{align-items:stretch;background:transparent;border-radius:2px;color:#1e1e1e;cursor:pointer;display:flex;flex-direction:column;font-size:13px;height:auto;justify-content:center;padding:8px;position:relative;transition:all .05s ease-in-out;width:100%;word-break:break-word}@media (prefers-reduced-motion:reduce){.components-button.block-editor-block-types-list__item{transition-delay:0s;transition-duration:0s}}.components-button.block-editor-block-types-list__item:disabled{cursor:default;opacity:.6}.components-button.block-editor-block-types-list__item:not(:disabled):hover .block-editor-block-types-list__item-title{color:var(--wp-admin-theme-color)!important;filter:brightness(.95)}.components-button.block-editor-block-types-list__item:not(:disabled):hover svg{color:var(--wp-admin-theme-color)!important}.components-button.block-editor-block-types-list__item:not(:disabled):hover:after{background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.04;pointer-events:none;position:absolute;right:0;top:0}.components-button.block-editor-block-types-list__item:not(:disabled):focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-button.block-editor-block-types-list__item:not(:disabled).is-active{background:#1e1e1e;color:#fff;outline:2px solid transparent;outline-offset:-2px}.block-editor-block-types-list__item-icon{border-radius:2px;color:#1e1e1e;padding:12px 20px;transition:all .05s ease-in-out}@media (prefers-reduced-motion:reduce){.block-editor-block-types-list__item-icon{transition-delay:0s;transition-duration:0s}}.block-editor-block-types-list__item-icon .block-editor-block-icon{margin-left:auto;margin-right:auto}.block-editor-block-types-list__item-icon svg{transition:all .15s ease-out}@media (prefers-reduced-motion:reduce){.block-editor-block-types-list__item-icon svg{transition-delay:0s;transition-duration:0s}}.block-editor-block-types-list__list-item[draggable=true] .block-editor-block-types-list__item-icon{cursor:grab}.block-editor-block-types-list__item-title{font-size:12px;padding:4px 2px 8px}.show-icon-labels .block-editor-block-inspector__tabs [role=tablist] .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-block-inspector__tabs [role=tablist] .components-button.has-icon:before{content:attr(aria-label)}.block-editor-inspector-controls-tabs__hint{align-items:flex-start;background:#f0f0f0;border-radius:2px;color:#1e1e1e;display:flex;flex-direction:row;font-size:13px;margin:16px}.block-editor-inspector-controls-tabs__hint-content{margin:12px 0 12px 12px}.block-editor-inspector-controls-tabs__hint-dismiss{margin:4px 4px 4px 0}.block-editor-inspector-popover-header{margin-bottom:16px}[class].block-editor-inspector-popover-header__action{height:24px}[class].block-editor-inspector-popover-header__action.has-icon{min-width:24px;padding:0}[class].block-editor-inspector-popover-header__action:not(.has-icon){text-decoration:underline}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}@keyframes loadingpulse{0%{opacity:1}50%{opacity:0}to{opacity:1}}.block-editor-link-control{min-width:350px;position:relative}.components-popover__content .block-editor-link-control{max-width:350px;min-width:auto;width:90vw}.show-icon-labels .block-editor-link-control .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-link-control .components-button.has-icon:before{content:attr(aria-label)}.block-editor-link-control__search-input-wrapper{margin-bottom:8px;position:relative}.block-editor-link-control__search-input-container,.block-editor-link-control__search-input-wrapper{position:relative}.block-editor-link-control__field{margin:16px}.block-editor-link-control__field .components-base-control__label{color:#1e1e1e}.block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:40px;line-height:normal;margin:0;padding:8px 40px 8px 16px;position:relative;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.block-editor-link-control__field input[type=text],.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{font-size:13px;line-height:normal}}.block-editor-link-control__field input[type=text]:focus,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-link-control__field input[type=text]::-webkit-input-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control__field input[type=text]::-moz-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.block-editor-link-control__field input[type=text]:-ms-input-placeholder,.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:-ms-input-placeholder{color:rgba(30,30,30,.62)}.has-actions .block-editor-link-control__field input[type=text],.has-actions .block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input{padding-right:16px}.block-editor-link-control__search-error{margin:-8px 16px 16px}.block-editor-link-control__search-enter{position:absolute;right:19px;top:3px}.block-editor-link-control__search-enter svg{position:relative;top:-2px}.block-editor-link-control__search-actions{padding:8px 16px 16px}.block-editor-link-control__search-results-wrapper{position:relative}.block-editor-link-control__search-results-wrapper:after,.block-editor-link-control__search-results-wrapper:before{content:"";display:block;left:-1px;pointer-events:none;position:absolute;right:16px;z-index:100}.block-editor-link-control__search-results-wrapper:before{bottom:auto;height:8px;top:0}.block-editor-link-control__search-results-wrapper:after{bottom:0;height:16px;top:auto}.block-editor-link-control__search-results{margin-top:-16px;max-height:200px;overflow-y:auto;padding:8px}.block-editor-link-control__search-results.is-loading{opacity:.2}.block-editor-link-control__search-item.components-button.components-menu-item__button{height:auto;text-align:left}.block-editor-link-control__search-item .components-menu-item__item{display:inline-block;overflow:hidden;text-overflow:ellipsis;width:100%}.block-editor-link-control__search-item .components-menu-item__item mark{background-color:transparent;color:inherit;font-weight:600}.block-editor-link-control__search-item .components-menu-item__shortcut{color:#757575;text-transform:capitalize;white-space:nowrap}.block-editor-link-control__search-item[aria-selected]{background:#f0f0f0}.block-editor-link-control__search-item.is-current{background:transparent;border:0;cursor:default;flex-direction:column;padding:16px;width:100%}.block-editor-link-control__search-item .block-editor-link-control__search-item-header{align-items:flex-start;display:block;flex-direction:row;gap:8px;margin-right:8px;overflow-wrap:break-word;white-space:pre-wrap}.block-editor-link-control__search-item .block-editor-link-control__search-item-header .block-editor-link-control__search-item-info{color:#757575;font-size:12px;line-height:1.1;word-break:break-all}.block-editor-link-control__search-item.is-preview .block-editor-link-control__search-item-header{display:flex;flex:1}.block-editor-link-control__search-item.is-error .block-editor-link-control__search-item-header{align-items:center}.block-editor-link-control__search-item.is-url-title .block-editor-link-control__search-item-title{word-break:break-all}.block-editor-link-control__search-item .block-editor-link-control__search-item-details{display:flex;flex-direction:column;gap:4px;justify-content:space-between}.block-editor-link-control__search-item .block-editor-link-control__search-item-header .block-editor-link-control__search-item-icon{background-color:#f0f0f0;border-radius:2px;height:32px;width:32px}.block-editor-link-control__search-item .block-editor-link-control__search-item-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center;position:relative}.block-editor-link-control__search-item .block-editor-link-control__search-item-icon img{width:16px}.block-editor-link-control__search-item.is-error .block-editor-link-control__search-item-icon{max-height:32px;top:0;width:32px}.block-editor-link-control__search-item .block-editor-link-control__search-item-title{border-radius:2px;line-height:1.1}.block-editor-link-control__search-item .block-editor-link-control__search-item-title:focus-visible{box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent;text-decoration:none}.block-editor-link-control__search-item .block-editor-link-control__search-item-title mark{background-color:transparent;color:inherit;font-weight:600}.block-editor-link-control__search-item .block-editor-link-control__search-item-title span{font-weight:400}.block-editor-link-control__search-item .block-editor-link-control__search-item-title svg{display:none}.block-editor-link-control__search-item-top{align-items:center;display:flex;flex-direction:row;width:100%}.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon img,.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon svg{opacity:0}.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon:before{animation:loadingpulse 1s linear infinite;animation-delay:.5s;background-color:#f0f0f0;border-radius:100%;bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.block-editor-link-control__loading{align-items:center;display:flex;margin:16px}.block-editor-link-control__loading .components-spinner{margin-top:0}.components-button+.block-editor-link-control__search-create{overflow:visible;padding:12px 16px}.components-button+.block-editor-link-control__search-create:before{content:"";display:block;left:0;position:absolute;top:-10px;width:100%}.block-editor-link-control__search-create{align-items:center}.block-editor-link-control__search-create .block-editor-link-control__search-item-title{margin-bottom:0}.block-editor-link-control__search-create .block-editor-link-control__search-item-icon{top:0}.block-editor-link-control__drawer{display:flex;flex-basis:100%;flex-direction:column;order:30}.block-editor-link-control__drawer-inner{display:flex;flex-basis:100%;flex-direction:column;position:relative}.block-editor-link-control__unlink{padding-left:16px;padding-right:16px}.block-editor-link-control__setting{flex:1;margin-bottom:0;padding:8px 0 8px 24px}.block-editor-link-control__setting .components-base-control__field{display:flex}.block-editor-link-control__setting .components-base-control__field .components-checkbox-control__label{color:#1e1e1e}.block-editor-link-control__setting input{margin-left:0}.is-preview .block-editor-link-control__setting{padding:20px 8px 8px 0}.block-editor-link-control__tools{margin-top:-16px;padding:8px 8px 0}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle{gap:0;padding-left:0}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true]{color:#1e1e1e}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true] svg{transform:rotate(90deg);transition:transform .1s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true] svg{transition-delay:0s;transition-duration:0s}}.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=false] svg{transform:rotate(0deg);transition:transform .1s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=false] svg{transition-delay:0s;transition-duration:0s}}.block-editor-link-control .block-editor-link-control__search-input .components-spinner{display:block}.block-editor-link-control .block-editor-link-control__search-input .components-spinner.components-spinner{bottom:auto;left:auto;position:absolute;right:40px;top:calc(50% - 8px)}.block-editor-link-control .block-editor-link-control__search-input-wrapper.has-actions .components-spinner{right:12px;top:calc(50% + 4px)}.block-editor-link-control__search-item-action{flex-shrink:0;margin-left:auto}.block-editor-list-view-tree{border-collapse:collapse;margin:0;padding:0;width:100%}.components-modal__content .block-editor-list-view-tree{margin:-12px -6px 0;width:calc(100% + 12px)}.block-editor-list-view-tree.is-dragging tbody{pointer-events:none}.block-editor-list-view-leaf{position:relative;transform:translateY(0)}.block-editor-list-view-leaf.is-draggable,.block-editor-list-view-leaf.is-draggable .block-editor-list-view-block-contents{cursor:grab}.block-editor-list-view-leaf .block-editor-list-view-block-select-button[aria-expanded=true]{color:inherit}.block-editor-list-view-leaf .block-editor-list-view-block-select-button:hover{color:var(--wp-admin-theme-color)}.is-dragging-components-draggable .block-editor-list-view-leaf:not(.is-selected) .block-editor-list-view-block-select-button:hover{color:inherit}.block-editor-list-view-leaf.is-selected td{background:var(--wp-admin-theme-color)}.block-editor-list-view-leaf.is-selected.is-synced td{background:var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents .block-editor-block-icon,.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents:focus,.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents:hover{color:var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-synced:not(.is-selected) .block-editor-list-view-block-contents:focus:after{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents,.block-editor-list-view-leaf.is-selected .components-button.has-icon{color:#fff}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents:focus:after{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-list-view-leaf.is-selected.is-synced .block-editor-list-view-block-contents:focus:after{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block__menu:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #fff}.block-editor-list-view-leaf.is-first-selected td:first-child{border-top-left-radius:2px}.block-editor-list-view-leaf.is-first-selected td:last-child{border-top-right-radius:2px}.block-editor-list-view-leaf.is-last-selected td:first-child{border-bottom-left-radius:2px}.block-editor-list-view-leaf.is-last-selected td:last-child{border-bottom-right-radius:2px}.block-editor-list-view-leaf.is-branch-selected:not(.is-selected):not(.is-synced-branch){background:rgba(var(--wp-admin-theme-color--rgb),.04)}.block-editor-list-view-leaf.is-synced-branch.is-branch-selected{background:rgba(var(--wp-block-synced-color--rgb),.04)}.block-editor-list-view-leaf.is-branch-selected.is-first-selected td:first-child{border-top-left-radius:2px}.block-editor-list-view-leaf.is-branch-selected.is-first-selected td:last-child{border-top-right-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-first-selected td:first-child{border-top-left-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-first-selected td:last-child{border-top-right-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-last-selected td:first-child{border-bottom-left-radius:2px}.block-editor-list-view-leaf[data-expanded=false].is-branch-selected.is-last-selected td:last-child{border-bottom-right-radius:2px}.block-editor-list-view-leaf.is-branch-selected:not(.is-selected) td{border-radius:0}.block-editor-list-view-leaf.is-displacement-normal{transform:translateY(0);transition:transform .2s}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-displacement-normal{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf.is-displacement-up{transform:translateY(-36px);transition:transform .2s}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-displacement-up{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf.is-displacement-down{transform:translateY(36px);transition:transform .2s}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-displacement-down{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf.is-after-dragged-blocks{transform:translateY(calc(var(--wp-admin--list-view-dragged-items-height, 36px)*-1));transition:transform .2s}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-after-dragged-blocks{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-up{transform:translateY(calc(-36px + var(--wp-admin--list-view-dragged-items-height, 36px)*-1));transition:transform .2s}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-up{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-down{transform:translateY(calc(36px + var(--wp-admin--list-view-dragged-items-height, 36px)*-1));transition:transform .2s}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-after-dragged-blocks.is-displacement-down{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf.is-dragging{left:0;opacity:0;pointer-events:none;z-index:-9999}.block-editor-list-view-leaf .block-editor-list-view-block-contents{align-items:center;border-radius:2px;display:flex;height:auto;padding:6px 4px 6px 0;position:relative;text-align:left;white-space:nowrap;width:100%}.block-editor-list-view-leaf .block-editor-list-view-block-contents.is-dropping-before:before{border-top:4px solid var(--wp-admin-theme-color);content:"";left:0;pointer-events:none;position:absolute;right:0;top:-2px;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear}.components-modal__content .block-editor-list-view-leaf .block-editor-list-view-block-contents{padding-left:0;padding-right:0}.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus,.block-editor-list-view-leaf.is-nesting .block-editor-list-view-block-contents{box-shadow:none}.block-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after,.block-editor-list-view-leaf.is-nesting .block-editor-list-view-block-contents:after{border-radius:inherit;bottom:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:0;pointer-events:none;position:absolute;right:-29px;top:0;z-index:2}.block-editor-list-view-leaf.has-single-cell .block-editor-list-view-block-contents:focus:after{right:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu:focus,.block-editor-list-view-leaf.is-nesting .block-editor-list-view__menu{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);z-index:1}.block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents{animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards;opacity:1}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents{animation-delay:0s;animation-duration:1ms}}.block-editor-list-view-leaf .block-editor-block-icon{flex:0 0 24px;margin-right:8px}.block-editor-list-view-leaf .block-editor-list-view-block__contents-cell,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell{padding-bottom:0;padding-top:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell{line-height:0;vertical-align:middle;width:36px}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell>*{opacity:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell.is-visible>*,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell:focus-within>*,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell:hover>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell.is-visible>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell:focus-within>*,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell:hover>*{opacity:1}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell .components-button.has-icon,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell .components-button.has-icon{min-width:24px;padding:0;width:24px}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell{padding-right:4px}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell .components-button.has-icon{height:24px}.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell-alignment-wrapper{align-items:center;display:flex;flex-direction:column;height:100%}.block-editor-list-view-leaf .block-editor-block-mover-button{height:24px;position:relative;width:36px}.block-editor-list-view-leaf .block-editor-block-mover-button svg{height:24px;position:relative}.block-editor-list-view-leaf .block-editor-block-mover-button.is-up-button{align-items:flex-end;margin-top:-6px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-up-button svg{bottom:-4px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-down-button{align-items:flex-start;margin-bottom:-6px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-down-button svg{top:-4px}.block-editor-list-view-leaf .block-editor-block-mover-button:before{height:16px;left:0;min-width:100%;right:0}.block-editor-list-view-leaf .block-editor-inserter__toggle{background:#1e1e1e;color:#fff;height:24px;margin:6px 6px 6px 1px;min-width:24px}.block-editor-list-view-leaf .block-editor-inserter__toggle:active{color:#fff}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__label-wrapper{min-width:120px}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__title{flex:1;position:relative}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__title .components-truncate{position:absolute;transform:translateY(-50%);width:100%}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__anchor-wrapper{max-width:min(110px,40%);position:relative;width:100%}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__anchor{background:rgba(0,0,0,.1);border-radius:2px;box-sizing:border-box;max-width:100%;padding:2px 6px;position:absolute;right:0;transform:translateY(-50%)}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__anchor{background:rgba(0,0,0,.3)}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__lock{line-height:0}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__images{display:flex}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__image{background-size:cover;border-radius:2px;height:18px;width:18px}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__image:not(:only-child){box-shadow:0 0 0 2px #fff}.block-editor-list-view-leaf .block-editor-list-view-block-select-button__image:not(:first-child){margin-left:-6px}.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__image:not(:only-child){box-shadow:0 0 0 2px var(--wp-admin-theme-color)}.block-editor-list-view-draggable-chip{opacity:.8}.block-editor-list-view-appender__cell .block-editor-list-view-appender__container,.block-editor-list-view-appender__cell .block-editor-list-view-block__contents-container,.block-editor-list-view-block__contents-cell .block-editor-list-view-appender__container,.block-editor-list-view-block__contents-cell .block-editor-list-view-block__contents-container{display:flex}.block-editor-list-view__expander{cursor:pointer;height:24px;margin-left:4px;width:24px}.block-editor-list-view-leaf[aria-level] .block-editor-list-view__expander{margin-left:220px}.block-editor-list-view-leaf:not([aria-level="1"]) .block-editor-list-view__expander{margin-right:4px}.block-editor-list-view-leaf[aria-level="1"] .block-editor-list-view__expander{margin-left:0}.block-editor-list-view-leaf[aria-level="2"] .block-editor-list-view__expander{margin-left:24px}.block-editor-list-view-leaf[aria-level="3"] .block-editor-list-view__expander{margin-left:52px}.block-editor-list-view-leaf[aria-level="4"] .block-editor-list-view__expander{margin-left:80px}.block-editor-list-view-leaf[aria-level="5"] .block-editor-list-view__expander{margin-left:108px}.block-editor-list-view-leaf[aria-level="6"] .block-editor-list-view__expander{margin-left:136px}.block-editor-list-view-leaf[aria-level="7"] .block-editor-list-view__expander{margin-left:164px}.block-editor-list-view-leaf[aria-level="8"] .block-editor-list-view__expander{margin-left:192px}.block-editor-list-view-leaf .block-editor-list-view__expander{visibility:hidden}.block-editor-list-view-leaf[data-expanded=true] .block-editor-list-view__expander svg{transform:rotate(90deg);transition:transform .2s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf[data-expanded=true] .block-editor-list-view__expander svg{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-leaf[data-expanded=false] .block-editor-list-view__expander svg{transform:rotate(0deg);transition:transform .2s ease;visibility:visible}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf[data-expanded=false] .block-editor-list-view__expander svg{transition-delay:0s;transition-duration:0s}}.block-editor-list-view-drop-indicator{pointer-events:none}.block-editor-list-view-drop-indicator .block-editor-list-view-drop-indicator__line{background:var(--wp-admin-theme-color);border-radius:4px;height:4px}.block-editor-list-view-drop-indicator--preview{pointer-events:none}.block-editor-list-view-drop-indicator--preview .components-popover__content{overflow:hidden!important}.block-editor-list-view-drop-indicator--preview .block-editor-list-view-drop-indicator__line{background:rgba(var(--wp-admin-theme-color--rgb),.04);border-radius:4px;height:36px;overflow:hidden}.block-editor-list-view-drop-indicator--preview .block-editor-list-view-drop-indicator__line--darker{background:rgba(var(--wp-admin-theme-color--rgb),.09)}.block-editor-list-view-placeholder{height:36px;margin:0;padding:0}.list-view-appender .block-editor-inserter__toggle{background-color:#1e1e1e;border-radius:2px;color:#fff;height:24px;margin:8px 0 0 24px;min-width:24px;padding:0}.list-view-appender .block-editor-inserter__toggle:focus,.list-view-appender .block-editor-inserter__toggle:hover{background:var(--wp-admin-theme-color);color:#fff}.list-view-appender__description,.modal-open .block-editor-media-replace-flow__options{display:none}.block-editor-media-replace-flow__indicator{margin-left:4px}.block-editor-media-flow__url-input{margin-left:-8px;margin-right:-8px;padding:16px}.block-editor-media-flow__url-input.has-siblings{border-top:1px solid #1e1e1e;margin-top:8px;padding-bottom:8px}.block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label{display:block;margin-bottom:8px;top:16px}.block-editor-media-flow__url-input .block-editor-link-control{width:300px}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-url-input{margin:0;padding:0}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-info,.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-title{max-width:200px;white-space:nowrap}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__tools{justify-content:flex-end;padding:16px var(--wp-admin-border-width-focus) var(--wp-admin-border-width-focus)}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item.is-current{padding:0;width:auto}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]{margin:0;width:100%}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-actions{padding:8px 0 0}.block-editor-media-flow__error{max-width:255px;padding:0 20px 20px}.block-editor-media-flow__error .components-with-notices-ui{max-width:255px}.block-editor-media-flow__error .components-with-notices-ui .components-notice__content{word-wrap:break-word;overflow:hidden}.block-editor-media-flow__error .components-with-notices-ui .components-notice__dismiss{position:absolute;right:10px}.block-editor-multi-selection-inspector__card{align-items:flex-start;display:flex;padding:16px}.block-editor-multi-selection-inspector__card-content{flex-grow:1}.block-editor-multi-selection-inspector__card-title{font-weight:500;margin-bottom:5px}.block-editor-multi-selection-inspector__card-description{font-size:13px}.block-editor-multi-selection-inspector__card .block-editor-block-icon{height:24px;margin-left:-2px;margin-right:10px;padding:0 3px;width:36px}.block-editor-responsive-block-control{border-bottom:1px solid #ccc;margin-bottom:28px;padding-bottom:14px}.block-editor-responsive-block-control:last-child{border-bottom:0;padding-bottom:0}.block-editor-responsive-block-control__title{margin:0 0 .6em -3px}.block-editor-responsive-block-control__label{font-weight:600;margin-bottom:.6em;margin-left:-3px}.block-editor-responsive-block-control__inner{margin-left:-1px}.block-editor-responsive-block-control__toggle{margin-left:1px}.block-editor-responsive-block-control .components-base-control__help{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.components-popover.block-editor-rich-text__inline-format-toolbar{z-index:99998}.components-popover.block-editor-rich-text__inline-format-toolbar .components-popover__content{box-shadow:none;margin-bottom:8px;min-width:auto;outline:none;width:auto}.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar{border-radius:2px}.components-popover.block-editor-rich-text__inline-format-toolbar .components-dropdown-menu__toggle,.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar__control{min-height:48px;min-width:48px;padding-left:12px;padding-right:12px}.block-editor-rich-text__inline-format-toolbar-group .components-dropdown-menu__toggle{justify-content:center}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button.has-icon{width:auto}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button.has-icon:after{content:attr(aria-label)}.block-editor-skip-to-selected-block{position:absolute;top:-9999em}.block-editor-skip-to-selected-block:focus{background:#f1f1f1;box-shadow:0 0 2px 2px rgba(0,0,0,.6);color:var(--wp-admin-theme-color);display:block;font-size:14px;font-weight:600;height:auto;line-height:normal;outline:none;padding:15px 23px 14px;text-decoration:none;width:auto;z-index:100000}.block-editor-text-decoration-control{border:0;margin:0;padding:0}.block-editor-text-decoration-control .block-editor-text-decoration-control__buttons{display:flex;padding:4px 0}.block-editor-text-decoration-control .components-button.has-icon{height:32px;margin-right:4px;min-width:32px;padding:0}.block-editor-text-transform-control{border:0;margin:0;padding:0}.block-editor-text-transform-control .block-editor-text-transform-control__buttons{display:flex;padding:4px 0}.block-editor-text-transform-control .components-button.has-icon{height:32px;margin-right:4px;min-width:32px;padding:0}.block-editor-tool-selector__help{border-top:1px solid #ddd;color:#757575;margin:8px -8px -8px;min-width:280px;padding:16px}.block-editor-block-list__block .block-editor-url-input,.block-editor-url-input,.components-popover .block-editor-url-input{flex-grow:1;padding:1px;position:relative}.block-editor-block-list__block .block-editor-url-input input[type=text],.block-editor-url-input input[type=text],.components-popover .block-editor-url-input input[type=text]{border:none;border-radius:0;font-size:16px;margin-left:0;margin-right:0;padding:8px 8px 8px 12px;width:100%}@media (min-width:600px){.block-editor-block-list__block .block-editor-url-input input[type=text],.block-editor-url-input input[type=text],.components-popover .block-editor-url-input input[type=text]{font-size:13px;width:300px}}.block-editor-block-list__block .block-editor-url-input input[type=text]::-ms-clear,.block-editor-url-input input[type=text]::-ms-clear,.components-popover .block-editor-url-input input[type=text]::-ms-clear{display:none}.block-editor-block-list__block .block-editor-url-input.is-full-width,.block-editor-block-list__block .block-editor-url-input.is-full-width .block-editor-url-input__input[type=text],.block-editor-block-list__block .block-editor-url-input.is-full-width__suggestions,.block-editor-url-input.is-full-width,.block-editor-url-input.is-full-width .block-editor-url-input__input[type=text],.block-editor-url-input.is-full-width__suggestions,.components-popover .block-editor-url-input.is-full-width,.components-popover .block-editor-url-input.is-full-width .block-editor-url-input__input[type=text],.components-popover .block-editor-url-input.is-full-width__suggestions{width:100%}.block-editor-block-list__block .block-editor-url-input .components-spinner,.block-editor-url-input .components-spinner,.components-popover .block-editor-url-input .components-spinner{margin:0;position:absolute;right:8px;top:calc(50% - 8px)}.block-editor-url-input__input[type=text]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:6px 8px;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.block-editor-url-input__input[type=text]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.block-editor-url-input__input[type=text]{font-size:13px;line-height:normal}}.block-editor-url-input__input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-url-input__input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-url-input__input[type=text]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.block-editor-url-input__input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-url-input__suggestions{max-height:200px;overflow-y:auto;padding:4px 0;transition:all .15s ease-in-out;width:302px}@media (prefers-reduced-motion:reduce){.block-editor-url-input__suggestions{transition-delay:0s;transition-duration:0s}}.block-editor-url-input .components-spinner,.block-editor-url-input__suggestions{display:none}@media (min-width:600px){.block-editor-url-input .components-spinner,.block-editor-url-input__suggestions{display:grid}}.block-editor-url-input__suggestion{background:#fff;border:none;box-shadow:none;color:#757575;cursor:pointer;display:block;font-size:13px;height:auto;min-height:36px;text-align:left;width:100%}.block-editor-url-input__suggestion:hover{background:#ddd}.block-editor-url-input__suggestion.is-selected,.block-editor-url-input__suggestion:focus{background:var(--wp-admin-theme-color-darker-20);color:#fff;outline:none}.components-toolbar-group>.block-editor-url-input__button,.components-toolbar>.block-editor-url-input__button{position:inherit}.block-editor-url-input__button .block-editor-url-input__back{margin-right:4px;overflow:visible}.block-editor-url-input__button .block-editor-url-input__back:after{background:#ddd;content:"";display:block;height:24px;position:absolute;right:-1px;width:1px}.block-editor-url-input__button-modal{background:#fff;border:1px solid #ddd;box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1)}.block-editor-url-input__button-modal-line{align-items:flex-start;display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-width:0}.block-editor-url-input__button-modal-line .components-button{flex-shrink:0;height:36px;width:36px}.block-editor-url-popover__additional-controls{border-top:1px solid #ddd}.block-editor-url-popover__additional-controls>div[role=menu] .components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary)>svg{box-shadow:none}.block-editor-url-popover__additional-controls div[role=menu]>.components-button{padding-left:12px}.block-editor-url-popover__row{display:flex}.block-editor-url-popover__row>:not(.block-editor-url-popover__settings-toggle){flex-grow:1}.block-editor-url-popover .components-button.has-icon{padding:3px}.block-editor-url-popover .components-button.has-icon>svg{border-radius:2px;height:30px;padding:5px;width:30px}.block-editor-url-popover .components-button.has-icon:not(:disabled):focus{box-shadow:none}.block-editor-url-popover .components-button.has-icon:not(:disabled):focus>svg{box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.block-editor-url-popover__settings-toggle{border-left:1px solid #ddd;border-radius:0;flex-shrink:0;margin-left:1px}.block-editor-url-popover__settings-toggle[aria-expanded=true] .dashicon{transform:rotate(180deg)}.block-editor-url-popover__settings{border-top:1px solid #ddd;display:block;padding:16px}.block-editor-url-popover__link-editor,.block-editor-url-popover__link-viewer{display:flex}.block-editor-url-popover__link-viewer-url{flex-grow:1;flex-shrink:1;margin:7px;max-width:500px;min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-url-popover__link-viewer-url.has-invalid-link{color:#cc1818}.html-anchor-control .components-external-link{display:block;margin-top:8px}.block-editor-hooks__block-hooks .components-toggle-control .components-h-stack{flex-direction:row-reverse}.block-editor-hooks__block-hooks .components-toggle-control .components-h-stack .components-h-stack{flex-direction:row}.block-editor-hooks__background__inspector-media-replace-container{position:relative}.block-editor-hooks__background__inspector-media-replace-container .components-drop-zone__content-icon{display:none}.block-editor-hooks__background__inspector-media-replace-container button.components-button{box-shadow:inset 0 0 0 1px #ddd;color:#1e1e1e;display:block;height:40px;width:100%}.block-editor-hooks__background__inspector-media-replace-container button.components-button:hover{color:var(--wp-admin-theme-color)}.block-editor-hooks__background__inspector-media-replace-container button.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-hooks__background__inspector-media-replace-container .block-editor-hooks__background__inspector-media-replace-title{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-editor-hooks__background__inspector-media-replace-container .components-dropdown{display:block}.block-editor-hooks__background__inspector-image-indicator-wrapper{background:#fff linear-gradient(-45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0);border-radius:50%!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);display:block;flex:none;height:20px;width:20px}.block-editor-hooks__background__inspector-image-indicator-wrapper.has-image{background:#fff}.block-editor-hooks__background__inspector-image-indicator{background-size:cover;border-radius:50%;display:block;height:20px;position:relative;width:20px}.block-editor-hooks__background__inspector-image-indicator:after{border:1px solid transparent;border-radius:50%;bottom:-1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);box-sizing:inherit;content:"";left:-1px;position:absolute;right:-1px;top:-1px}.border-block-support-panel .single-column{grid-column:span 1}.color-block-support-panel .block-editor-contrast-checker{grid-column:span 2;margin-top:16px;order:9999}.color-block-support-panel .block-editor-contrast-checker .components-notice__content{margin-right:0}.color-block-support-panel.color-block-support-panel .color-block-support-panel__inner-wrapper{row-gap:0}.color-block-support-panel .block-editor-tools-panel-color-gradient-settings__item.first{margin-top:0}.dimensions-block-support-panel .single-column{grid-column:span 1}.block-editor-hooks__layout-controls{display:flex;margin-bottom:8px}.block-editor-hooks__layout-controls .block-editor-hooks__layout-controls-unit{display:flex;margin-right:24px}.block-editor-hooks__layout-controls .block-editor-hooks__layout-controls-unit svg{margin:auto 0 4px 8px}.block-editor-block-inspector .block-editor-hooks__layout-controls-unit-input{margin-bottom:0}.block-editor-hooks__layout-controls-reset{display:flex;justify-content:flex-end;margin-bottom:24px}.block-editor-hooks__layout-controls-helptext{color:#757575;font-size:12px;margin-bottom:16px}.block-editor-hooks__flex-layout-justification-controls,.block-editor-hooks__flex-layout-orientation-controls{margin-bottom:12px}.block-editor-hooks__flex-layout-justification-controls legend,.block-editor-hooks__flex-layout-orientation-controls legend{margin-bottom:8px}.block-editor-hooks__toggle-control.block-editor-hooks__toggle-control{margin-bottom:16px}.block-editor__padding-visualizer{border-color:var(--wp-admin-theme-color);border-style:solid;bottom:0;box-sizing:border-box;left:0;opacity:.5;pointer-events:none;position:absolute;right:0;top:0}.block-editor-hooks__position-selection__select-control .components-custom-select-control__hint{display:none}.block-editor-hooks__position-selection__select-control__option.has-hint{grid-template-columns:auto 30px;line-height:1.4;margin-bottom:0}.block-editor-hooks__position-selection__select-control__option .components-custom-select-control__item-hint{grid-row:2;text-align:left}.typography-block-support-panel .single-column{grid-column:span 1}.block-editor-block-toolbar{display:flex;flex-grow:1;overflow-x:auto;overflow-y:hidden;position:relative;transition:border-color .1s linear,box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.block-editor-block-toolbar{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.block-editor-block-toolbar{overflow:inherit}}.block-editor-block-toolbar .components-toolbar,.block-editor-block-toolbar .components-toolbar-group{background:none;border:0;border-right:1px solid #ddd;line-height:0;margin-bottom:-1px;margin-top:-1px}.block-editor-block-toolbar.is-synced .block-editor-block-switcher .components-button .block-editor-block-icon,.block-editor-block-toolbar.is-synced .components-toolbar-button.block-editor-block-switcher__no-switcher-icon:disabled .block-editor-block-icon.has-colors{color:var(--wp-block-synced-color)}.block-editor-block-toolbar>:last-child,.block-editor-block-toolbar>:last-child .components-toolbar,.block-editor-block-toolbar>:last-child .components-toolbar-group{border-right:none}.block-editor-block-contextual-toolbar{background-color:#fff;display:block;flex-shrink:3;position:sticky;top:0;width:100%;z-index:31}.block-editor-block-contextual-toolbar.components-accessible-toolbar{border:none;border-bottom:1px solid #e0e0e0;border-radius:0}.block-editor-block-contextual-toolbar .block-editor-block-toolbar{overflow:auto;overflow-y:hidden}.block-editor-block-contextual-toolbar .block-editor-block-toolbar>:last-child .components-toolbar-group:after,.block-editor-block-contextual-toolbar .block-editor-block-toolbar>:last-child .components-toolbar:after,.block-editor-block-contextual-toolbar .block-editor-block-toolbar>:last-child:after{display:none}.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar-group{border-right-color:#e0e0e0}.block-editor-block-contextual-toolbar>.block-editor-block-toolbar{flex-grow:0;width:auto}.block-editor-block-contextual-toolbar .block-editor-block-parent-selector{margin-bottom:-1px;margin-top:-1px;position:relative}.block-editor-block-contextual-toolbar .block-editor-block-parent-selector:after{bottom:16px;content:"·";font-size:16px;position:absolute;right:0}.block-editor-block-toolbar__block-controls .block-editor-block-switcher .components-dropdown-menu__toggle .block-editor-block-icon,.block-editor-block-toolbar__block-controls .block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{margin:0!important;width:24px!important}.block-editor-block-toolbar__block-controls .components-toolbar-group{padding:0}.block-editor-block-toolbar .components-toolbar,.block-editor-block-toolbar .components-toolbar-group,.block-editor-rich-text__inline-format-toolbar-group .components-toolbar,.block-editor-rich-text__inline-format-toolbar-group .components-toolbar-group{display:flex;flex-wrap:nowrap}.block-editor-block-toolbar__slot{display:inline-block;line-height:0}@supports (position:sticky){.block-editor-block-toolbar__slot{display:inline-flex}}.show-icon-labels .block-editor-block-toolbar .components-button.has-icon{width:auto}.show-icon-labels .block-editor-block-toolbar .components-button.has-icon svg{display:none}.show-icon-labels .block-editor-block-toolbar .components-button.has-icon:after{content:attr(aria-label);font-size:12px}.show-icon-labels .components-accessible-toolbar .components-toolbar-group>div:first-child:last-child>.components-button.has-icon{padding-left:6px;padding-right:6px}.show-icon-labels .block-editor-block-switcher .components-dropdown-menu__toggle .block-editor-block-icon,.show-icon-labels .block-editor-block-switcher__no-switcher-icon .block-editor-block-icon{height:0!important;min-width:0!important;width:0!important}.show-icon-labels .block-editor-block-parent-selector .block-editor-block-parent-selector__button{text-wrap:nowrap;border-bottom-right-radius:0;border-top-right-radius:0;padding-left:12px;padding-right:12px}.show-icon-labels .block-editor-block-parent-selector .block-editor-block-parent-selector__button .block-editor-block-icon{width:0}.show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container{width:auto}@media (min-width:600px){.show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container{position:relative}.show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container:before{background:#1e1e1e;content:"";height:1px;left:50%;margin-top:-.5px;position:absolute;top:50%;transform:translate(-50%);width:100%}}.show-icon-labels .block-editor-block-mover.is-horizontal .block-editor-block-mover-button,.show-icon-labels .block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container{padding-left:6px;padding-right:6px}.show-icon-labels .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button{padding-left:8px;padding-right:8px}.show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-mover{border-left:1px solid #ddd;margin-left:6px;margin-right:-6px;white-space:nowrap}.show-icon-labels .block-editor-block-mover .block-editor-block-mover__drag-handle.has-icon{padding-left:12px;padding-right:12px}.show-icon-labels .block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button{width:auto}.show-icon-labels .components-toolbar,.show-icon-labels .components-toolbar-group{flex-shrink:1}.show-icon-labels .block-editor-rich-text__inline-format-toolbar-group .components-button+.components-button{margin-left:6px}.block-editor-inserter{background:none;border:none;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:0;padding:0}@media (min-width:782px){.block-editor-inserter{position:relative}}.block-editor-inserter__main-area{display:flex;flex-direction:column;gap:16px;height:100%;overflow-y:hidden;position:relative}.block-editor-inserter__main-area.show-as-tabs{gap:0}@media (min-width:782px){.block-editor-inserter__main-area{width:350px}}.block-editor-inserter__popover.is-quick .components-popover__content{border:none;box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);outline:none}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>*{border-left:1px solid #ccc;border-right:1px solid #ccc}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>:first-child{border-radius:2px 2px 0 0;border-top:1px solid #ccc}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>:last-child{border-bottom:1px solid #ccc;border-radius:0 0 2px 2px}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>.components-button{border:1px solid #1e1e1e}.block-editor-inserter__popover .block-editor-inserter__menu{margin:-12px}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__tabs div[role=tablist]{top:60px}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__main-area{height:auto;overflow:visible}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__preview-container{display:none}.block-editor-inserter__toggle.components-button{align-items:center;border:none;cursor:pointer;display:inline-flex;outline:none;padding:0;transition:color .2s ease}@media (prefers-reduced-motion:reduce){.block-editor-inserter__toggle.components-button{transition-delay:0s;transition-duration:0s}}.block-editor-inserter__menu{height:100%;overflow:visible;position:relative}.block-editor-inserter__inline-elements{margin-top:-1px}.block-editor-inserter__menu.is-bottom:after{border-bottom-color:#fff}.components-popover.block-editor-inserter__popover{z-index:99999}.block-editor-inserter__search{padding:16px 16px 0}.block-editor-inserter__search .components-search-control__icon{right:20px}.block-editor-inserter__tabs{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.block-editor-inserter__tabs div[role=tablist]{border-bottom:1px solid #ddd}.block-editor-inserter__tabs div[role=tablist] button[role=tab]{flex-grow:1;margin-bottom:-1px}.block-editor-inserter__tabs div[role=tablist] button[role=tab][id$=reusable]{flex-grow:inherit;padding-left:16px;padding-right:16px}.block-editor-inserter__tabs div[role=tabpanel]{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto}.block-editor-inserter__no-tab-container{flex-grow:1;overflow-y:auto}.block-editor-inserter__panel-header{align-items:center;display:inline-flex;padding:16px 16px 0}.block-editor-inserter__panel-content{padding:16px}.block-editor-inserter__panel-title,.block-editor-inserter__panel-title button{color:#757575;font-size:11px;font-weight:500;margin:0 12px 0 0;text-transform:uppercase}.block-editor-inserter__panel-dropdown select.components-select-control__input.components-select-control__input.components-select-control__input{height:36px;line-height:36px}.block-editor-inserter__panel-dropdown select{border:none}.block-editor-inserter__reusable-blocks-panel{position:relative;text-align:right}.block-editor-inserter__manage-reusable-blocks-container{margin:auto 16px 16px}.block-editor-inserter__manage-reusable-blocks{justify-content:center;width:100%}.block-editor-inserter__no-results{padding:32px;text-align:center}.block-editor-inserter__no-results-icon{fill:#949494}.block-editor-inserter__child-blocks{padding:0 16px}.block-editor-inserter__parent-block-header{align-items:center;display:flex}.block-editor-inserter__parent-block-header h2{font-size:13px}.block-editor-inserter__parent-block-header .block-editor-block-icon{margin-right:8px}.block-editor-inserter__preview-container__popover{top:16px!important}.block-editor-inserter__preview-container{display:none;max-height:calc(100% - 32px);overflow-y:hidden;padding:16px;width:280px}@media (min-width:782px){.block-editor-inserter__preview-container{display:block}}.block-editor-inserter__preview-container .block-editor-block-preview__container{height:100%}.block-editor-inserter__preview-container .block-editor-block-card{padding-bottom:4px;padding-left:0;padding-right:0}.block-editor-inserter__patterns-explore-button.components-button{justify-content:center;margin-top:16px;padding:16px;width:100%}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category{color:var(--wp-admin-theme-color);position:relative}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category .components-flex-item{filter:brightness(.95)}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category svg{fill:var(--wp-admin-theme-color)}.block-editor-inserter__patterns-selected-category.block-editor-inserter__patterns-selected-category:after{background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.04;position:absolute;right:0;top:0}.block-editor-inserter__block-patterns-tabs-container,.block-editor-inserter__block-patterns-tabs-container nav{height:100%}.block-editor-inserter__block-patterns-tabs{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px}.block-editor-inserter__block-patterns-tabs div[role=listitem]:last-child{margin-top:auto}.block-editor-inserter__block-patterns-tabs .block-editor-inserter__patterns-category{padding-right:4px}.block-editor-inserter__patterns-category-dialog{background:#f0f0f0;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;height:100%;left:0;position:absolute;top:0;width:100%}@media (min-width:782px){.block-editor-inserter__patterns-category-dialog{display:block;left:100%;width:300px}}.block-editor-inserter__patterns-category-dialog .block-editor-block-patterns-list{flex-grow:1;height:100%;overflow-y:auto;padding:16px 24px}.block-editor-block-patterns-list__list-item .block-editor-block-preview__container{box-shadow:0 15px 25px rgba(0,0,0,.07)}.block-editor-block-patterns-list__list-item:hover .block-editor-block-preview__container{box-shadow:0 0 0 2px #1e1e1e,0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__patterns-category-panel{display:flex;flex-direction:column;height:100%;padding:0 16px}@media (min-width:782px){.block-editor-inserter__patterns-category-panel{padding:0}}.block-editor-inserter__patterns-category-panel .block-editor-inserter__patterns-category-panel-header{padding:16px 24px}.block-editor-inserter__patterns-category-panel .block-editor-inserter__patterns-category-no-results{margin-top:24px}.block-editor-inserter__preview-content{align-items:center;background:#f0f0f0;display:grid;flex-grow:1;min-height:144px}.block-editor-inserter__preview-content-missing{align-items:center;background:#f0f0f0;border-radius:2px;color:#757575;display:flex;flex:1;justify-content:center;min-height:144px}.block-editor-inserter__tips{border-top:1px solid #ddd;flex-shrink:0;padding:16px;position:relative}.block-editor-inserter__quick-inserter{max-width:100%;width:100%}@media (min-width:782px){.block-editor-inserter__quick-inserter{width:350px}}.block-editor-inserter__quick-inserter-results .block-editor-inserter__panel-header{float:left;height:0;padding:0}.block-editor-inserter__quick-inserter.has-expand .block-editor-inserter__panel-content,.block-editor-inserter__quick-inserter.has-search .block-editor-inserter__panel-content{padding:16px}.block-editor-inserter__quick-inserter-patterns .block-editor-block-patterns-list{grid-gap:8px;display:grid;grid-template-columns:1fr 1fr}.block-editor-inserter__quick-inserter-patterns .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{margin-bottom:0}.block-editor-inserter__quick-inserter-patterns .block-editor-block-patterns-list .block-editor-block-preview__container{min-height:100px}.block-editor-inserter__quick-inserter-separator{border-top:1px solid #ddd}.block-editor-inserter__popover.is-quick>.components-popover__content{padding:0}.block-editor-inserter__quick-inserter-expand.components-button{background:#1e1e1e;border-radius:0;color:#fff;display:block;height:44px;width:100%}.block-editor-inserter__quick-inserter-expand.components-button:hover{color:#fff}.block-editor-inserter__quick-inserter-expand.components-button:active{color:#ccc}.block-editor-inserter__quick-inserter-expand.components-button.components-button:focus:not(:disabled){background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);box-shadow:none}.block-editor-block-patterns-explorer__sidebar{bottom:0;left:0;overflow-x:visible;overflow-y:scroll;padding:24px 32px 32px;position:absolute;top:72px;width:280px}.block-editor-block-patterns-explorer__sidebar__categories-list__item{display:block;height:48px;text-align:left;width:100%}.block-editor-block-patterns-explorer__search{margin-bottom:32px}.block-editor-block-patterns-explorer__search-results-count{padding-bottom:32px}.block-editor-block-patterns-explorer__list{margin-left:280px;padding:24px 0 32px}.block-editor-block-patterns-explorer__list .block-editor-patterns__sync-status-filter .components-input-control__container{width:380px}.block-editor-block-patterns-explorer .block-editor-block-patterns-list{grid-gap:32px;display:grid;grid-template-columns:repeat(1,1fr);margin-bottom:16px}@media (min-width:1080px){.block-editor-block-patterns-explorer .block-editor-block-patterns-list{grid-template-columns:repeat(2,1fr)}}@media (min-width:1440px){.block-editor-block-patterns-explorer .block-editor-block-patterns-list{grid-template-columns:repeat(3,1fr)}}.block-editor-block-patterns-explorer .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{min-height:240px}.block-editor-block-patterns-explorer .block-editor-block-patterns-list .block-editor-block-preview__container{height:inherit;max-height:800px;min-height:100px}.block-editor-inserter__patterns-category-panel-title{font-size:16.25px}.block-editor-inserter__media-tabs-container,.block-editor-inserter__media-tabs-container nav{height:100%}.block-editor-inserter__media-tabs-container .block-editor-inserter__media-library-button{justify-content:center;margin-top:16px;padding:16px;width:100%}.block-editor-inserter__media-tabs{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px}.block-editor-inserter__media-tabs div[role=listitem]:last-child{margin-top:auto}.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category{padding-right:4px}.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected{color:var(--wp-admin-theme-color);position:relative}.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected .components-flex-item{filter:brightness(.95)}.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected svg{fill:var(--wp-admin-theme-color)}.block-editor-inserter__media-tabs .block-editor-inserter__media-tabs__media-category.is-selected:after{background:var(--wp-admin-theme-color);border-radius:2px;bottom:0;content:"";left:0;opacity:.04;position:absolute;right:0;top:0}.block-editor-inserter__media-dialog{background:#f0f0f0;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;height:100%;left:0;overflow-y:auto;padding:16px 24px;position:absolute;scrollbar-gutter:stable both-edges;top:0;width:100%}@media (min-width:782px){.block-editor-inserter__media-dialog{display:block;left:100%;width:300px}}.block-editor-inserter__media-dialog .block-editor-block-preview__container{box-shadow:0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__media-dialog .block-editor-block-preview__container:hover{box-shadow:0 0 0 2px #1e1e1e,0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__media-panel{display:flex;flex-direction:column;min-height:100%;padding:0 16px}@media (min-width:782px){.block-editor-inserter__media-panel{padding:0}}.block-editor-inserter__media-panel .block-editor-inserter__media-panel-spinner{align-items:center;display:flex;flex:1;height:100%;justify-content:center}.block-editor-inserter__media-panel .block-editor-inserter__media-panel-search.components-search-control input[type=search].components-search-control__input{background:#fff}.block-editor-inserter__media-panel .block-editor-inserter__media-panel-search.components-search-control button.components-button{min-width:auto;padding-left:2px;padding-right:2px}.block-editor-inserter__media-list{margin-top:16px}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item{cursor:pointer;margin-bottom:24px;position:relative}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item.is-placeholder{min-height:100px}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item[draggable=true] .block-editor-block-preview__container{cursor:grab}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview{box-shadow:0 0 0 2px #1e1e1e,0 15px 25px rgba(0,0,0,.07)}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview-options>button{display:block}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options{position:absolute;right:8px;top:8px}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button{background:#fff;border-radius:2px;display:none}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button.is-opened,.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button:focus{display:block}.block-editor-inserter__media-list .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options>button:hover{box-shadow:inset 0 0 0 2px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-inserter__media-list .block-editor-inserter__media-list__item{height:100%}.block-editor-inserter__media-list .block-editor-inserter__media-list__item .block-editor-inserter__media-list__item-preview{align-items:center;border-radius:2px;display:flex;overflow:hidden}.block-editor-inserter__media-list .block-editor-inserter__media-list__item .block-editor-inserter__media-list__item-preview>*{margin:0 auto;max-width:100%}.block-editor-inserter__media-list .block-editor-inserter__media-list__item .block-editor-inserter__media-list__item-preview .block-editor-inserter__media-list__item-preview-spinner{align-items:center;background:hsla(0,0%,100%,.7);display:flex;height:100%;justify-content:center;pointer-events:none;position:absolute;width:100%}.block-editor-inserter__media-list .block-editor-inserter__media-list__item:focus .block-editor-inserter__media-list__item-preview{box-shadow:inset 0 0 0 2px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-inserter__media-list__item-preview-options__popover .components-menu-item__button .components-menu-item__item{min-width:auto}.block-editor-inserter__mobile-tab-navigation{height:100%;padding:16px}.block-editor-inserter__mobile-tab-navigation>*{height:100%}@media (min-width:600px){.block-editor-inserter-media-tab-media-preview-inserter-external-image-modal{max-width:480px}}.block-editor-inserter-media-tab-media-preview-inserter-external-image-modal p{margin:0}.block-editor-inserter__hint{margin:16px 16px 0}.reusable-blocks-menu-items__rename-hint{align-items:top;background:#f0f0f0;border-radius:2px;color:#1e1e1e;display:flex;flex-direction:row;max-width:380px}.reusable-blocks-menu-items__rename-hint-content{margin:12px 0 12px 12px}.reusable-blocks-menu-items__rename-hint-dismiss{margin:4px 4px 4px 0}.components-menu-group .reusable-blocks-menu-items__rename-hint{margin:0}.block-editor-patterns__sync-status-filter .components-input-control__container select.components-select-control__input{height:40px}.spacing-sizes-control .spacing-sizes-control__custom-value-input,.spacing-sizes-control .spacing-sizes-control__label{margin-bottom:0}.spacing-sizes-control .spacing-sizes-control__custom-value-range,.spacing-sizes-control .spacing-sizes-control__range-control{align-items:center;display:flex;flex:1;height:40px;margin-bottom:0}.spacing-sizes-control .spacing-sizes-control__custom-value-range>.components-base-control__field,.spacing-sizes-control .spacing-sizes-control__range-control>.components-base-control__field{flex:1}.spacing-sizes-control .components-range-control__mark{background-color:#fff;height:4px;width:3px;z-index:1}.spacing-sizes-control .components-range-control__marks{margin-top:17px}.spacing-sizes-control .components-range-control__marks :first-child{display:none}.spacing-sizes-control .components-range-control__thumb-wrapper{z-index:3}.spacing-sizes-control__header{height:16px;margin-bottom:12px}.spacing-sizes-control__dropdown{height:24px}.spacing-sizes-control__custom-select-control,.spacing-sizes-control__custom-value-input{flex:1}.spacing-sizes-control__custom-toggle,.spacing-sizes-control__icon{flex:0 0 auto}.spacing-sizes-control__icon{margin-left:-4px}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/editor-rtl.css b/wp-includes/css/dist/block-library/editor-rtl.css index 6e1d7ba929..ce42c41729 100644 --- a/wp-includes/css/dist/block-library/editor-rtl.css +++ b/wp-includes/css/dist/block-library/editor-rtl.css @@ -70,37 +70,6 @@ ul.wp-block-archives{ opacity:.8; } -.wp-block-button__inline-link{ - color:#757575; - height:0; - max-width:290px; - overflow:hidden; -} -.wp-block-button__inline-link-input__suggestions{ - max-width:290px; -} -@media (min-width:782px){ - .wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{ - max-width:260px; - } -} -@media (min-width:960px){ - .wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{ - max-width:290px; - } -} -.is-selected .wp-block-button__inline-link{ - height:auto; - overflow:visible; -} - -.wp-button-label__width .components-button-group{ - display:block; -} -.wp-button-label__width .components-base-control__field{ - margin-bottom:12px; -} - div[data-type="core/button"]{ display:table; } @@ -513,6 +482,56 @@ html :where(.wp-block-column){ margin-right:.75em; } +.wp-block-form-input .is-input-hidden{ + background:repeating-linear-gradient(-45deg, transparent, transparent 5px, currentColor 0, currentColor 6px); + border:1px dashed; + box-sizing:border-box; + font-size:.85em; + opacity:.3; + padding:.5em; +} +.wp-block-form-input .is-input-hidden input[type=text]{ + background:transparent; +} +.wp-block-form-input.is-selected .is-input-hidden{ + background:none; + opacity:1; +} +.wp-block-form-input.is-selected .is-input-hidden input[type=text]{ + background:unset; +} + +.wp-block-form-submission-notification>*{ + background:repeating-linear-gradient(-45deg, transparent, transparent 5px, currentColor 0, currentColor 6px); + border:1px dashed; + box-sizing:border-box; + opacity:.25; +} +.wp-block-form-submission-notification.is-selected>*,.wp-block-form-submission-notification:has(.is-selected)>*{ + background:none; + opacity:1; +} +.wp-block-form-submission-notification.is-selected:after,.wp-block-form-submission-notification:has(.is-selected):after{ + display:none !important; +} +.wp-block-form-submission-notification:after{ + align-items:center; + display:flex; + font-size:1.1em; + height:100%; + justify-content:center; + position:absolute; + right:0; + top:0; + width:100%; +} +.wp-block-form-submission-notification.form-notification-type-success:after{ + content:attr(data-message-success); +} +.wp-block-form-submission-notification.form-notification-type-error:after{ + content:attr(data-message-error); +} + .wp-block-freeform.block-library-rich-text__tinymce{ height:auto; } @@ -1131,9 +1150,12 @@ figure.wp-block-gallery .components-spinner{ .wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{ display:none; } -.wp-block-image.wp-block-image.is-selected .components-placeholder:before{ +.wp-block-image.wp-block-image .block-bindings-media-placeholder-message,.wp-block-image.wp-block-image.is-selected .components-placeholder:before{ opacity:0; } +.wp-block-image.wp-block-image.is-selected .block-bindings-media-placeholder-message{ + opacity:1; +} .wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{ transition:none; } @@ -1621,10 +1643,8 @@ figure.wp-block-image:not(.wp-block){ min-height:1px; min-width:1px; } -@media (min-width:600px){ - .wp-block-navigation__responsive-container:not(.is-menu-open) .components-button.wp-block-navigation__responsive-container-close{ - display:none; - } +.is-collapsed .wp-block-navigation__responsive-container:not(.is-menu-open) .components-button.wp-block-navigation__responsive-container-close{ + display:none; } .wp-block-navigation__responsive-container.is-menu-open{ @@ -2000,10 +2020,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op width:auto; } -.wp-block-page-list .components-notice{ - margin-right:0; -} - .wp-block-page-list__loading-indicator-container{ padding:8px 12px; } @@ -2067,6 +2083,7 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op display:flex; height:auto; justify-content:center; + text-align:center; } .wp-block-search__components-button-group{ margin-top:10px; @@ -2365,9 +2382,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op margin-bottom:0; } -.wp-block-table{ - margin:0; -} .wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{ height:auto; } @@ -2400,28 +2414,18 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op align-items:flex-start; display:flex; flex-direction:column; -} -.blocks-table__placeholder-form.blocks-table__placeholder-form>*{ - margin-bottom:8px; + gap:8px; } @media (min-width:782px){ .blocks-table__placeholder-form.blocks-table__placeholder-form{ align-items:flex-end; flex-direction:row; } - .blocks-table__placeholder-form.blocks-table__placeholder-form>*{ - margin-bottom:0; - } } .blocks-table__placeholder-input{ - margin-bottom:0; - margin-left:8px; width:112px; } -.blocks-table__placeholder-input input{ - height:36px; -} .block-editor-template-part__selection-modal{ z-index:1000001; @@ -2702,6 +2706,13 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op min-width:48px; width:100%; } +.wp-block-post-featured-image>a{ + cursor:default; +} +.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-button,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__instructions,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__label{ + opacity:1; + pointer-events:auto; +} div[data-type="core/post-featured-image"] img{ display:block; @@ -2755,26 +2766,26 @@ div[data-type="core/post-featured-image"] img{ background:linear-gradient(-135deg, #020381, #2874fc); } -.editor-styles-wrapper{ +:where(.editor-styles-wrapper){ --wp--preset--font-size--normal:16px; --wp--preset--font-size--huge:42px; } -.editor-styles-wrapper .has-regular-font-size{ +:where(.editor-styles-wrapper) .has-regular-font-size{ font-size:16px; } -.editor-styles-wrapper .has-larger-font-size{ +:where(.editor-styles-wrapper) .has-larger-font-size{ font-size:42px; } -.editor-styles-wrapper .has-normal-font-size{ +:where(.editor-styles-wrapper) .has-normal-font-size{ font-size:var(--wp--preset--font-size--normal); } -.editor-styles-wrapper .has-huge-font-size{ +:where(.editor-styles-wrapper) .has-huge-font-size{ font-size:var(--wp--preset--font-size--huge); } -.editor-styles-wrapper iframe:not([frameborder]){ +:where(.editor-styles-wrapper) iframe:not([frameborder]){ border:0; } \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/editor-rtl.min.css b/wp-includes/css/dist/block-library/editor-rtl.min.css index 7316a07239..3e872e4580 100644 --- a/wp-includes/css/dist/block-library/editor-rtl.min.css +++ b/wp-includes/css/dist/block-library/editor-rtl.min.css @@ -1 +1 @@ -ul.wp-block-archives{padding-right:2.5em}.wp-block-audio{margin-left:0;margin-right:0;position:relative}.wp-block-audio.is-transient audio{opacity:.3}.wp-block-audio .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}.wp-block-avatar__image img{width:100%}.wp-block-avatar.aligncenter .components-resizable-box__container{margin:0 auto}.edit-post-visual-editor .block-library-block__reusable-block-container .is-root-container{padding-left:0;padding-right:0}.edit-post-visual-editor .block-library-block__reusable-block-container .block-editor-writing-flow{display:block}.edit-post-visual-editor .block-library-block__reusable-block-container .components-disabled .block-list-appender{display:none}.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-dark-theme .edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.wp-block[data-align=center]>.wp-block-button{margin-left:auto;margin-right:auto;text-align:center}.wp-block[data-align=right]>.wp-block-button{text-align:right}.wp-block-button{cursor:text;position:relative}.wp-block-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.wp-block-button[data-rich-text-placeholder]:after{opacity:.8}.wp-block-button__inline-link{color:#757575;height:0;max-width:290px;overflow:hidden}.wp-block-button__inline-link-input__suggestions{max-width:290px}@media (min-width:782px){.wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{max-width:260px}}@media (min-width:960px){.wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{max-width:290px}}.is-selected .wp-block-button__inline-link{height:auto;overflow:visible}.wp-button-label__width .components-button-group{display:block}.wp-button-label__width .components-base-control__field{margin-bottom:12px}div[data-type="core/button"]{display:table}.editor-styles-wrapper .wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-right-width:medium}.wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{margin:0}.wp-block-buttons>.block-list-appender{align-items:center;display:inline-flex}.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{justify-content:flex-start}.wp-block-buttons>.wp-block-button:focus{box-shadow:none}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{margin-left:auto;margin-right:auto;margin-top:0;width:100%}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{margin-bottom:0}.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block[data-align=center]>.wp-block-buttons{align-items:center;justify-content:center}.wp-block[data-align=right]>.wp-block-buttons{justify-content:flex-end}.wp-block-categories ul{padding-right:2.5em}.wp-block-categories ul ul{margin-top:6px}[data-align=center] .wp-block-categories{text-align:center}.wp-block-code code{background:none}.wp-block-columns :where(.wp-block){margin-left:0;margin-right:0;max-width:none}html :where(.wp-block-column){margin-bottom:0;margin-top:0}.wp-block-comments__legacy-placeholder,.wp-block-post-comments{box-sizing:border-box}.wp-block-comments__legacy-placeholder .alignleft,.wp-block-post-comments .alignleft{float:right}.wp-block-comments__legacy-placeholder .alignright,.wp-block-post-comments .alignright{float:left}.wp-block-comments__legacy-placeholder .navigation:after,.wp-block-post-comments .navigation:after{clear:both;content:"";display:table}.wp-block-comments__legacy-placeholder .commentlist,.wp-block-post-comments .commentlist{clear:both;list-style:none;margin:0;padding:0}.wp-block-comments__legacy-placeholder .commentlist .comment,.wp-block-post-comments .commentlist .comment{min-height:2.25em;padding-right:3.25em}.wp-block-comments__legacy-placeholder .commentlist .comment p,.wp-block-post-comments .commentlist .comment p{font-size:1em;line-height:1.8;margin:1em 0}.wp-block-comments__legacy-placeholder .commentlist .children,.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-comments__legacy-placeholder .comment-author,.wp-block-post-comments .comment-author{line-height:1.5}.wp-block-comments__legacy-placeholder .comment-author .avatar,.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:right;height:2.5em;margin-left:.75em;margin-top:.5em;width:2.5em}.wp-block-comments__legacy-placeholder .comment-author cite,.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-comments__legacy-placeholder .comment-meta,.wp-block-post-comments .comment-meta{font-size:.875em;line-height:1.5}.wp-block-comments__legacy-placeholder .comment-meta b,.wp-block-post-comments .comment-meta b{font-weight:400}.wp-block-comments__legacy-placeholder .comment-meta .comment-awaiting-moderation,.wp-block-post-comments .comment-meta .comment-awaiting-moderation{display:block;margin-bottom:1em;margin-top:1em}.wp-block-comments__legacy-placeholder .comment-body .commentmetadata,.wp-block-post-comments .comment-body .commentmetadata{font-size:.875em}.wp-block-comments__legacy-placeholder .comment-form-author label,.wp-block-comments__legacy-placeholder .comment-form-comment label,.wp-block-comments__legacy-placeholder .comment-form-email label,.wp-block-comments__legacy-placeholder .comment-form-url label,.wp-block-post-comments .comment-form-author label,.wp-block-post-comments .comment-form-comment label,.wp-block-post-comments .comment-form-email label,.wp-block-post-comments .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-comments__legacy-placeholder .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-comments__legacy-placeholder .comment-form textarea,.wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-comments__legacy-placeholder .comment-form-cookies-consent,.wp-block-post-comments .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-comments__legacy-placeholder .comment-form-cookies-consent #wp-comment-cookies-consent,.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-comments__legacy-placeholder .comment-reply-title,.wp-block-post-comments .comment-reply-title{margin-bottom:0}.wp-block-comments__legacy-placeholder .comment-reply-title :where(small),.wp-block-post-comments .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-right:.5em}.wp-block-comments__legacy-placeholder .reply,.wp-block-post-comments .reply{font-size:.875em;margin-bottom:1.4em}.wp-block-comments__legacy-placeholder input:not([type=submit]),.wp-block-comments__legacy-placeholder textarea,.wp-block-post-comments input:not([type=submit]),.wp-block-post-comments textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-comments__legacy-placeholder input:not([type=submit]):not([type=checkbox]),.wp-block-comments__legacy-placeholder textarea,.wp-block-post-comments input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments textarea{padding:calc(.667em + 2px)}:where(.wp-block-post-comments input[type=submit]){border:none}.block-library-comments-toolbar__popover .components-popover__content{min-width:230px}.wp-block-comments__legacy-placeholder *{pointer-events:none}.wp-block-comment-author-avatar__placeholder{stroke:currentColor;stroke-dasharray:3;border:1px dashed;height:100%;width:100%}.wp-block[data-align=center]>.wp-block-comments-pagination{justify-content:center}.editor-styles-wrapper .wp-block-comments-pagination{max-width:100%}.editor-styles-wrapper .wp-block-comments-pagination.block-editor-block-list__layout{margin:0}.wp-block-comments-pagination>.wp-block-comments-pagination-next,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers,.wp-block-comments-pagination>.wp-block-comments-pagination-previous{margin-bottom:.5em;margin-right:.5em;margin-top:.5em}.wp-block-comments-pagination>.wp-block-comments-pagination-next:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-previous:last-child{margin-right:0}.wp-block-comments-pagination-numbers a{text-decoration:underline}.wp-block-comments-pagination-numbers .page-numbers{margin-left:2px}.wp-block-comments-pagination-numbers .page-numbers:last-child{margin-right:0}.wp-block-comments-title.has-background{padding:inherit}.editor-styles-wrapper .wp-block-cover{box-sizing:border-box}.wp-block-cover.is-placeholder{align-items:stretch;display:flex;min-height:240px;padding:0!important}.wp-block-cover.is-placeholder .components-placeholder.is-large{justify-content:flex-start;z-index:1}.wp-block-cover.is-placeholder:focus:after{min-height:auto}.wp-block-cover.components-placeholder h2{color:inherit}.wp-block-cover.is-transient:before{background-color:#fff;opacity:.3}.wp-block-cover .components-spinner{margin:0;position:absolute;right:50%;top:50%;transform:translate(50%,-50%);z-index:1}.wp-block-cover .wp-block-cover__inner-container{margin-left:0;margin-right:0;text-align:right}.wp-block-cover .wp-block-cover__placeholder-background-options{width:100%}.wp-block-cover .wp-block-cover__image--placeholder-image{bottom:0;left:0;position:absolute;right:0;top:0}[data-align=left]>.wp-block-cover,[data-align=right]>.wp-block-cover{max-width:420px;width:100%}.block-library-cover__reset-button{margin-right:auto}.block-library-cover__resize-container{bottom:0;left:0;min-height:50px;position:absolute!important;right:0;top:0}.components-popover.block-editor-block-popover.block-library-cover__resizable-box-popover .block-library-cover__resize-container,.components-popover.block-editor-block-popover.block-library-cover__resizable-box-popover .components-popover__content>div{overflow:visible;pointer-events:none}.wp-block-cover>.components-drop-zone .components-drop-zone__content{opacity:.8!important}.block-editor-block-patterns-list__list-item .has-parallax.wp-block-cover{background-attachment:scroll}.color-block-support-panel__inner-wrapper>:not(.block-editor-tools-panel-color-gradient-settings__item){margin-top:24px}.wp-block-cover:after{min-height:auto}.wp-block-details summary div{display:inline}.wp-block-embed{clear:both;margin-left:0;margin-right:0}.wp-block-embed.is-loading{display:flex;justify-content:center}.wp-block-embed .components-placeholder__error{word-break:break-word}.wp-block-embed .components-placeholder__learn-more{margin-top:1em}.block-library-embed__interactive-overlay{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.wp-block[data-align=left]>.wp-block-embed,.wp-block[data-align=right]>.wp-block-embed{max-width:360px;width:100%}.wp-block[data-align=left]>.wp-block-embed .wp-block-embed__wrapper,.wp-block[data-align=right]>.wp-block-embed .wp-block-embed__wrapper{min-width:280px}.wp-block-file{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:0}.wp-block[data-align=left]>.wp-block-file,.wp-block[data-align=right]>.wp-block-file{height:auto}.wp-block-file .components-resizable-box__container{margin-bottom:1em}.wp-block-file .wp-block-file__preview{height:100%;margin-bottom:1em;width:100%}.wp-block-file .wp-block-file__preview-overlay{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-file .wp-block-file__content-wrapper{flex-grow:1}.wp-block-file a{min-width:1em}.wp-block-file a:not(.wp-block-file__button){display:inline-block}.wp-block-file .wp-block-file__button-richtext-wrapper{display:inline-block;margin-right:.75em}.wp-block-freeform.block-library-rich-text__tinymce{height:auto}.wp-block-freeform.block-library-rich-text__tinymce li,.wp-block-freeform.block-library-rich-text__tinymce p{line-height:1.8}.wp-block-freeform.block-library-rich-text__tinymce ol,.wp-block-freeform.block-library-rich-text__tinymce ul{margin-right:0;padding-right:2.5em}.wp-block-freeform.block-library-rich-text__tinymce blockquote{border-right:4px solid #000;box-shadow:inset 0 0 0 0 #ddd;margin:0;padding-right:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;white-space:pre-wrap}.wp-block-freeform.block-library-rich-text__tinymce>:first-child{margin-top:0}.wp-block-freeform.block-library-rich-text__tinymce>:last-child{margin-bottom:0}.wp-block-freeform.block-library-rich-text__tinymce.mce-edit-focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce a{color:var(--wp-admin-theme-color)}.wp-block-freeform.block-library-rich-text__tinymce:focus a[data-mce-selected]{background:#e5f5fa;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;margin:0 -2px;padding:0 2px}.wp-block-freeform.block-library-rich-text__tinymce code{background:#f0f0f0;border-radius:2px;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:14px;padding:2px}.wp-block-freeform.block-library-rich-text__tinymce:focus code[data-mce-selected]{background:#ddd}.wp-block-freeform.block-library-rich-text__tinymce .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-freeform.block-library-rich-text__tinymce .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-freeform.block-library-rich-text__tinymce .aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-block-freeform.block-library-rich-text__tinymce .wp-more-tag{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADtgAAAAoBAMAAAA86gLBAAAAJFBMVEVMaXG7u7vBwcHDw8POzs68vLzGxsbMzMy+vr7AwMDQ0NDGxsYKLGzpAAAADHRSTlMA///zWf+/f///TMxNVGuqAAABwklEQVR4Ae3dMXLaQBTH4bfj8UCpx8hq0vgKvgFNemhT6Qo6gg6R+0ZahM2QLmyBJ99XWP9V5+o3jIUcLQEAAAAAAAAAAAAAAAAAAAAAAABQ8j0WL9lfTtlt18uNXAUA8O/KVtfa1tdcrOdSh9gCQAMlh1hMNbZZ1bsrsQWABsrhLRbz7z5in/32UbfUMUbkMQCAh5RfGYv82UdMdZ6HS2wjT2ILAI8r3XmM2B3WvM59vfO2xXYW2yYAENuPU8S+X/N67mKxzy225yaxBQCxLV392UdcvwV0jPVUj98ntkBWT7C7+9u2/V/vGtvXIWJ6/4rtbottWa6Ri0NUT/u72LYttrb97LHdvUXMxxrb8TO2W2TF1rYbbLG1bbGNjMi4+2Sbi1FsbbvNFlvbFtt5fDnE3d9sP1/XeIyV2Nr2U2/guZUuptNrH/dPI9eLB6SaAEBs6wPJf3/PNk9tYgsAYrv/8TFuzx/fvkFqGtrEFgDEdpcZUb7ejXy6ntrEFgDENvL6gsas4vbdyKt4DACI7TxElJv/Z7udpqFNbAFAbKduy2uU2trttM/x28UWAAAAAAAAAAAAAAAAAAAAAAAAAADgDyPwGmGTCZp7AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;background-size:1900px 20px;cursor:default;display:block;height:20px;margin:15px auto;outline:0;width:96%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:transparent}.wp-block-freeform.block-library-rich-text__tinymce div.mceTemp{-ms-user-select:element}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption{margin:0;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption a,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption img{display:block}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption *{-webkit-user-drag:none}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption .wp-caption-dd{margin:0;padding-top:.5em}.wp-block-freeform.block-library-rich-text__tinymce .wpview{border:1px solid transparent;clear:both;margin-bottom:16px;position:relative;width:99.99%}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{background:transparent;display:block;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected="2"] .mce-shim{display:none}.wp-block-freeform.block-library-rich-text__tinymce .wpview .loading-placeholder{border:1px dashed #ddd;padding:10px}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error{word-wrap:break-word;border:1px solid #ddd;margin:0;padding:1em 0}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error p{margin:0;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .loading-placeholder,.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .wpview-error{border-color:transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview .dashicons{display:block;font-size:32px;height:32px;margin:0 auto;width:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{clear:both;content:"";display:table}.wp-block-freeform.block-library-rich-text__tinymce .gallery img[data-mce-selected]:focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce .gallery a{cursor:default}.wp-block-freeform.block-library-rich-text__tinymce .gallery{line-height:1;margin:auto -6px;overflow-x:hidden;padding:6px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{box-sizing:border-box;float:right;margin:0;padding:6px;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption,.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-icon{margin:0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption{font-size:13px;margin:4px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-1 .gallery-item{width:100%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-2 .gallery-item{width:50%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-3 .gallery-item{width:33.3333333333%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-4 .gallery-item{width:25%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-5 .gallery-item{width:20%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-6 .gallery-item{width:16.6666666667%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-7 .gallery-item{width:14.2857142857%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-8 .gallery-item{width:12.5%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-9 .gallery-item{width:11.1111111111%}.wp-block-freeform.block-library-rich-text__tinymce .gallery img{border:none;height:auto;max-width:100%;padding:0}div[data-type="core/freeform"]:before{border:1px solid #ddd;outline:1px solid transparent;transition:border-color .1s linear,box-shadow .1s linear}@media (prefers-reduced-motion:reduce){div[data-type="core/freeform"]:before{transition-delay:0s;transition-duration:0s}}div[data-type="core/freeform"].is-selected:before{border-color:#1e1e1e}div[data-type="core/freeform"] .block-editor-block-contextual-toolbar+div{margin-top:0;padding-top:0}div[data-type="core/freeform"].is-selected .block-library-rich-text__tinymce:after{clear:both;content:"";display:table}.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active i,.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i{color:#1e1e1e}.mce-toolbar-grp .mce-rtl .mce-flow-layout-item.mce-last{margin-left:0;margin-right:8px}.mce-toolbar-grp .mce-btn i{font-style:normal}.block-library-classic__toolbar{border:1px solid #ddd;border-bottom:none;border-radius:2px;display:none;margin:0 0 8px;padding:0;position:sticky;top:0;width:auto;z-index:31}div[data-type="core/freeform"].is-selected .block-library-classic__toolbar{border-color:#1e1e1e;display:block}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media (min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{background:#f5f5f5;border-bottom:1px solid #e2e4e7;display:block}.block-library-classic__toolbar:empty:before{color:#555d66;content:attr(data-placeholder);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:37px;padding:14px}.block-library-classic__toolbar div.mce-toolbar-grp{border-bottom:1px solid #1e1e1e}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar .mce-menubar>div,.block-library-classic__toolbar .mce-tinymce-inline,.block-library-classic__toolbar .mce-tinymce-inline>div,.block-library-classic__toolbar div.mce-toolbar-grp,.block-library-classic__toolbar div.mce-toolbar-grp>div{height:auto!important;width:100%!important}.block-library-classic__toolbar .mce-container-body.mce-abs-layout{overflow:visible}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar div.mce-toolbar-grp{position:static}.block-library-classic__toolbar .mce-toolbar-grp>div{padding:1px 3px}.block-library-classic__toolbar .mce-toolbar-grp .mce-toolbar:not(:first-child){display:none}.block-library-classic__toolbar.has-advanced-toolbar .mce-toolbar-grp .mce-toolbar{display:block}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{height:50vh!important}@media (min-width:960px){.block-editor-freeform-modal .block-editor-freeform-modal__content:not(.is-full-screen){height:9999rem}.block-editor-freeform-modal .block-editor-freeform-modal__content .components-modal__header+div{height:100%}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-tinymce{height:calc(100% - 52px)}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-container-body{display:flex;flex-direction:column;height:100%;min-width:50vw}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area{display:flex;flex-direction:column;flex-grow:1}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{flex-grow:1;height:10px!important}}.block-editor-freeform-modal__actions{margin-top:16px}figure.wp-block-gallery{display:block}figure.wp-block-gallery>.blocks-gallery-caption{flex:0 0 100%}figure.wp-block-gallery>.blocks-gallery-media-placeholder-wrapper{flex-basis:100%}figure.wp-block-gallery .wp-block-image .components-notice.is-error{display:block}figure.wp-block-gallery .wp-block-image .components-notice__content{margin:4px 0}figure.wp-block-gallery .wp-block-image .components-notice__dismiss{left:5px;position:absolute;top:0}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label{display:none}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button{margin-bottom:0}figure.wp-block-gallery .block-editor-media-placeholder{margin:0}figure.wp-block-gallery .block-editor-media-placeholder .components-placeholder__label{display:flex}figure.wp-block-gallery .block-editor-media-placeholder figcaption{z-index:2}figure.wp-block-gallery .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}.gallery-settings-buttons .components-button:first-child{margin-left:8px}.gallery-image-sizes .components-base-control__label{display:block;margin-bottom:4px}.gallery-image-sizes .gallery-image-sizes__loading{align-items:center;color:#757575;display:flex;font-size:12px}.gallery-image-sizes .components-spinner{margin:0 4px 0 8px}.blocks-gallery-item figure:not(.is-selected):focus,.blocks-gallery-item img:focus{outline:none}.blocks-gallery-item figure.is-selected:before{bottom:0;box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";left:0;outline:2px solid transparent;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.blocks-gallery-item figure.is-transient img{opacity:.3}.blocks-gallery-item .is-selected .block-library-gallery-item__inline-menu{display:inline-flex}.blocks-gallery-item .block-editor-media-placeholder{height:100%;margin:0}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{background:#fff;border:1px solid #1e1e1e;border-radius:2px;display:none;margin:8px;position:absolute;top:-2px;transition:box-shadow .2s ease-out;z-index:20}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-delay:0s;transition-duration:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1)}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu,.columns-8 .block-library-gallery-item__inline-menu{padding:2px}}.block-library-gallery-item__inline-menu .components-button.has-icon:not(:focus){border:none;box-shadow:none}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu .components-button.has-icon,.columns-8 .block-library-gallery-item__inline-menu .components-button.has-icon{height:inherit;padding:0;width:inherit}}.block-library-gallery-item__inline-menu.is-left{right:-2px}.block-library-gallery-item__inline-menu.is-right{left:-2px}.wp-block-gallery ul.blocks-gallery-grid{margin:0;padding:0}@media (min-width:600px){.wp-block-update-gallery-modal{max-width:480px}}.wp-block-update-gallery-modal-buttons{display:flex;gap:12px;justify-content:flex-end}.wp-block-group .block-editor-block-list__insertion-point{left:0;right:0}[data-type="core/group"].is-selected .block-list-appender{margin-left:0;margin-right:0}[data-type="core/group"].is-selected .has-background .block-list-appender{margin-bottom:18px;margin-top:18px}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child{gap:inherit;pointer-events:none}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-default-block-appender__content,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{display:inherit;flex:1;flex-direction:inherit;width:100%}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after{border:1px dashed;border-radius:2px;content:"";display:flex;flex:1 0 48px;min-height:46px;pointer-events:none}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{pointer-events:all}.wp-block-group__placeholder .wp-block-group-placeholder__variations{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;list-style:none;margin:0;padding:0;width:100%}.wp-block-group__placeholder .components-placeholder__instructions{margin-bottom:18px;text-align:center}.wp-block-group__placeholder .wp-block-group-placeholder__variations svg{fill:#ccc!important}.wp-block-group__placeholder .wp-block-group-placeholder__variations svg:hover{fill:var(--wp-admin-theme-color)!important}.wp-block-group__placeholder .wp-block-group-placeholder__variations>li{align-items:center;display:flex;flex-direction:column;margin:0 12px 12px;width:auto}.wp-block-group__placeholder .wp-block-group-placeholder__variations li>.wp-block-group-placeholder__variation-button{height:32px;padding:0;width:44px}.wp-block-group__placeholder .wp-block-group-placeholder__variations li>.wp-block-group-placeholder__variation-button:hover{box-shadow:none}.wp-block-group__placeholder .components-placeholder{min-height:auto;padding:24px}.wp-block-group__placeholder .is-medium .wp-block-group-placeholder__variations>li,.wp-block-group__placeholder .is-small .wp-block-group-placeholder__variations>li{margin:12px}.block-library-html__edit .block-library-html__preview-overlay{height:100%;position:absolute;right:0;top:0;width:100%}.block-library-html__edit .block-editor-plain-text{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important}@media (min-width:600px){.block-library-html__edit .block-editor-plain-text{font-size:13px!important}}.block-library-html__edit .block-editor-plain-text:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid transparent!important}.wp-block-image.wp-block-image.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;filter:none!important}.wp-block-image.wp-block-image.is-selected .components-placeholder>svg{opacity:0}.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-image.wp-block-image.is-selected .components-placeholder:before{opacity:0}.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{transition:none}figure.wp-block-image:not(.wp-block){margin:0}.wp-block-image{position:relative}.wp-block-image .is-applying img,.wp-block-image.is-transient img{opacity:.3}.wp-block-image figcaption img{display:inline}.wp-block-image .components-spinner{position:absolute;right:50%;top:50%;transform:translate(50%,-50%)}.wp-block-image .components-resizable-box__container{display:table}.wp-block-image .components-resizable-box__container img{display:block;height:inherit;width:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{left:0;margin:-1px 0;position:absolute;right:0}@media (min-width:600px){.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{margin:-1px}}[data-align=full]>.wp-block-image img,[data-align=wide]>.wp-block-image img{height:auto;width:100%}.wp-block[data-align=center]>.wp-block-image,.wp-block[data-align=left]>.wp-block-image,.wp-block[data-align=right]>.wp-block-image{display:table}.wp-block[data-align=center]>.wp-block-image>figcaption,.wp-block[data-align=left]>.wp-block-image>figcaption,.wp-block[data-align=right]>.wp-block-image>figcaption{caption-side:bottom;display:table-caption}.wp-block[data-align=left]>.wp-block-image{margin:.5em 0 .5em 1em}.wp-block[data-align=right]>.wp-block-image{margin:.5em 1em .5em 0}.wp-block[data-align=center]>.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}.wp-block-image__crop-area{max-width:100%;overflow:hidden;position:relative;width:100%}.wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image{border:none;border-radius:0}.wp-block-image__crop-icon{align-items:center;display:flex;justify-content:center;min-width:48px;padding:0 8px}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{min-width:260px;overflow:visible!important}.wp-block-image__aspect-ratio{align-items:center;display:flex;height:46px;margin-bottom:-8px}.wp-block-image__aspect-ratio .components-button{padding-left:0;padding-right:0;width:36px}.wp-block-latest-posts{padding-right:2.5em}.wp-block-latest-posts.is-grid{padding-right:0}.wp-block-latest-posts>li{overflow:hidden}.wp-block-latest-posts li a>div{display:inline}.edit-post-visual-editor .wp-block-latest-posts.is-grid li{margin-bottom:20px}.editor-latest-posts-image-alignment-control .components-base-control__label{display:block}.editor-latest-posts-image-alignment-control .components-toolbar{border-radius:2px}.wp-block-media-text__media{position:relative}.wp-block-media-text__media.is-transient img{opacity:.3}.wp-block-media-text__media .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}.wp-block-media-text .__resizable_base__{grid-column:1/span 2;grid-row:2}.wp-block-media-text .editor-media-container__resizer{width:100%!important}.wp-block-media-text.is-image-fill .editor-media-container__resizer{height:100%!important}.wp-block-media-text>.block-editor-block-list__layout>.block-editor-block-list__block{max-width:unset}.block-editor-block-list__block[data-type="core/more"]{margin-bottom:28px;margin-top:28px;max-width:100%;text-align:center}.wp-block-more{display:block;text-align:center;white-space:nowrap}.wp-block-more input[type=text]{background:#fff;border:none;border-radius:4px;box-shadow:none;color:#757575;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:600;height:24px;margin:0;max-width:100%;padding:6px 8px;position:relative;text-align:center;text-transform:uppercase;white-space:nowrap}.wp-block-more input[type=text]:focus{box-shadow:none}.wp-block-more:before{border-top:3px dashed #ccc;content:"";left:0;position:absolute;right:0;top:50%}.editor-styles-wrapper .wp-block-navigation ul{margin-bottom:0;margin-right:0;margin-top:0;padding-right:0}.editor-styles-wrapper .wp-block-navigation .wp-block-navigation-item.wp-block{margin:revert}.wp-block-navigation-item__label{display:inline}.wp-block-navigation-item,.wp-block-navigation__container{background-color:inherit}.wp-block-navigation:not(.is-selected):not(.has-child-selected) .has-child:hover>.wp-block-navigation__submenu-container{opacity:0;visibility:hidden}.has-child.has-child-selected>.wp-block-navigation__submenu-container,.has-child.is-selected>.wp-block-navigation__submenu-container{display:flex;opacity:1;visibility:visible}.is-dragging-components-draggable .has-child.is-dragging-within>.wp-block-navigation__submenu-container{opacity:1;visibility:visible}.is-editing>.wp-block-navigation__container{display:flex;flex-direction:column;opacity:1;visibility:visible}.is-dragging-components-draggable .wp-block-navigation-link>.wp-block-navigation__container{opacity:1;visibility:hidden}.is-dragging-components-draggable .wp-block-navigation-link>.wp-block-navigation__container .block-editor-block-draggable-chip-wrapper{visibility:visible}.is-editing>.wp-block-navigation__submenu-container>.block-list-appender{display:block;position:static;width:100%}.is-editing>.wp-block-navigation__submenu-container>.block-list-appender .block-editor-button-block-appender{background:#1e1e1e;border-radius:2px;color:#fff;margin-left:0;margin-right:auto;padding:0;width:24px}.wp-block-navigation__submenu-container .block-list-appender{display:none}.block-library-colors-selector{width:auto}.block-library-colors-selector .block-library-colors-selector__toggle{display:block;margin:0 auto;padding:3px;width:auto}.block-library-colors-selector .block-library-colors-selector__icon-container{align-items:center;border-radius:4px;display:flex;height:30px;margin:0 auto;padding:3px;position:relative}.block-library-colors-selector .block-library-colors-selector__state-selection{border-radius:11px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);height:22px;line-height:20px;margin-left:auto;margin-right:auto;min-height:22px;min-width:22px;padding:2px;width:22px}.block-library-colors-selector .block-library-colors-selector__state-selection>svg{min-width:auto!important}.block-library-colors-selector .block-library-colors-selector__state-selection.has-text-color>svg,.block-library-colors-selector .block-library-colors-selector__state-selection.has-text-color>svg path{color:inherit}.block-library-colors-selector__popover .color-palette-controller-container{padding:16px}.block-library-colors-selector__popover .components-base-control__label{height:20px;line-height:20px}.block-library-colors-selector__popover .component-color-indicator{float:left;margin-top:2px}.block-library-colors-selector__popover .components-panel__body-title{display:none}.wp-block-navigation .wp-block+.block-list-appender .block-editor-button-block-appender{background-color:#1e1e1e;color:#fff}.wp-block-navigation .wp-block+.block-list-appender .block-editor-button-block-appender.block-editor-button-block-appender.block-editor-button-block-appender{padding:0}.wp-block-navigation .wp-block .wp-block .block-editor-button-block-appender{background-color:transparent;color:#1e1e1e}@keyframes loadingpulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.components-placeholder.wp-block-navigation-placeholder{background:none;box-shadow:none;color:inherit;min-height:0;outline:none;padding:0}.components-placeholder.wp-block-navigation-placeholder .components-placeholder__fieldset{font-size:inherit}.components-placeholder.wp-block-navigation-placeholder .components-placeholder__fieldset .components-button{margin-bottom:0}.wp-block-navigation.is-selected .components-placeholder.wp-block-navigation-placeholder{color:#1e1e1e}.wp-block-navigation-placeholder__preview{align-items:center;background:transparent;color:currentColor;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;min-width:96px}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__preview{display:none}.wp-block-navigation-placeholder__preview:before{border:1px dashed;border-radius:2px;border-radius:inherit;bottom:0;content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0}.wp-block-navigation-placeholder__preview:before:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.wp-block-navigation-placeholder__preview>svg{fill:currentColor}.wp-block-navigation.is-vertical .is-medium .components-placeholder__fieldset,.wp-block-navigation.is-vertical .is-small .components-placeholder__fieldset{min-height:90px}.wp-block-navigation.is-vertical .is-large .components-placeholder__fieldset{min-height:132px}.wp-block-navigation-placeholder__controls,.wp-block-navigation-placeholder__preview{align-items:flex-start;flex-direction:row;padding:6px 8px}.wp-block-navigation-placeholder__controls{background-color:#fff;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;display:none;float:right;position:relative;width:100%;z-index:1}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls{display:flex}.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator,.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator+hr,.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator,.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator+hr{display:none}.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions,.wp-block-navigation.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions{align-items:flex-start;flex-direction:column}.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr,.wp-block-navigation.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr{display:none}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon{height:36px;margin-left:12px}.wp-block-navigation-placeholder__actions__indicator{align-items:center;display:flex;height:36px;justify-content:flex-start;line-height:0;margin-right:4px;padding:0 0 0 6px}.wp-block-navigation-placeholder__actions__indicator svg{fill:currentColor;margin-left:4px}.wp-block-navigation .components-placeholder.is-medium .components-placeholder__fieldset{flex-direction:row!important}.wp-block-navigation-placeholder__actions{align-items:center;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;gap:6px;height:100%}.wp-block-navigation-placeholder__actions .components-dropdown,.wp-block-navigation-placeholder__actions>.components-button{margin-left:0}.wp-block-navigation-placeholder__actions.wp-block-navigation-placeholder__actions hr{background-color:#1e1e1e;border:0;height:100%;margin:auto 0;max-height:16px;min-height:1px;min-width:1px}@media (min-width:600px){.wp-block-navigation__responsive-container:not(.is-menu-open) .components-button.wp-block-navigation__responsive-container-close{display:none}}.wp-block-navigation__responsive-container.is-menu-open{position:fixed;top:155px}@media (min-width:782px){.wp-block-navigation__responsive-container.is-menu-open{right:36px;top:93px}}@media (min-width:960px){.wp-block-navigation__responsive-container.is-menu-open{right:160px}}@media (min-width:782px){.has-fixed-toolbar .wp-block-navigation__responsive-container.is-menu-open{top:141px}}.is-mobile-preview .wp-block-navigation__responsive-container.is-menu-open,.is-tablet-preview .wp-block-navigation__responsive-container.is-menu-open{top:141px}.is-sidebar-opened .wp-block-navigation__responsive-container.is-menu-open{left:280px}.is-fullscreen-mode .wp-block-navigation__responsive-container.is-menu-open{right:0;top:155px}@media (min-width:782px){.is-fullscreen-mode .wp-block-navigation__responsive-container.is-menu-open{top:61px}.is-fullscreen-mode .has-fixed-toolbar .wp-block-navigation__responsive-container.is-menu-open{top:109px}}.is-fullscreen-mode .is-mobile-preview .wp-block-navigation__responsive-container.is-menu-open,.is-fullscreen-mode .is-tablet-preview .wp-block-navigation__responsive-container.is-menu-open{top:109px}body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-open{bottom:0;left:0;right:0;top:0}.components-button.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close,.components-button.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open{color:inherit;height:auto;padding:0}.components-heading.wp-block-navigation-off-canvas-editor__title{margin:0}.wp-block-navigation-off-canvas-editor__header{margin-bottom:8px}.is-menu-open .wp-block-navigation__responsive-container-content * .block-list-appender{margin-top:16px}@keyframes fadein{0%{opacity:0}to{opacity:1}}.wp-block-navigation__loading-indicator-container{padding:8px 12px}.wp-block-navigation .wp-block-navigation__uncontrolled-inner-blocks-loading-indicator{margin-top:0}@keyframes fadeouthalf{0%{opacity:1}to{opacity:.5}}.wp-block-navigation-delete-menu-button{justify-content:center;margin-bottom:16px;width:100%}.components-button.is-link.wp-block-navigation-manage-menus-button{margin-bottom:16px}.wp-block-navigation__overlay-menu-preview{align-items:center;background-color:#f0f0f0;display:flex;height:64px;justify-content:space-between;margin-bottom:12px;padding:0 24px;width:100%}.wp-block-navigation__overlay-menu-preview.open{background-color:#fff;box-shadow:inset 0 0 0 1px #e0e0e0;outline:1px solid transparent}.wp-block-navigation-placeholder__actions hr+hr,.wp-block-navigation__toolbar-menu-selector.components-toolbar-group:empty{display:none}.wp-block-navigation__navigation-selector{margin-bottom:16px;width:100%}.wp-block-navigation__navigation-selector-button{border:1px solid;justify-content:space-between;width:100%}.wp-block-navigation__navigation-selector-button__icon{flex:0 0 auto}.wp-block-navigation__navigation-selector-button__label{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-block-navigation__navigation-selector-button--createnew{border:1px solid;margin-bottom:16px;width:100%}.wp-block-navigation__responsive-container-open.components-button{opacity:1}.wp-block-navigation__menu-inspector-controls{overflow-x:auto;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-width:thin;will-change:transform}.wp-block-navigation__menu-inspector-controls::-webkit-scrollbar{height:12px;width:12px}.wp-block-navigation__menu-inspector-controls::-webkit-scrollbar-track{background-color:transparent}.wp-block-navigation__menu-inspector-controls::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.wp-block-navigation__menu-inspector-controls:focus-within::-webkit-scrollbar-thumb,.wp-block-navigation__menu-inspector-controls:focus::-webkit-scrollbar-thumb,.wp-block-navigation__menu-inspector-controls:hover::-webkit-scrollbar-thumb{background-color:#949494}.wp-block-navigation__menu-inspector-controls:focus,.wp-block-navigation__menu-inspector-controls:focus-within,.wp-block-navigation__menu-inspector-controls:hover{scrollbar-color:#949494 transparent}@media (hover:none){.wp-block-navigation__menu-inspector-controls{scrollbar-color:#949494 transparent}}.wp-block-navigation__menu-inspector-controls__empty-message{margin-right:24px}.wp-block-navigation .block-list-appender{position:relative}.wp-block-navigation .has-child{cursor:pointer}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation .has-child:hover .wp-block-navigation__submenu-container{z-index:29}.wp-block-navigation .has-child.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation .has-child.is-selected>.wp-block-navigation__submenu-container{height:auto!important;min-width:200px!important;opacity:1!important;overflow:visible!important;visibility:visible!important;width:auto!important}.wp-block-navigation-item .wp-block-navigation-item__content{cursor:text}.wp-block-navigation-item.is-editing,.wp-block-navigation-item.is-selected{min-width:20px}.wp-block-navigation-item .block-list-appender{margin:16px 16px 16px auto}.wp-block-navigation-link__invalid-item{color:#000}.wp-block-navigation-link__placeholder{background-image:none!important;box-shadow:none!important;position:relative;text-decoration:none!important}.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:var(--wp-admin-theme-color);background-image:linear-gradient(-45deg,transparent 20%,var(--wp-underline-color) 30%,var(--wp-underline-color) 36%,transparent 46%),linear-gradient(-135deg,transparent 54%,var(--wp-underline-color) 64%,var(--wp-underline-color) 70%,transparent 80%);background-position:100% 100%;background-repeat:repeat-x;background-size:6px 3px;padding-bottom:.1em}.is-dark-theme .wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:#fff}.wp-block-navigation-link__placeholder.wp-block-navigation-item__content{cursor:pointer}.link-control-transform{border-top:1px solid #ccc;padding:0 16px 8px}.link-control-transform__subheading{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.link-control-transform__items{display:flex;justify-content:space-between}.link-control-transform__item{flex-basis:33%;flex-direction:column;gap:8px;height:auto}.wp-block-navigation-submenu{display:block}.wp-block-navigation-submenu .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container{height:auto!important;min-width:200px!important;opacity:1!important;position:absolute;right:-1px;top:100%;visibility:visible!important;width:auto!important}@media (min-width:782px){.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{right:100%;top:-1px}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:transparent;content:"";display:block;height:100%;left:100%;position:absolute;width:.5em}}.block-editor-block-list__block[data-type="core/nextpage"]{margin-bottom:28px;margin-top:28px;max-width:100%;text-align:center}.wp-block-nextpage{display:block;text-align:center;white-space:nowrap}.wp-block-nextpage>span{background:#fff;border-radius:4px;color:#757575;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:600;height:24px;padding:6px 8px;position:relative;text-transform:uppercase}.wp-block-nextpage:before{border-top:3px dashed #ccc;content:"";left:0;position:absolute;right:0;top:50%}.wp-block-navigation .wp-block-page-list,.wp-block-navigation .wp-block-page-list>div{background-color:inherit}.wp-block-navigation.items-justified-space-between .wp-block-page-list,.wp-block-navigation.items-justified-space-between .wp-block-page-list>div{display:contents;flex:1}.wp-block-navigation.items-justified-space-between.has-child-selected .wp-block-page-list,.wp-block-navigation.items-justified-space-between.has-child-selected .wp-block-page-list>div,.wp-block-navigation.items-justified-space-between.is-selected .wp-block-page-list,.wp-block-navigation.items-justified-space-between.is-selected .wp-block-page-list>div{flex:inherit}.wp-block-navigation .wp-block-navigation__submenu-container>.wp-block-page-list{display:block}.wp-block-pages-list__item__link{pointer-events:none}@media (min-width:600px){.wp-block-page-list-modal{max-width:480px}}.wp-block-page-list-modal-buttons{display:flex;gap:12px;justify-content:flex-end}.wp-block-page-list .open-on-click:focus-within>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;visibility:visible;width:auto}.wp-block-page-list .components-notice{margin-right:0}.wp-block-page-list__loading-indicator-container{padding:8px 12px}.block-editor-block-list__block[data-type="core/paragraph"].has-drop-cap:focus{min-height:auto!important}.block-editor-block-list__block[data-empty=true] [data-rich-text-placeholder]{opacity:1}.block-editor-block-list__block[data-empty=true]+.block-editor-block-list__block[data-empty=true]:not([data-custom-placeholder=true]) [data-rich-text-placeholder]{opacity:0}.block-editor-block-list__block[data-type="core/paragraph"].has-text-align-left[style*="writing-mode: vertical-lr"],.block-editor-block-list__block[data-type="core/paragraph"].has-text-align-right[style*="writing-mode: vertical-rl"]{rotate:180deg}.wp-block-post-excerpt .wp-block-post-excerpt__excerpt.is-inline{display:inline}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{font-style:normal;text-transform:none}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit}.wp-block-rss li a>div{display:inline}.wp-block-rss__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.wp-block-rss__placeholder-form>*{margin-bottom:0}}.wp-block-rss__placeholder-form .wp-block-rss__placeholder-input{flex:1;min-width:80%}.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{align-items:center;border-radius:initial;display:flex;height:auto;justify-content:center}.wp-block-search__components-button-group{margin-top:10px}.block-editor-block-list__block[data-type="core/separator"]{padding-bottom:.1px;padding-top:.1px}.block-editor-block-list__block[data-type="core/separator"].wp-block-separator.is-style-dots{background:none!important;border:none}[data-type="core/shortcode"].components-placeholder{min-height:0}.blocks-shortcode__textarea{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important;resize:none}@media (min-width:600px){.blocks-shortcode__textarea{font-size:13px!important}}.blocks-shortcode__textarea:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid transparent!important}.wp-block-site-logo.aligncenter>div,.wp-block[data-align=center]>.wp-block-site-logo{display:table;margin-left:auto;margin-right:auto}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo .custom-logo-link{cursor:inherit}.wp-block-site-logo .custom-logo-link:focus{box-shadow:none}.wp-block-site-logo .custom-logo-link.is-transient img{opacity:.3}.wp-block-site-logo img{display:block;height:auto;max-width:100%}.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder{height:60px;width:60px}.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container,.wp-block-site-logo.wp-block-site-logo>div{border-radius:inherit}.wp-block-site-logo.wp-block-site-logo .components-placeholder{align-items:center;border-radius:inherit;display:flex;height:100%;justify-content:center;min-height:48px;min-width:48px;padding:0;width:100%}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text,.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-form-file-upload{display:none}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;padding:0;position:relative;width:48px}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button>svg{color:inherit}.block-library-site-logo__inspector-upload-container{position:relative}.block-library-site-logo__inspector-upload-container .components-drop-zone__content-icon{display:none}.block-library-site-logo__inspector-media-replace-container button.components-button,.block-library-site-logo__inspector-upload-container button.components-button{box-shadow:inset 0 0 0 1px #ccc;color:#1e1e1e;display:block;height:40px;width:100%}.block-library-site-logo__inspector-media-replace-container button.components-button:hover,.block-library-site-logo__inspector-upload-container button.components-button:hover{color:var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container button.components-button:focus,.block-library-site-logo__inspector-upload-container button.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-media-replace-title,.block-library-site-logo__inspector-upload-container .block-library-site-logo__inspector-media-replace-title{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-library-site-logo__inspector-media-replace-container .components-dropdown{display:block}.block-library-site-logo__inspector-media-replace-container img{aspect-ratio:1;border-radius:50%!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);min-width:20px;width:20px}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-readonly-logo-preview{display:flex;height:40px;padding:6px 12px}.wp-block-site-tagline__placeholder,.wp-block-site-title__placeholder{border:1px dashed;padding:1em 0}.editor-styles-wrapper .wp-block-site-title a{color:inherit}.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{color:currentColor;font-size:inherit;height:auto;line-height:0;opacity:1;padding:.25em}.wp-block-social-links.is-style-pill-shape .wp-social-link button{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links.is-style-logos-only .wp-social-link button{padding:0}.wp-block-social-links div.block-editor-url-input{display:inline-block;margin-right:8px}.wp-block-social-links.wp-block-social-links{background:none}.wp-social-link:hover{transform:none}.editor-styles-wrapper .wp-block-social-links{padding:0}.wp-block-social-links__social-placeholder{display:flex;list-style:none;opacity:.8}.wp-block-social-links__social-placeholder>.wp-social-link{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;visibility:hidden;width:0!important}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder .wp-social-link{padding:.25em}.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link{padding-left:.66667em;padding-right:.66667em}.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link{padding:0}.wp-block-social-links__social-placeholder .wp-social-link:before{border-radius:50%;content:"";display:block;height:1em;width:1em}.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link:before{background:currentColor}.wp-block-social-links .wp-block-social-links__social-prompt{cursor:default;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;list-style:none;margin-bottom:auto;margin-top:auto;min-height:24px;order:2;padding-left:8px}.wp-block.wp-block-social-links.aligncenter,.wp-block[data-align=center]>.wp-block-social-links{justify-content:center}.block-editor-block-preview__content .components-button:disabled{opacity:1}.wp-social-link.wp-social-link__is-incomplete{opacity:.5}@media (prefers-reduced-motion:reduce){.wp-social-link.wp-social-link__is-incomplete{transition-delay:0s;transition-duration:0s}}.wp-block-social-links .is-selected .wp-social-link__is-incomplete,.wp-social-link.wp-social-link__is-incomplete:focus,.wp-social-link.wp-social-link__is-incomplete:hover{opacity:1}.block-editor-block-list__block[data-type="core/spacer"]:before{content:"";display:block;height:100%;min-height:8px;min-width:8px;position:absolute;width:100%;z-index:1}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container,.wp-block-spacer.is-selected.custom-sizes-disabled{background:rgba(0,0,0,.1)}.is-dark-theme .block-library-spacer__resize-container.has-show-handle,.is-dark-theme .wp-block-spacer.is-hovered .block-library-spacer__resize-container,.is-dark-theme .wp-block-spacer.is-selected.custom-sizes-disabled{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.block-library-spacer__resize-container:not(.is-resizing){height:100%!important;width:100%!important}.block-library-spacer__resize-container .components-resizable-box__handle:before{content:none}.block-library-spacer__resize-container.resize-horizontal{margin-bottom:0}.wp-block-table{margin:0}.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:0}}.blocks-table__placeholder-input{margin-bottom:0;margin-left:8px;width:112px}.blocks-table__placeholder-input input{height:36px}.block-editor-template-part__selection-modal{z-index:1000001}.block-editor-template-part__selection-modal .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:1280px){.block-editor-template-part__selection-modal .block-editor-block-patterns-list{column-count:3}}.block-editor-template-part__selection-modal .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.block-library-template-part__selection-search{background:#fff;padding:16px 0;position:sticky;top:0;z-index:2}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-highlighted,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-selected{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-dark-theme .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after,.is-dark-theme .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.wp-block-text-columns .block-editor-rich-text__editable:focus{outline:1px solid #ddd}.wp-block-video.wp-block-video.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e}.wp-block-video.wp-block-video.is-selected .components-placeholder>svg{opacity:0}.wp-block-video.wp-block-video.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-video.wp-block-video.is-selected .components-placeholder:before{opacity:0}.wp-block-video.wp-block-video .components-button,.wp-block-video.wp-block-video .components-placeholder__instructions,.wp-block-video.wp-block-video .components-placeholder__label{transition:none}.wp-block[data-align=center]>.wp-block-video{text-align:center}.wp-block-video{position:relative}.wp-block-video.is-transient video{opacity:.3}.wp-block-video .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}.editor-video-poster-control .components-base-control__label{display:block}.editor-video-poster-control .components-button{margin-left:8px}.block-library-video-tracks-editor{z-index:159990}.block-library-video-tracks-editor__track-list-track{padding-right:12px}.block-library-video-tracks-editor__single-track-editor-kind-select{max-width:240px}.block-library-video-tracks-editor__single-track-editor-edit-track-label{color:#757575;display:block;font-size:11px;font-weight:500;margin-top:4px;text-transform:uppercase}.block-library-video-tracks-editor>.components-popover__content{padding:0;width:360px}.block-library-video-tracks-editor__add-tracks-container .components-menu-group__label,.block-library-video-tracks-editor__track-list .components-menu-group__label{padding:0}.block-library-video-tracks-editor__add-tracks-container,.block-library-video-tracks-editor__single-track-editor,.block-library-video-tracks-editor__track-list{padding:12px}.editor-styles-wrapper ul.wp-block-post-template{list-style:none;margin-right:0;padding-right:0}.block-library-query-toolbar__popover .components-popover__content{min-width:230px}.wp-block-query__create-new-link{padding:0 52px 16px 16px}.block-library-query__pattern-selection-content .block-editor-block-patterns-list{grid-gap:8px;display:grid;grid-template-columns:1fr 1fr 1fr}.block-library-query__pattern-selection-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{margin-bottom:0}.block-library-query__pattern-selection-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__container{max-height:250px}.block-library-query-pattern__selection-modal .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:1280px){.block-library-query-pattern__selection-modal .block-editor-block-patterns-list{column-count:3}}.block-library-query-pattern__selection-modal .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.block-library-query-pattern__selection-modal .block-library-query-pattern__selection-search{background:#fff;margin-bottom:2px;padding:16px 0;position:sticky;top:0;z-index:2}.block-library-query-toolspanel__filters .components-form-token-field__help{margin-bottom:0}.block-library-query-toolspanel__filters .block-library-query-inspector__taxonomy-control:not(:last-child){margin-bottom:24px}@media (min-width:600px){.wp-block-query__enhanced-pagination-modal{max-width:480px}}.wp-block-query__enhanced-pagination-notice{margin:0}.wp-block[data-align=center]>.wp-block-query-pagination{justify-content:center}.editor-styles-wrapper .wp-block-query-pagination{max-width:100%}.editor-styles-wrapper .wp-block-query-pagination.block-editor-block-list__layout{margin:0}.wp-block-query-pagination>.wp-block-query-pagination-next,.wp-block-query-pagination>.wp-block-query-pagination-numbers,.wp-block-query-pagination>.wp-block-query-pagination-previous{margin-bottom:.5em;margin-right:.5em;margin-top:.5em}.wp-block-query-pagination>.wp-block-query-pagination-next:last-child,.wp-block-query-pagination>.wp-block-query-pagination-numbers:last-child,.wp-block-query-pagination>.wp-block-query-pagination-previous:last-child{margin-right:0}.wp-block-query-pagination-numbers a{text-decoration:underline}.wp-block-query-pagination-numbers .page-numbers{margin-left:2px}.wp-block-query-pagination-numbers .page-numbers:last-child{margin-right:0}.wp-block-post-featured-image .block-editor-media-placeholder{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1}.wp-block-post-featured-image .components-placeholder,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder{align-items:center;display:flex;justify-content:center;min-height:200px;padding:0}.wp-block-post-featured-image .components-placeholder .components-form-file-upload,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-form-file-upload{display:none}.wp-block-post-featured-image .components-placeholder .components-button,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;padding:0;position:relative;width:48px}.wp-block-post-featured-image .components-placeholder .components-button>svg,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button>svg{color:inherit}.wp-block-post-featured-image .components-placeholder:where(.has-border-color),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where(.has-border-color),.wp-block-post-featured-image img:where(.has-border-color){border-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-top-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-color]),.wp-block-post-featured-image img:where([style*=border-top-color]){border-top-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-right-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-color]),.wp-block-post-featured-image img:where([style*=border-right-color]){border-left-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image img:where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-left-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-color]),.wp-block-post-featured-image img:where([style*=border-left-color]){border-right-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-width]),.wp-block-post-featured-image img:where([style*=border-width]){border-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-top-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-width]),.wp-block-post-featured-image img:where([style*=border-top-width]){border-top-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-right-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-width]),.wp-block-post-featured-image img:where([style*=border-right-width]){border-left-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image img:where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-left-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-width]),.wp-block-post-featured-image img:where([style*=border-left-width]){border-right-style:solid}.wp-block-post-featured-image[style*=height] .components-placeholder{height:100%;min-height:48px;min-width:48px;width:100%}div[data-type="core/post-featured-image"] img{display:block;height:auto;max-width:100%}.wp-block-post-comments-form *{pointer-events:none}.wp-block-post-comments-form .block-editor-warning *{pointer-events:auto}.wp-element-button{cursor:revert}.wp-element-button[role=textbox]{cursor:text}:root .editor-styles-wrapper .has-very-light-gray-background-color{background-color:#eee}:root .editor-styles-wrapper .has-very-dark-gray-background-color{background-color:#313131}:root .editor-styles-wrapper .has-very-light-gray-color{color:#eee}:root .editor-styles-wrapper .has-very-dark-gray-color{color:#313131}:root .editor-styles-wrapper .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(-135deg,#00d084,#0693e3)}:root .editor-styles-wrapper .has-purple-crush-gradient-background{background:linear-gradient(-135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .editor-styles-wrapper .has-hazy-dawn-gradient-background{background:linear-gradient(-135deg,#faaca8,#dad0ec)}:root .editor-styles-wrapper .has-subdued-olive-gradient-background{background:linear-gradient(-135deg,#fafae1,#67a671)}:root .editor-styles-wrapper .has-atomic-cream-gradient-background{background:linear-gradient(-135deg,#fdd79a,#004a59)}:root .editor-styles-wrapper .has-nightshade-gradient-background{background:linear-gradient(-135deg,#330968,#31cdcf)}:root .editor-styles-wrapper .has-midnight-gradient-background{background:linear-gradient(-135deg,#020381,#2874fc)}.editor-styles-wrapper{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.editor-styles-wrapper .has-regular-font-size{font-size:16px}.editor-styles-wrapper .has-larger-font-size{font-size:42px}.editor-styles-wrapper .has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.editor-styles-wrapper .has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.editor-styles-wrapper iframe:not([frameborder]){border:0} \ No newline at end of file +ul.wp-block-archives{padding-right:2.5em}.wp-block-audio{margin-left:0;margin-right:0;position:relative}.wp-block-audio.is-transient audio{opacity:.3}.wp-block-audio .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}.wp-block-avatar__image img{width:100%}.wp-block-avatar.aligncenter .components-resizable-box__container{margin:0 auto}.edit-post-visual-editor .block-library-block__reusable-block-container .is-root-container{padding-left:0;padding-right:0}.edit-post-visual-editor .block-library-block__reusable-block-container .block-editor-writing-flow{display:block}.edit-post-visual-editor .block-library-block__reusable-block-container .components-disabled .block-list-appender{display:none}.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-dark-theme .edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.wp-block[data-align=center]>.wp-block-button{margin-left:auto;margin-right:auto;text-align:center}.wp-block[data-align=right]>.wp-block-button{text-align:right}.wp-block-button{cursor:text;position:relative}.wp-block-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.wp-block-button[data-rich-text-placeholder]:after{opacity:.8}div[data-type="core/button"]{display:table}.editor-styles-wrapper .wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-right-width:medium}.wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{margin:0}.wp-block-buttons>.block-list-appender{align-items:center;display:inline-flex}.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{justify-content:flex-start}.wp-block-buttons>.wp-block-button:focus{box-shadow:none}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{margin-left:auto;margin-right:auto;margin-top:0;width:100%}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{margin-bottom:0}.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block[data-align=center]>.wp-block-buttons{align-items:center;justify-content:center}.wp-block[data-align=right]>.wp-block-buttons{justify-content:flex-end}.wp-block-categories ul{padding-right:2.5em}.wp-block-categories ul ul{margin-top:6px}[data-align=center] .wp-block-categories{text-align:center}.wp-block-code code{background:none}.wp-block-columns :where(.wp-block){margin-left:0;margin-right:0;max-width:none}html :where(.wp-block-column){margin-bottom:0;margin-top:0}.wp-block-comments__legacy-placeholder,.wp-block-post-comments{box-sizing:border-box}.wp-block-comments__legacy-placeholder .alignleft,.wp-block-post-comments .alignleft{float:right}.wp-block-comments__legacy-placeholder .alignright,.wp-block-post-comments .alignright{float:left}.wp-block-comments__legacy-placeholder .navigation:after,.wp-block-post-comments .navigation:after{clear:both;content:"";display:table}.wp-block-comments__legacy-placeholder .commentlist,.wp-block-post-comments .commentlist{clear:both;list-style:none;margin:0;padding:0}.wp-block-comments__legacy-placeholder .commentlist .comment,.wp-block-post-comments .commentlist .comment{min-height:2.25em;padding-right:3.25em}.wp-block-comments__legacy-placeholder .commentlist .comment p,.wp-block-post-comments .commentlist .comment p{font-size:1em;line-height:1.8;margin:1em 0}.wp-block-comments__legacy-placeholder .commentlist .children,.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-comments__legacy-placeholder .comment-author,.wp-block-post-comments .comment-author{line-height:1.5}.wp-block-comments__legacy-placeholder .comment-author .avatar,.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:right;height:2.5em;margin-left:.75em;margin-top:.5em;width:2.5em}.wp-block-comments__legacy-placeholder .comment-author cite,.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-comments__legacy-placeholder .comment-meta,.wp-block-post-comments .comment-meta{font-size:.875em;line-height:1.5}.wp-block-comments__legacy-placeholder .comment-meta b,.wp-block-post-comments .comment-meta b{font-weight:400}.wp-block-comments__legacy-placeholder .comment-meta .comment-awaiting-moderation,.wp-block-post-comments .comment-meta .comment-awaiting-moderation{display:block;margin-bottom:1em;margin-top:1em}.wp-block-comments__legacy-placeholder .comment-body .commentmetadata,.wp-block-post-comments .comment-body .commentmetadata{font-size:.875em}.wp-block-comments__legacy-placeholder .comment-form-author label,.wp-block-comments__legacy-placeholder .comment-form-comment label,.wp-block-comments__legacy-placeholder .comment-form-email label,.wp-block-comments__legacy-placeholder .comment-form-url label,.wp-block-post-comments .comment-form-author label,.wp-block-post-comments .comment-form-comment label,.wp-block-post-comments .comment-form-email label,.wp-block-post-comments .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-comments__legacy-placeholder .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-comments__legacy-placeholder .comment-form textarea,.wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-comments__legacy-placeholder .comment-form-cookies-consent,.wp-block-post-comments .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-comments__legacy-placeholder .comment-form-cookies-consent #wp-comment-cookies-consent,.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-comments__legacy-placeholder .comment-reply-title,.wp-block-post-comments .comment-reply-title{margin-bottom:0}.wp-block-comments__legacy-placeholder .comment-reply-title :where(small),.wp-block-post-comments .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-right:.5em}.wp-block-comments__legacy-placeholder .reply,.wp-block-post-comments .reply{font-size:.875em;margin-bottom:1.4em}.wp-block-comments__legacy-placeholder input:not([type=submit]),.wp-block-comments__legacy-placeholder textarea,.wp-block-post-comments input:not([type=submit]),.wp-block-post-comments textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-comments__legacy-placeholder input:not([type=submit]):not([type=checkbox]),.wp-block-comments__legacy-placeholder textarea,.wp-block-post-comments input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments textarea{padding:calc(.667em + 2px)}:where(.wp-block-post-comments input[type=submit]){border:none}.block-library-comments-toolbar__popover .components-popover__content{min-width:230px}.wp-block-comments__legacy-placeholder *{pointer-events:none}.wp-block-comment-author-avatar__placeholder{stroke:currentColor;stroke-dasharray:3;border:1px dashed;height:100%;width:100%}.wp-block[data-align=center]>.wp-block-comments-pagination{justify-content:center}.editor-styles-wrapper .wp-block-comments-pagination{max-width:100%}.editor-styles-wrapper .wp-block-comments-pagination.block-editor-block-list__layout{margin:0}.wp-block-comments-pagination>.wp-block-comments-pagination-next,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers,.wp-block-comments-pagination>.wp-block-comments-pagination-previous{margin-bottom:.5em;margin-right:.5em;margin-top:.5em}.wp-block-comments-pagination>.wp-block-comments-pagination-next:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-previous:last-child{margin-right:0}.wp-block-comments-pagination-numbers a{text-decoration:underline}.wp-block-comments-pagination-numbers .page-numbers{margin-left:2px}.wp-block-comments-pagination-numbers .page-numbers:last-child{margin-right:0}.wp-block-comments-title.has-background{padding:inherit}.editor-styles-wrapper .wp-block-cover{box-sizing:border-box}.wp-block-cover.is-placeholder{align-items:stretch;display:flex;min-height:240px;padding:0!important}.wp-block-cover.is-placeholder .components-placeholder.is-large{justify-content:flex-start;z-index:1}.wp-block-cover.is-placeholder:focus:after{min-height:auto}.wp-block-cover.components-placeholder h2{color:inherit}.wp-block-cover.is-transient:before{background-color:#fff;opacity:.3}.wp-block-cover .components-spinner{margin:0;position:absolute;right:50%;top:50%;transform:translate(50%,-50%);z-index:1}.wp-block-cover .wp-block-cover__inner-container{margin-left:0;margin-right:0;text-align:right}.wp-block-cover .wp-block-cover__placeholder-background-options{width:100%}.wp-block-cover .wp-block-cover__image--placeholder-image{bottom:0;left:0;position:absolute;right:0;top:0}[data-align=left]>.wp-block-cover,[data-align=right]>.wp-block-cover{max-width:420px;width:100%}.block-library-cover__reset-button{margin-right:auto}.block-library-cover__resize-container{bottom:0;left:0;min-height:50px;position:absolute!important;right:0;top:0}.components-popover.block-editor-block-popover.block-library-cover__resizable-box-popover .block-library-cover__resize-container,.components-popover.block-editor-block-popover.block-library-cover__resizable-box-popover .components-popover__content>div{overflow:visible;pointer-events:none}.wp-block-cover>.components-drop-zone .components-drop-zone__content{opacity:.8!important}.block-editor-block-patterns-list__list-item .has-parallax.wp-block-cover{background-attachment:scroll}.color-block-support-panel__inner-wrapper>:not(.block-editor-tools-panel-color-gradient-settings__item){margin-top:24px}.wp-block-cover:after{min-height:auto}.wp-block-details summary div{display:inline}.wp-block-embed{clear:both;margin-left:0;margin-right:0}.wp-block-embed.is-loading{display:flex;justify-content:center}.wp-block-embed .components-placeholder__error{word-break:break-word}.wp-block-embed .components-placeholder__learn-more{margin-top:1em}.block-library-embed__interactive-overlay{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.wp-block[data-align=left]>.wp-block-embed,.wp-block[data-align=right]>.wp-block-embed{max-width:360px;width:100%}.wp-block[data-align=left]>.wp-block-embed .wp-block-embed__wrapper,.wp-block[data-align=right]>.wp-block-embed .wp-block-embed__wrapper{min-width:280px}.wp-block-file{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:0}.wp-block[data-align=left]>.wp-block-file,.wp-block[data-align=right]>.wp-block-file{height:auto}.wp-block-file .components-resizable-box__container{margin-bottom:1em}.wp-block-file .wp-block-file__preview{height:100%;margin-bottom:1em;width:100%}.wp-block-file .wp-block-file__preview-overlay{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-file .wp-block-file__content-wrapper{flex-grow:1}.wp-block-file a{min-width:1em}.wp-block-file a:not(.wp-block-file__button){display:inline-block}.wp-block-file .wp-block-file__button-richtext-wrapper{display:inline-block;margin-right:.75em}.wp-block-form-input .is-input-hidden{background:repeating-linear-gradient(-45deg,transparent,transparent 5px,currentColor 0,currentColor 6px);border:1px dashed;box-sizing:border-box;font-size:.85em;opacity:.3;padding:.5em}.wp-block-form-input .is-input-hidden input[type=text]{background:transparent}.wp-block-form-input.is-selected .is-input-hidden{background:none;opacity:1}.wp-block-form-input.is-selected .is-input-hidden input[type=text]{background:unset}.wp-block-form-submission-notification>*{background:repeating-linear-gradient(-45deg,transparent,transparent 5px,currentColor 0,currentColor 6px);border:1px dashed;box-sizing:border-box;opacity:.25}.wp-block-form-submission-notification.is-selected>*,.wp-block-form-submission-notification:has(.is-selected)>*{background:none;opacity:1}.wp-block-form-submission-notification.is-selected:after,.wp-block-form-submission-notification:has(.is-selected):after{display:none!important}.wp-block-form-submission-notification:after{align-items:center;display:flex;font-size:1.1em;height:100%;justify-content:center;position:absolute;right:0;top:0;width:100%}.wp-block-form-submission-notification.form-notification-type-success:after{content:attr(data-message-success)}.wp-block-form-submission-notification.form-notification-type-error:after{content:attr(data-message-error)}.wp-block-freeform.block-library-rich-text__tinymce{height:auto}.wp-block-freeform.block-library-rich-text__tinymce li,.wp-block-freeform.block-library-rich-text__tinymce p{line-height:1.8}.wp-block-freeform.block-library-rich-text__tinymce ol,.wp-block-freeform.block-library-rich-text__tinymce ul{margin-right:0;padding-right:2.5em}.wp-block-freeform.block-library-rich-text__tinymce blockquote{border-right:4px solid #000;box-shadow:inset 0 0 0 0 #ddd;margin:0;padding-right:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;white-space:pre-wrap}.wp-block-freeform.block-library-rich-text__tinymce>:first-child{margin-top:0}.wp-block-freeform.block-library-rich-text__tinymce>:last-child{margin-bottom:0}.wp-block-freeform.block-library-rich-text__tinymce.mce-edit-focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce a{color:var(--wp-admin-theme-color)}.wp-block-freeform.block-library-rich-text__tinymce:focus a[data-mce-selected]{background:#e5f5fa;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;margin:0 -2px;padding:0 2px}.wp-block-freeform.block-library-rich-text__tinymce code{background:#f0f0f0;border-radius:2px;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:14px;padding:2px}.wp-block-freeform.block-library-rich-text__tinymce:focus code[data-mce-selected]{background:#ddd}.wp-block-freeform.block-library-rich-text__tinymce .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-freeform.block-library-rich-text__tinymce .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-freeform.block-library-rich-text__tinymce .aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-block-freeform.block-library-rich-text__tinymce .wp-more-tag{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADtgAAAAoBAMAAAA86gLBAAAAJFBMVEVMaXG7u7vBwcHDw8POzs68vLzGxsbMzMy+vr7AwMDQ0NDGxsYKLGzpAAAADHRSTlMA///zWf+/f///TMxNVGuqAAABwklEQVR4Ae3dMXLaQBTH4bfj8UCpx8hq0vgKvgFNemhT6Qo6gg6R+0ZahM2QLmyBJ99XWP9V5+o3jIUcLQEAAAAAAAAAAAAAAAAAAAAAAABQ8j0WL9lfTtlt18uNXAUA8O/KVtfa1tdcrOdSh9gCQAMlh1hMNbZZ1bsrsQWABsrhLRbz7z5in/32UbfUMUbkMQCAh5RfGYv82UdMdZ6HS2wjT2ILAI8r3XmM2B3WvM59vfO2xXYW2yYAENuPU8S+X/N67mKxzy225yaxBQCxLV392UdcvwV0jPVUj98ntkBWT7C7+9u2/V/vGtvXIWJ6/4rtbottWa6Ri0NUT/u72LYttrb97LHdvUXMxxrb8TO2W2TF1rYbbLG1bbGNjMi4+2Sbi1FsbbvNFlvbFtt5fDnE3d9sP1/XeIyV2Nr2U2/guZUuptNrH/dPI9eLB6SaAEBs6wPJf3/PNk9tYgsAYrv/8TFuzx/fvkFqGtrEFgDEdpcZUb7ejXy6ntrEFgDENvL6gsas4vbdyKt4DACI7TxElJv/Z7udpqFNbAFAbKduy2uU2trttM/x28UWAAAAAAAAAAAAAAAAAAAAAAAAAADgDyPwGmGTCZp7AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;background-size:1900px 20px;cursor:default;display:block;height:20px;margin:15px auto;outline:0;width:96%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:transparent}.wp-block-freeform.block-library-rich-text__tinymce div.mceTemp{-ms-user-select:element}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption{margin:0;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption a,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption img{display:block}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption *{-webkit-user-drag:none}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption .wp-caption-dd{margin:0;padding-top:.5em}.wp-block-freeform.block-library-rich-text__tinymce .wpview{border:1px solid transparent;clear:both;margin-bottom:16px;position:relative;width:99.99%}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{background:transparent;display:block;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected="2"] .mce-shim{display:none}.wp-block-freeform.block-library-rich-text__tinymce .wpview .loading-placeholder{border:1px dashed #ddd;padding:10px}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error{word-wrap:break-word;border:1px solid #ddd;margin:0;padding:1em 0}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error p{margin:0;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .loading-placeholder,.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .wpview-error{border-color:transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview .dashicons{display:block;font-size:32px;height:32px;margin:0 auto;width:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{clear:both;content:"";display:table}.wp-block-freeform.block-library-rich-text__tinymce .gallery img[data-mce-selected]:focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce .gallery a{cursor:default}.wp-block-freeform.block-library-rich-text__tinymce .gallery{line-height:1;margin:auto -6px;overflow-x:hidden;padding:6px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{box-sizing:border-box;float:right;margin:0;padding:6px;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption,.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-icon{margin:0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption{font-size:13px;margin:4px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-1 .gallery-item{width:100%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-2 .gallery-item{width:50%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-3 .gallery-item{width:33.3333333333%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-4 .gallery-item{width:25%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-5 .gallery-item{width:20%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-6 .gallery-item{width:16.6666666667%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-7 .gallery-item{width:14.2857142857%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-8 .gallery-item{width:12.5%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-9 .gallery-item{width:11.1111111111%}.wp-block-freeform.block-library-rich-text__tinymce .gallery img{border:none;height:auto;max-width:100%;padding:0}div[data-type="core/freeform"]:before{border:1px solid #ddd;outline:1px solid transparent;transition:border-color .1s linear,box-shadow .1s linear}@media (prefers-reduced-motion:reduce){div[data-type="core/freeform"]:before{transition-delay:0s;transition-duration:0s}}div[data-type="core/freeform"].is-selected:before{border-color:#1e1e1e}div[data-type="core/freeform"] .block-editor-block-contextual-toolbar+div{margin-top:0;padding-top:0}div[data-type="core/freeform"].is-selected .block-library-rich-text__tinymce:after{clear:both;content:"";display:table}.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active i,.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i{color:#1e1e1e}.mce-toolbar-grp .mce-rtl .mce-flow-layout-item.mce-last{margin-left:0;margin-right:8px}.mce-toolbar-grp .mce-btn i{font-style:normal}.block-library-classic__toolbar{border:1px solid #ddd;border-bottom:none;border-radius:2px;display:none;margin:0 0 8px;padding:0;position:sticky;top:0;width:auto;z-index:31}div[data-type="core/freeform"].is-selected .block-library-classic__toolbar{border-color:#1e1e1e;display:block}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media (min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{background:#f5f5f5;border-bottom:1px solid #e2e4e7;display:block}.block-library-classic__toolbar:empty:before{color:#555d66;content:attr(data-placeholder);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:37px;padding:14px}.block-library-classic__toolbar div.mce-toolbar-grp{border-bottom:1px solid #1e1e1e}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar .mce-menubar>div,.block-library-classic__toolbar .mce-tinymce-inline,.block-library-classic__toolbar .mce-tinymce-inline>div,.block-library-classic__toolbar div.mce-toolbar-grp,.block-library-classic__toolbar div.mce-toolbar-grp>div{height:auto!important;width:100%!important}.block-library-classic__toolbar .mce-container-body.mce-abs-layout{overflow:visible}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar div.mce-toolbar-grp{position:static}.block-library-classic__toolbar .mce-toolbar-grp>div{padding:1px 3px}.block-library-classic__toolbar .mce-toolbar-grp .mce-toolbar:not(:first-child){display:none}.block-library-classic__toolbar.has-advanced-toolbar .mce-toolbar-grp .mce-toolbar{display:block}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{height:50vh!important}@media (min-width:960px){.block-editor-freeform-modal .block-editor-freeform-modal__content:not(.is-full-screen){height:9999rem}.block-editor-freeform-modal .block-editor-freeform-modal__content .components-modal__header+div{height:100%}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-tinymce{height:calc(100% - 52px)}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-container-body{display:flex;flex-direction:column;height:100%;min-width:50vw}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area{display:flex;flex-direction:column;flex-grow:1}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{flex-grow:1;height:10px!important}}.block-editor-freeform-modal__actions{margin-top:16px}figure.wp-block-gallery{display:block}figure.wp-block-gallery>.blocks-gallery-caption{flex:0 0 100%}figure.wp-block-gallery>.blocks-gallery-media-placeholder-wrapper{flex-basis:100%}figure.wp-block-gallery .wp-block-image .components-notice.is-error{display:block}figure.wp-block-gallery .wp-block-image .components-notice__content{margin:4px 0}figure.wp-block-gallery .wp-block-image .components-notice__dismiss{left:5px;position:absolute;top:0}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label{display:none}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button{margin-bottom:0}figure.wp-block-gallery .block-editor-media-placeholder{margin:0}figure.wp-block-gallery .block-editor-media-placeholder .components-placeholder__label{display:flex}figure.wp-block-gallery .block-editor-media-placeholder figcaption{z-index:2}figure.wp-block-gallery .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}.gallery-settings-buttons .components-button:first-child{margin-left:8px}.gallery-image-sizes .components-base-control__label{display:block;margin-bottom:4px}.gallery-image-sizes .gallery-image-sizes__loading{align-items:center;color:#757575;display:flex;font-size:12px}.gallery-image-sizes .components-spinner{margin:0 4px 0 8px}.blocks-gallery-item figure:not(.is-selected):focus,.blocks-gallery-item img:focus{outline:none}.blocks-gallery-item figure.is-selected:before{bottom:0;box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";left:0;outline:2px solid transparent;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.blocks-gallery-item figure.is-transient img{opacity:.3}.blocks-gallery-item .is-selected .block-library-gallery-item__inline-menu{display:inline-flex}.blocks-gallery-item .block-editor-media-placeholder{height:100%;margin:0}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{background:#fff;border:1px solid #1e1e1e;border-radius:2px;display:none;margin:8px;position:absolute;top:-2px;transition:box-shadow .2s ease-out;z-index:20}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-delay:0s;transition-duration:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1)}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu,.columns-8 .block-library-gallery-item__inline-menu{padding:2px}}.block-library-gallery-item__inline-menu .components-button.has-icon:not(:focus){border:none;box-shadow:none}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu .components-button.has-icon,.columns-8 .block-library-gallery-item__inline-menu .components-button.has-icon{height:inherit;padding:0;width:inherit}}.block-library-gallery-item__inline-menu.is-left{right:-2px}.block-library-gallery-item__inline-menu.is-right{left:-2px}.wp-block-gallery ul.blocks-gallery-grid{margin:0;padding:0}@media (min-width:600px){.wp-block-update-gallery-modal{max-width:480px}}.wp-block-update-gallery-modal-buttons{display:flex;gap:12px;justify-content:flex-end}.wp-block-group .block-editor-block-list__insertion-point{left:0;right:0}[data-type="core/group"].is-selected .block-list-appender{margin-left:0;margin-right:0}[data-type="core/group"].is-selected .has-background .block-list-appender{margin-bottom:18px;margin-top:18px}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child{gap:inherit;pointer-events:none}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-default-block-appender__content,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{display:inherit;flex:1;flex-direction:inherit;width:100%}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after{border:1px dashed;border-radius:2px;content:"";display:flex;flex:1 0 48px;min-height:46px;pointer-events:none}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{pointer-events:all}.wp-block-group__placeholder .wp-block-group-placeholder__variations{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;list-style:none;margin:0;padding:0;width:100%}.wp-block-group__placeholder .components-placeholder__instructions{margin-bottom:18px;text-align:center}.wp-block-group__placeholder .wp-block-group-placeholder__variations svg{fill:#ccc!important}.wp-block-group__placeholder .wp-block-group-placeholder__variations svg:hover{fill:var(--wp-admin-theme-color)!important}.wp-block-group__placeholder .wp-block-group-placeholder__variations>li{align-items:center;display:flex;flex-direction:column;margin:0 12px 12px;width:auto}.wp-block-group__placeholder .wp-block-group-placeholder__variations li>.wp-block-group-placeholder__variation-button{height:32px;padding:0;width:44px}.wp-block-group__placeholder .wp-block-group-placeholder__variations li>.wp-block-group-placeholder__variation-button:hover{box-shadow:none}.wp-block-group__placeholder .components-placeholder{min-height:auto;padding:24px}.wp-block-group__placeholder .is-medium .wp-block-group-placeholder__variations>li,.wp-block-group__placeholder .is-small .wp-block-group-placeholder__variations>li{margin:12px}.block-library-html__edit .block-library-html__preview-overlay{height:100%;position:absolute;right:0;top:0;width:100%}.block-library-html__edit .block-editor-plain-text{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important}@media (min-width:600px){.block-library-html__edit .block-editor-plain-text{font-size:13px!important}}.block-library-html__edit .block-editor-plain-text:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid transparent!important}.wp-block-image.wp-block-image.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;filter:none!important}.wp-block-image.wp-block-image.is-selected .components-placeholder>svg{opacity:0}.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-image.wp-block-image .block-bindings-media-placeholder-message,.wp-block-image.wp-block-image.is-selected .components-placeholder:before{opacity:0}.wp-block-image.wp-block-image.is-selected .block-bindings-media-placeholder-message{opacity:1}.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{transition:none}figure.wp-block-image:not(.wp-block){margin:0}.wp-block-image{position:relative}.wp-block-image .is-applying img,.wp-block-image.is-transient img{opacity:.3}.wp-block-image figcaption img{display:inline}.wp-block-image .components-spinner{position:absolute;right:50%;top:50%;transform:translate(50%,-50%)}.wp-block-image .components-resizable-box__container{display:table}.wp-block-image .components-resizable-box__container img{display:block;height:inherit;width:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{left:0;margin:-1px 0;position:absolute;right:0}@media (min-width:600px){.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{margin:-1px}}[data-align=full]>.wp-block-image img,[data-align=wide]>.wp-block-image img{height:auto;width:100%}.wp-block[data-align=center]>.wp-block-image,.wp-block[data-align=left]>.wp-block-image,.wp-block[data-align=right]>.wp-block-image{display:table}.wp-block[data-align=center]>.wp-block-image>figcaption,.wp-block[data-align=left]>.wp-block-image>figcaption,.wp-block[data-align=right]>.wp-block-image>figcaption{caption-side:bottom;display:table-caption}.wp-block[data-align=left]>.wp-block-image{margin:.5em 0 .5em 1em}.wp-block[data-align=right]>.wp-block-image{margin:.5em 1em .5em 0}.wp-block[data-align=center]>.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}.wp-block-image__crop-area{max-width:100%;overflow:hidden;position:relative;width:100%}.wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image{border:none;border-radius:0}.wp-block-image__crop-icon{align-items:center;display:flex;justify-content:center;min-width:48px;padding:0 8px}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{min-width:260px;overflow:visible!important}.wp-block-image__aspect-ratio{align-items:center;display:flex;height:46px;margin-bottom:-8px}.wp-block-image__aspect-ratio .components-button{padding-left:0;padding-right:0;width:36px}.wp-block-latest-posts{padding-right:2.5em}.wp-block-latest-posts.is-grid{padding-right:0}.wp-block-latest-posts>li{overflow:hidden}.wp-block-latest-posts li a>div{display:inline}.edit-post-visual-editor .wp-block-latest-posts.is-grid li{margin-bottom:20px}.editor-latest-posts-image-alignment-control .components-base-control__label{display:block}.editor-latest-posts-image-alignment-control .components-toolbar{border-radius:2px}.wp-block-media-text__media{position:relative}.wp-block-media-text__media.is-transient img{opacity:.3}.wp-block-media-text__media .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}.wp-block-media-text .__resizable_base__{grid-column:1/span 2;grid-row:2}.wp-block-media-text .editor-media-container__resizer{width:100%!important}.wp-block-media-text.is-image-fill .editor-media-container__resizer{height:100%!important}.wp-block-media-text>.block-editor-block-list__layout>.block-editor-block-list__block{max-width:unset}.block-editor-block-list__block[data-type="core/more"]{margin-bottom:28px;margin-top:28px;max-width:100%;text-align:center}.wp-block-more{display:block;text-align:center;white-space:nowrap}.wp-block-more input[type=text]{background:#fff;border:none;border-radius:4px;box-shadow:none;color:#757575;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:600;height:24px;margin:0;max-width:100%;padding:6px 8px;position:relative;text-align:center;text-transform:uppercase;white-space:nowrap}.wp-block-more input[type=text]:focus{box-shadow:none}.wp-block-more:before{border-top:3px dashed #ccc;content:"";left:0;position:absolute;right:0;top:50%}.editor-styles-wrapper .wp-block-navigation ul{margin-bottom:0;margin-right:0;margin-top:0;padding-right:0}.editor-styles-wrapper .wp-block-navigation .wp-block-navigation-item.wp-block{margin:revert}.wp-block-navigation-item__label{display:inline}.wp-block-navigation-item,.wp-block-navigation__container{background-color:inherit}.wp-block-navigation:not(.is-selected):not(.has-child-selected) .has-child:hover>.wp-block-navigation__submenu-container{opacity:0;visibility:hidden}.has-child.has-child-selected>.wp-block-navigation__submenu-container,.has-child.is-selected>.wp-block-navigation__submenu-container{display:flex;opacity:1;visibility:visible}.is-dragging-components-draggable .has-child.is-dragging-within>.wp-block-navigation__submenu-container{opacity:1;visibility:visible}.is-editing>.wp-block-navigation__container{display:flex;flex-direction:column;opacity:1;visibility:visible}.is-dragging-components-draggable .wp-block-navigation-link>.wp-block-navigation__container{opacity:1;visibility:hidden}.is-dragging-components-draggable .wp-block-navigation-link>.wp-block-navigation__container .block-editor-block-draggable-chip-wrapper{visibility:visible}.is-editing>.wp-block-navigation__submenu-container>.block-list-appender{display:block;position:static;width:100%}.is-editing>.wp-block-navigation__submenu-container>.block-list-appender .block-editor-button-block-appender{background:#1e1e1e;border-radius:2px;color:#fff;margin-left:0;margin-right:auto;padding:0;width:24px}.wp-block-navigation__submenu-container .block-list-appender{display:none}.block-library-colors-selector{width:auto}.block-library-colors-selector .block-library-colors-selector__toggle{display:block;margin:0 auto;padding:3px;width:auto}.block-library-colors-selector .block-library-colors-selector__icon-container{align-items:center;border-radius:4px;display:flex;height:30px;margin:0 auto;padding:3px;position:relative}.block-library-colors-selector .block-library-colors-selector__state-selection{border-radius:11px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);height:22px;line-height:20px;margin-left:auto;margin-right:auto;min-height:22px;min-width:22px;padding:2px;width:22px}.block-library-colors-selector .block-library-colors-selector__state-selection>svg{min-width:auto!important}.block-library-colors-selector .block-library-colors-selector__state-selection.has-text-color>svg,.block-library-colors-selector .block-library-colors-selector__state-selection.has-text-color>svg path{color:inherit}.block-library-colors-selector__popover .color-palette-controller-container{padding:16px}.block-library-colors-selector__popover .components-base-control__label{height:20px;line-height:20px}.block-library-colors-selector__popover .component-color-indicator{float:left;margin-top:2px}.block-library-colors-selector__popover .components-panel__body-title{display:none}.wp-block-navigation .wp-block+.block-list-appender .block-editor-button-block-appender{background-color:#1e1e1e;color:#fff}.wp-block-navigation .wp-block+.block-list-appender .block-editor-button-block-appender.block-editor-button-block-appender.block-editor-button-block-appender{padding:0}.wp-block-navigation .wp-block .wp-block .block-editor-button-block-appender{background-color:transparent;color:#1e1e1e}@keyframes loadingpulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.components-placeholder.wp-block-navigation-placeholder{background:none;box-shadow:none;color:inherit;min-height:0;outline:none;padding:0}.components-placeholder.wp-block-navigation-placeholder .components-placeholder__fieldset{font-size:inherit}.components-placeholder.wp-block-navigation-placeholder .components-placeholder__fieldset .components-button{margin-bottom:0}.wp-block-navigation.is-selected .components-placeholder.wp-block-navigation-placeholder{color:#1e1e1e}.wp-block-navigation-placeholder__preview{align-items:center;background:transparent;color:currentColor;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;min-width:96px}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__preview{display:none}.wp-block-navigation-placeholder__preview:before{border:1px dashed;border-radius:2px;border-radius:inherit;bottom:0;content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0}.wp-block-navigation-placeholder__preview:before:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.wp-block-navigation-placeholder__preview>svg{fill:currentColor}.wp-block-navigation.is-vertical .is-medium .components-placeholder__fieldset,.wp-block-navigation.is-vertical .is-small .components-placeholder__fieldset{min-height:90px}.wp-block-navigation.is-vertical .is-large .components-placeholder__fieldset{min-height:132px}.wp-block-navigation-placeholder__controls,.wp-block-navigation-placeholder__preview{align-items:flex-start;flex-direction:row;padding:6px 8px}.wp-block-navigation-placeholder__controls{background-color:#fff;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;display:none;float:right;position:relative;width:100%;z-index:1}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls{display:flex}.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator,.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator+hr,.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator,.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator+hr{display:none}.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions,.wp-block-navigation.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions{align-items:flex-start;flex-direction:column}.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr,.wp-block-navigation.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr{display:none}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon{height:36px;margin-left:12px}.wp-block-navigation-placeholder__actions__indicator{align-items:center;display:flex;height:36px;justify-content:flex-start;line-height:0;margin-right:4px;padding:0 0 0 6px}.wp-block-navigation-placeholder__actions__indicator svg{fill:currentColor;margin-left:4px}.wp-block-navigation .components-placeholder.is-medium .components-placeholder__fieldset{flex-direction:row!important}.wp-block-navigation-placeholder__actions{align-items:center;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;gap:6px;height:100%}.wp-block-navigation-placeholder__actions .components-dropdown,.wp-block-navigation-placeholder__actions>.components-button{margin-left:0}.wp-block-navigation-placeholder__actions.wp-block-navigation-placeholder__actions hr{background-color:#1e1e1e;border:0;height:100%;margin:auto 0;max-height:16px;min-height:1px;min-width:1px}.is-collapsed .wp-block-navigation__responsive-container:not(.is-menu-open) .components-button.wp-block-navigation__responsive-container-close{display:none}.wp-block-navigation__responsive-container.is-menu-open{position:fixed;top:155px}@media (min-width:782px){.wp-block-navigation__responsive-container.is-menu-open{right:36px;top:93px}}@media (min-width:960px){.wp-block-navigation__responsive-container.is-menu-open{right:160px}}@media (min-width:782px){.has-fixed-toolbar .wp-block-navigation__responsive-container.is-menu-open{top:141px}}.is-mobile-preview .wp-block-navigation__responsive-container.is-menu-open,.is-tablet-preview .wp-block-navigation__responsive-container.is-menu-open{top:141px}.is-sidebar-opened .wp-block-navigation__responsive-container.is-menu-open{left:280px}.is-fullscreen-mode .wp-block-navigation__responsive-container.is-menu-open{right:0;top:155px}@media (min-width:782px){.is-fullscreen-mode .wp-block-navigation__responsive-container.is-menu-open{top:61px}.is-fullscreen-mode .has-fixed-toolbar .wp-block-navigation__responsive-container.is-menu-open{top:109px}}.is-fullscreen-mode .is-mobile-preview .wp-block-navigation__responsive-container.is-menu-open,.is-fullscreen-mode .is-tablet-preview .wp-block-navigation__responsive-container.is-menu-open{top:109px}body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-open{bottom:0;left:0;right:0;top:0}.components-button.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close,.components-button.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open{color:inherit;height:auto;padding:0}.components-heading.wp-block-navigation-off-canvas-editor__title{margin:0}.wp-block-navigation-off-canvas-editor__header{margin-bottom:8px}.is-menu-open .wp-block-navigation__responsive-container-content * .block-list-appender{margin-top:16px}@keyframes fadein{0%{opacity:0}to{opacity:1}}.wp-block-navigation__loading-indicator-container{padding:8px 12px}.wp-block-navigation .wp-block-navigation__uncontrolled-inner-blocks-loading-indicator{margin-top:0}@keyframes fadeouthalf{0%{opacity:1}to{opacity:.5}}.wp-block-navigation-delete-menu-button{justify-content:center;margin-bottom:16px;width:100%}.components-button.is-link.wp-block-navigation-manage-menus-button{margin-bottom:16px}.wp-block-navigation__overlay-menu-preview{align-items:center;background-color:#f0f0f0;display:flex;height:64px;justify-content:space-between;margin-bottom:12px;padding:0 24px;width:100%}.wp-block-navigation__overlay-menu-preview.open{background-color:#fff;box-shadow:inset 0 0 0 1px #e0e0e0;outline:1px solid transparent}.wp-block-navigation-placeholder__actions hr+hr,.wp-block-navigation__toolbar-menu-selector.components-toolbar-group:empty{display:none}.wp-block-navigation__navigation-selector{margin-bottom:16px;width:100%}.wp-block-navigation__navigation-selector-button{border:1px solid;justify-content:space-between;width:100%}.wp-block-navigation__navigation-selector-button__icon{flex:0 0 auto}.wp-block-navigation__navigation-selector-button__label{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-block-navigation__navigation-selector-button--createnew{border:1px solid;margin-bottom:16px;width:100%}.wp-block-navigation__responsive-container-open.components-button{opacity:1}.wp-block-navigation__menu-inspector-controls{overflow-x:auto;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-width:thin;will-change:transform}.wp-block-navigation__menu-inspector-controls::-webkit-scrollbar{height:12px;width:12px}.wp-block-navigation__menu-inspector-controls::-webkit-scrollbar-track{background-color:transparent}.wp-block-navigation__menu-inspector-controls::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.wp-block-navigation__menu-inspector-controls:focus-within::-webkit-scrollbar-thumb,.wp-block-navigation__menu-inspector-controls:focus::-webkit-scrollbar-thumb,.wp-block-navigation__menu-inspector-controls:hover::-webkit-scrollbar-thumb{background-color:#949494}.wp-block-navigation__menu-inspector-controls:focus,.wp-block-navigation__menu-inspector-controls:focus-within,.wp-block-navigation__menu-inspector-controls:hover{scrollbar-color:#949494 transparent}@media (hover:none){.wp-block-navigation__menu-inspector-controls{scrollbar-color:#949494 transparent}}.wp-block-navigation__menu-inspector-controls__empty-message{margin-right:24px}.wp-block-navigation .block-list-appender{position:relative}.wp-block-navigation .has-child{cursor:pointer}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation .has-child:hover .wp-block-navigation__submenu-container{z-index:29}.wp-block-navigation .has-child.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation .has-child.is-selected>.wp-block-navigation__submenu-container{height:auto!important;min-width:200px!important;opacity:1!important;overflow:visible!important;visibility:visible!important;width:auto!important}.wp-block-navigation-item .wp-block-navigation-item__content{cursor:text}.wp-block-navigation-item.is-editing,.wp-block-navigation-item.is-selected{min-width:20px}.wp-block-navigation-item .block-list-appender{margin:16px 16px 16px auto}.wp-block-navigation-link__invalid-item{color:#000}.wp-block-navigation-link__placeholder{background-image:none!important;box-shadow:none!important;position:relative;text-decoration:none!important}.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:var(--wp-admin-theme-color);background-image:linear-gradient(-45deg,transparent 20%,var(--wp-underline-color) 30%,var(--wp-underline-color) 36%,transparent 46%),linear-gradient(-135deg,transparent 54%,var(--wp-underline-color) 64%,var(--wp-underline-color) 70%,transparent 80%);background-position:100% 100%;background-repeat:repeat-x;background-size:6px 3px;padding-bottom:.1em}.is-dark-theme .wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:#fff}.wp-block-navigation-link__placeholder.wp-block-navigation-item__content{cursor:pointer}.link-control-transform{border-top:1px solid #ccc;padding:0 16px 8px}.link-control-transform__subheading{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.link-control-transform__items{display:flex;justify-content:space-between}.link-control-transform__item{flex-basis:33%;flex-direction:column;gap:8px;height:auto}.wp-block-navigation-submenu{display:block}.wp-block-navigation-submenu .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container{height:auto!important;min-width:200px!important;opacity:1!important;position:absolute;right:-1px;top:100%;visibility:visible!important;width:auto!important}@media (min-width:782px){.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{right:100%;top:-1px}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:transparent;content:"";display:block;height:100%;left:100%;position:absolute;width:.5em}}.block-editor-block-list__block[data-type="core/nextpage"]{margin-bottom:28px;margin-top:28px;max-width:100%;text-align:center}.wp-block-nextpage{display:block;text-align:center;white-space:nowrap}.wp-block-nextpage>span{background:#fff;border-radius:4px;color:#757575;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:600;height:24px;padding:6px 8px;position:relative;text-transform:uppercase}.wp-block-nextpage:before{border-top:3px dashed #ccc;content:"";left:0;position:absolute;right:0;top:50%}.wp-block-navigation .wp-block-page-list,.wp-block-navigation .wp-block-page-list>div{background-color:inherit}.wp-block-navigation.items-justified-space-between .wp-block-page-list,.wp-block-navigation.items-justified-space-between .wp-block-page-list>div{display:contents;flex:1}.wp-block-navigation.items-justified-space-between.has-child-selected .wp-block-page-list,.wp-block-navigation.items-justified-space-between.has-child-selected .wp-block-page-list>div,.wp-block-navigation.items-justified-space-between.is-selected .wp-block-page-list,.wp-block-navigation.items-justified-space-between.is-selected .wp-block-page-list>div{flex:inherit}.wp-block-navigation .wp-block-navigation__submenu-container>.wp-block-page-list{display:block}.wp-block-pages-list__item__link{pointer-events:none}@media (min-width:600px){.wp-block-page-list-modal{max-width:480px}}.wp-block-page-list-modal-buttons{display:flex;gap:12px;justify-content:flex-end}.wp-block-page-list .open-on-click:focus-within>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;visibility:visible;width:auto}.wp-block-page-list__loading-indicator-container{padding:8px 12px}.block-editor-block-list__block[data-type="core/paragraph"].has-drop-cap:focus{min-height:auto!important}.block-editor-block-list__block[data-empty=true] [data-rich-text-placeholder]{opacity:1}.block-editor-block-list__block[data-empty=true]+.block-editor-block-list__block[data-empty=true]:not([data-custom-placeholder=true]) [data-rich-text-placeholder]{opacity:0}.block-editor-block-list__block[data-type="core/paragraph"].has-text-align-left[style*="writing-mode: vertical-lr"],.block-editor-block-list__block[data-type="core/paragraph"].has-text-align-right[style*="writing-mode: vertical-rl"]{rotate:180deg}.wp-block-post-excerpt .wp-block-post-excerpt__excerpt.is-inline{display:inline}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{font-style:normal;text-transform:none}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit}.wp-block-rss li a>div{display:inline}.wp-block-rss__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.wp-block-rss__placeholder-form>*{margin-bottom:0}}.wp-block-rss__placeholder-form .wp-block-rss__placeholder-input{flex:1;min-width:80%}.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{align-items:center;border-radius:initial;display:flex;height:auto;justify-content:center;text-align:center}.wp-block-search__components-button-group{margin-top:10px}.block-editor-block-list__block[data-type="core/separator"]{padding-bottom:.1px;padding-top:.1px}.block-editor-block-list__block[data-type="core/separator"].wp-block-separator.is-style-dots{background:none!important;border:none}[data-type="core/shortcode"].components-placeholder{min-height:0}.blocks-shortcode__textarea{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important;resize:none}@media (min-width:600px){.blocks-shortcode__textarea{font-size:13px!important}}.blocks-shortcode__textarea:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid transparent!important}.wp-block-site-logo.aligncenter>div,.wp-block[data-align=center]>.wp-block-site-logo{display:table;margin-left:auto;margin-right:auto}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo .custom-logo-link{cursor:inherit}.wp-block-site-logo .custom-logo-link:focus{box-shadow:none}.wp-block-site-logo .custom-logo-link.is-transient img{opacity:.3}.wp-block-site-logo img{display:block;height:auto;max-width:100%}.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder{height:60px;width:60px}.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container,.wp-block-site-logo.wp-block-site-logo>div{border-radius:inherit}.wp-block-site-logo.wp-block-site-logo .components-placeholder{align-items:center;border-radius:inherit;display:flex;height:100%;justify-content:center;min-height:48px;min-width:48px;padding:0;width:100%}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text,.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-form-file-upload{display:none}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;padding:0;position:relative;width:48px}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button>svg{color:inherit}.block-library-site-logo__inspector-upload-container{position:relative}.block-library-site-logo__inspector-upload-container .components-drop-zone__content-icon{display:none}.block-library-site-logo__inspector-media-replace-container button.components-button,.block-library-site-logo__inspector-upload-container button.components-button{box-shadow:inset 0 0 0 1px #ccc;color:#1e1e1e;display:block;height:40px;width:100%}.block-library-site-logo__inspector-media-replace-container button.components-button:hover,.block-library-site-logo__inspector-upload-container button.components-button:hover{color:var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container button.components-button:focus,.block-library-site-logo__inspector-upload-container button.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-media-replace-title,.block-library-site-logo__inspector-upload-container .block-library-site-logo__inspector-media-replace-title{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-library-site-logo__inspector-media-replace-container .components-dropdown{display:block}.block-library-site-logo__inspector-media-replace-container img{aspect-ratio:1;border-radius:50%!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);min-width:20px;width:20px}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-readonly-logo-preview{display:flex;height:40px;padding:6px 12px}.wp-block-site-tagline__placeholder,.wp-block-site-title__placeholder{border:1px dashed;padding:1em 0}.editor-styles-wrapper .wp-block-site-title a{color:inherit}.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{color:currentColor;font-size:inherit;height:auto;line-height:0;opacity:1;padding:.25em}.wp-block-social-links.is-style-pill-shape .wp-social-link button{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links.is-style-logos-only .wp-social-link button{padding:0}.wp-block-social-links div.block-editor-url-input{display:inline-block;margin-right:8px}.wp-block-social-links.wp-block-social-links{background:none}.wp-social-link:hover{transform:none}.editor-styles-wrapper .wp-block-social-links{padding:0}.wp-block-social-links__social-placeholder{display:flex;list-style:none;opacity:.8}.wp-block-social-links__social-placeholder>.wp-social-link{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;visibility:hidden;width:0!important}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder .wp-social-link{padding:.25em}.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link{padding-left:.66667em;padding-right:.66667em}.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link{padding:0}.wp-block-social-links__social-placeholder .wp-social-link:before{border-radius:50%;content:"";display:block;height:1em;width:1em}.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link:before{background:currentColor}.wp-block-social-links .wp-block-social-links__social-prompt{cursor:default;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;list-style:none;margin-bottom:auto;margin-top:auto;min-height:24px;order:2;padding-left:8px}.wp-block.wp-block-social-links.aligncenter,.wp-block[data-align=center]>.wp-block-social-links{justify-content:center}.block-editor-block-preview__content .components-button:disabled{opacity:1}.wp-social-link.wp-social-link__is-incomplete{opacity:.5}@media (prefers-reduced-motion:reduce){.wp-social-link.wp-social-link__is-incomplete{transition-delay:0s;transition-duration:0s}}.wp-block-social-links .is-selected .wp-social-link__is-incomplete,.wp-social-link.wp-social-link__is-incomplete:focus,.wp-social-link.wp-social-link__is-incomplete:hover{opacity:1}.block-editor-block-list__block[data-type="core/spacer"]:before{content:"";display:block;height:100%;min-height:8px;min-width:8px;position:absolute;width:100%;z-index:1}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container,.wp-block-spacer.is-selected.custom-sizes-disabled{background:rgba(0,0,0,.1)}.is-dark-theme .block-library-spacer__resize-container.has-show-handle,.is-dark-theme .wp-block-spacer.is-hovered .block-library-spacer__resize-container,.is-dark-theme .wp-block-spacer.is-selected.custom-sizes-disabled{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.block-library-spacer__resize-container:not(.is-resizing){height:100%!important;width:100%!important}.block-library-spacer__resize-container .components-resizable-box__handle:before{content:none}.block-library-spacer__resize-container.resize-horizontal{margin-bottom:0}.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column;gap:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}}.blocks-table__placeholder-input{width:112px}.block-editor-template-part__selection-modal{z-index:1000001}.block-editor-template-part__selection-modal .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:1280px){.block-editor-template-part__selection-modal .block-editor-block-patterns-list{column-count:3}}.block-editor-template-part__selection-modal .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.block-library-template-part__selection-search{background:#fff;padding:16px 0;position:sticky;top:0;z-index:2}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-highlighted,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-selected{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-dark-theme .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after,.is-dark-theme .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.wp-block-text-columns .block-editor-rich-text__editable:focus{outline:1px solid #ddd}.wp-block-video.wp-block-video.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e}.wp-block-video.wp-block-video.is-selected .components-placeholder>svg{opacity:0}.wp-block-video.wp-block-video.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-video.wp-block-video.is-selected .components-placeholder:before{opacity:0}.wp-block-video.wp-block-video .components-button,.wp-block-video.wp-block-video .components-placeholder__instructions,.wp-block-video.wp-block-video .components-placeholder__label{transition:none}.wp-block[data-align=center]>.wp-block-video{text-align:center}.wp-block-video{position:relative}.wp-block-video.is-transient video{opacity:.3}.wp-block-video .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}.editor-video-poster-control .components-base-control__label{display:block}.editor-video-poster-control .components-button{margin-left:8px}.block-library-video-tracks-editor{z-index:159990}.block-library-video-tracks-editor__track-list-track{padding-right:12px}.block-library-video-tracks-editor__single-track-editor-kind-select{max-width:240px}.block-library-video-tracks-editor__single-track-editor-edit-track-label{color:#757575;display:block;font-size:11px;font-weight:500;margin-top:4px;text-transform:uppercase}.block-library-video-tracks-editor>.components-popover__content{padding:0;width:360px}.block-library-video-tracks-editor__add-tracks-container .components-menu-group__label,.block-library-video-tracks-editor__track-list .components-menu-group__label{padding:0}.block-library-video-tracks-editor__add-tracks-container,.block-library-video-tracks-editor__single-track-editor,.block-library-video-tracks-editor__track-list{padding:12px}.editor-styles-wrapper ul.wp-block-post-template{list-style:none;margin-right:0;padding-right:0}.block-library-query-toolbar__popover .components-popover__content{min-width:230px}.wp-block-query__create-new-link{padding:0 52px 16px 16px}.block-library-query__pattern-selection-content .block-editor-block-patterns-list{grid-gap:8px;display:grid;grid-template-columns:1fr 1fr 1fr}.block-library-query__pattern-selection-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{margin-bottom:0}.block-library-query__pattern-selection-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__container{max-height:250px}.block-library-query-pattern__selection-modal .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:1280px){.block-library-query-pattern__selection-modal .block-editor-block-patterns-list{column-count:3}}.block-library-query-pattern__selection-modal .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.block-library-query-pattern__selection-modal .block-library-query-pattern__selection-search{background:#fff;margin-bottom:2px;padding:16px 0;position:sticky;top:0;z-index:2}.block-library-query-toolspanel__filters .components-form-token-field__help{margin-bottom:0}.block-library-query-toolspanel__filters .block-library-query-inspector__taxonomy-control:not(:last-child){margin-bottom:24px}@media (min-width:600px){.wp-block-query__enhanced-pagination-modal{max-width:480px}}.wp-block-query__enhanced-pagination-notice{margin:0}.wp-block[data-align=center]>.wp-block-query-pagination{justify-content:center}.editor-styles-wrapper .wp-block-query-pagination{max-width:100%}.editor-styles-wrapper .wp-block-query-pagination.block-editor-block-list__layout{margin:0}.wp-block-query-pagination>.wp-block-query-pagination-next,.wp-block-query-pagination>.wp-block-query-pagination-numbers,.wp-block-query-pagination>.wp-block-query-pagination-previous{margin-bottom:.5em;margin-right:.5em;margin-top:.5em}.wp-block-query-pagination>.wp-block-query-pagination-next:last-child,.wp-block-query-pagination>.wp-block-query-pagination-numbers:last-child,.wp-block-query-pagination>.wp-block-query-pagination-previous:last-child{margin-right:0}.wp-block-query-pagination-numbers a{text-decoration:underline}.wp-block-query-pagination-numbers .page-numbers{margin-left:2px}.wp-block-query-pagination-numbers .page-numbers:last-child{margin-right:0}.wp-block-post-featured-image .block-editor-media-placeholder{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1}.wp-block-post-featured-image .components-placeholder,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder{align-items:center;display:flex;justify-content:center;min-height:200px;padding:0}.wp-block-post-featured-image .components-placeholder .components-form-file-upload,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-form-file-upload{display:none}.wp-block-post-featured-image .components-placeholder .components-button,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;padding:0;position:relative;width:48px}.wp-block-post-featured-image .components-placeholder .components-button>svg,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button>svg{color:inherit}.wp-block-post-featured-image .components-placeholder:where(.has-border-color),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where(.has-border-color),.wp-block-post-featured-image img:where(.has-border-color){border-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-top-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-color]),.wp-block-post-featured-image img:where([style*=border-top-color]){border-top-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-right-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-color]),.wp-block-post-featured-image img:where([style*=border-right-color]){border-left-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image img:where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-left-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-color]),.wp-block-post-featured-image img:where([style*=border-left-color]){border-right-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-width]),.wp-block-post-featured-image img:where([style*=border-width]){border-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-top-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-width]),.wp-block-post-featured-image img:where([style*=border-top-width]){border-top-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-right-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-width]),.wp-block-post-featured-image img:where([style*=border-right-width]){border-left-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image img:where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-left-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-width]),.wp-block-post-featured-image img:where([style*=border-left-width]){border-right-style:solid}.wp-block-post-featured-image[style*=height] .components-placeholder{height:100%;min-height:48px;min-width:48px;width:100%}.wp-block-post-featured-image>a{cursor:default}.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-button,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__instructions,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__label{opacity:1;pointer-events:auto}div[data-type="core/post-featured-image"] img{display:block;height:auto;max-width:100%}.wp-block-post-comments-form *{pointer-events:none}.wp-block-post-comments-form .block-editor-warning *{pointer-events:auto}.wp-element-button{cursor:revert}.wp-element-button[role=textbox]{cursor:text}:root .editor-styles-wrapper .has-very-light-gray-background-color{background-color:#eee}:root .editor-styles-wrapper .has-very-dark-gray-background-color{background-color:#313131}:root .editor-styles-wrapper .has-very-light-gray-color{color:#eee}:root .editor-styles-wrapper .has-very-dark-gray-color{color:#313131}:root .editor-styles-wrapper .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(-135deg,#00d084,#0693e3)}:root .editor-styles-wrapper .has-purple-crush-gradient-background{background:linear-gradient(-135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .editor-styles-wrapper .has-hazy-dawn-gradient-background{background:linear-gradient(-135deg,#faaca8,#dad0ec)}:root .editor-styles-wrapper .has-subdued-olive-gradient-background{background:linear-gradient(-135deg,#fafae1,#67a671)}:root .editor-styles-wrapper .has-atomic-cream-gradient-background{background:linear-gradient(-135deg,#fdd79a,#004a59)}:root .editor-styles-wrapper .has-nightshade-gradient-background{background:linear-gradient(-135deg,#330968,#31cdcf)}:root .editor-styles-wrapper .has-midnight-gradient-background{background:linear-gradient(-135deg,#020381,#2874fc)}:where(.editor-styles-wrapper){--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}:where(.editor-styles-wrapper) .has-regular-font-size{font-size:16px}:where(.editor-styles-wrapper) .has-larger-font-size{font-size:42px}:where(.editor-styles-wrapper) .has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}:where(.editor-styles-wrapper) .has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:where(.editor-styles-wrapper) iframe:not([frameborder]){border:0} \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/editor.css b/wp-includes/css/dist/block-library/editor.css index b8db807b64..5a3efcb1cd 100644 --- a/wp-includes/css/dist/block-library/editor.css +++ b/wp-includes/css/dist/block-library/editor.css @@ -70,37 +70,6 @@ ul.wp-block-archives{ opacity:.8; } -.wp-block-button__inline-link{ - color:#757575; - height:0; - max-width:290px; - overflow:hidden; -} -.wp-block-button__inline-link-input__suggestions{ - max-width:290px; -} -@media (min-width:782px){ - .wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{ - max-width:260px; - } -} -@media (min-width:960px){ - .wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{ - max-width:290px; - } -} -.is-selected .wp-block-button__inline-link{ - height:auto; - overflow:visible; -} - -.wp-button-label__width .components-button-group{ - display:block; -} -.wp-button-label__width .components-base-control__field{ - margin-bottom:12px; -} - div[data-type="core/button"]{ display:table; } @@ -511,6 +480,56 @@ html :where(.wp-block-column){ margin-left:.75em; } +.wp-block-form-input .is-input-hidden{ + background:repeating-linear-gradient(45deg, transparent, transparent 5px, currentColor 0, currentColor 6px); + border:1px dashed; + box-sizing:border-box; + font-size:.85em; + opacity:.3; + padding:.5em; +} +.wp-block-form-input .is-input-hidden input[type=text]{ + background:transparent; +} +.wp-block-form-input.is-selected .is-input-hidden{ + background:none; + opacity:1; +} +.wp-block-form-input.is-selected .is-input-hidden input[type=text]{ + background:unset; +} + +.wp-block-form-submission-notification>*{ + background:repeating-linear-gradient(45deg, transparent, transparent 5px, currentColor 0, currentColor 6px); + border:1px dashed; + box-sizing:border-box; + opacity:.25; +} +.wp-block-form-submission-notification.is-selected>*,.wp-block-form-submission-notification:has(.is-selected)>*{ + background:none; + opacity:1; +} +.wp-block-form-submission-notification.is-selected:after,.wp-block-form-submission-notification:has(.is-selected):after{ + display:none !important; +} +.wp-block-form-submission-notification:after{ + align-items:center; + display:flex; + font-size:1.1em; + height:100%; + justify-content:center; + left:0; + position:absolute; + top:0; + width:100%; +} +.wp-block-form-submission-notification.form-notification-type-success:after{ + content:attr(data-message-success); +} +.wp-block-form-submission-notification.form-notification-type-error:after{ + content:attr(data-message-error); +} + .wp-block-freeform.block-library-rich-text__tinymce{ height:auto; } @@ -1129,9 +1148,12 @@ figure.wp-block-gallery .components-spinner{ .wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{ display:none; } -.wp-block-image.wp-block-image.is-selected .components-placeholder:before{ +.wp-block-image.wp-block-image .block-bindings-media-placeholder-message,.wp-block-image.wp-block-image.is-selected .components-placeholder:before{ opacity:0; } +.wp-block-image.wp-block-image.is-selected .block-bindings-media-placeholder-message{ + opacity:1; +} .wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{ transition:none; } @@ -1619,10 +1641,8 @@ figure.wp-block-image:not(.wp-block){ min-height:1px; min-width:1px; } -@media (min-width:600px){ - .wp-block-navigation__responsive-container:not(.is-menu-open) .components-button.wp-block-navigation__responsive-container-close{ - display:none; - } +.is-collapsed .wp-block-navigation__responsive-container:not(.is-menu-open) .components-button.wp-block-navigation__responsive-container-close{ + display:none; } .wp-block-navigation__responsive-container.is-menu-open{ @@ -1998,10 +2018,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op width:auto; } -.wp-block-page-list .components-notice{ - margin-left:0; -} - .wp-block-page-list__loading-indicator-container{ padding:8px 12px; } @@ -2065,6 +2081,7 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op display:flex; height:auto; justify-content:center; + text-align:center; } .wp-block-search__components-button-group{ margin-top:10px; @@ -2363,9 +2380,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op margin-bottom:0; } -.wp-block-table{ - margin:0; -} .wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{ height:auto; } @@ -2398,28 +2412,18 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op align-items:flex-start; display:flex; flex-direction:column; -} -.blocks-table__placeholder-form.blocks-table__placeholder-form>*{ - margin-bottom:8px; + gap:8px; } @media (min-width:782px){ .blocks-table__placeholder-form.blocks-table__placeholder-form{ align-items:flex-end; flex-direction:row; } - .blocks-table__placeholder-form.blocks-table__placeholder-form>*{ - margin-bottom:0; - } } .blocks-table__placeholder-input{ - margin-bottom:0; - margin-right:8px; width:112px; } -.blocks-table__placeholder-input input{ - height:36px; -} .block-editor-template-part__selection-modal{ z-index:1000001; @@ -2698,6 +2702,13 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op min-width:48px; width:100%; } +.wp-block-post-featured-image>a{ + cursor:default; +} +.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-button,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__instructions,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__label{ + opacity:1; + pointer-events:auto; +} div[data-type="core/post-featured-image"] img{ display:block; @@ -2751,26 +2762,26 @@ div[data-type="core/post-featured-image"] img{ background:linear-gradient(135deg, #020381, #2874fc); } -.editor-styles-wrapper{ +:where(.editor-styles-wrapper){ --wp--preset--font-size--normal:16px; --wp--preset--font-size--huge:42px; } -.editor-styles-wrapper .has-regular-font-size{ +:where(.editor-styles-wrapper) .has-regular-font-size{ font-size:16px; } -.editor-styles-wrapper .has-larger-font-size{ +:where(.editor-styles-wrapper) .has-larger-font-size{ font-size:42px; } -.editor-styles-wrapper .has-normal-font-size{ +:where(.editor-styles-wrapper) .has-normal-font-size{ font-size:var(--wp--preset--font-size--normal); } -.editor-styles-wrapper .has-huge-font-size{ +:where(.editor-styles-wrapper) .has-huge-font-size{ font-size:var(--wp--preset--font-size--huge); } -.editor-styles-wrapper iframe:not([frameborder]){ +:where(.editor-styles-wrapper) iframe:not([frameborder]){ border:0; } \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/editor.min.css b/wp-includes/css/dist/block-library/editor.min.css index de41f238de..1f633eb2f9 100644 --- a/wp-includes/css/dist/block-library/editor.min.css +++ b/wp-includes/css/dist/block-library/editor.min.css @@ -1,2 +1,2 @@ ul.wp-block-archives{padding-left:2.5em}.wp-block-audio{margin-left:0;margin-right:0;position:relative}.wp-block-audio.is-transient audio{opacity:.3}.wp-block-audio .components-spinner{left:50%;margin-left:-9px;margin-top:-9px;position:absolute;top:50%}.wp-block-avatar__image img{width:100%}.wp-block-avatar.aligncenter .components-resizable-box__container{margin:0 auto}.edit-post-visual-editor .block-library-block__reusable-block-container .is-root-container{padding-left:0;padding-right:0}.edit-post-visual-editor .block-library-block__reusable-block-container .block-editor-writing-flow{display:block}.edit-post-visual-editor .block-library-block__reusable-block-container .components-disabled .block-list-appender{display:none}.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-dark-theme .edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.wp-block[data-align=center]>.wp-block-button{margin-left:auto;margin-right:auto;text-align:center}.wp-block[data-align=right]>.wp-block-button{ - /*!rtl:ignore*/text-align:right}.wp-block-button{cursor:text;position:relative}.wp-block-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.wp-block-button[data-rich-text-placeholder]:after{opacity:.8}.wp-block-button__inline-link{color:#757575;height:0;max-width:290px;overflow:hidden}.wp-block-button__inline-link-input__suggestions{max-width:290px}@media (min-width:782px){.wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{max-width:260px}}@media (min-width:960px){.wp-block-button__inline-link,.wp-block-button__inline-link-input__suggestions{max-width:290px}}.is-selected .wp-block-button__inline-link{height:auto;overflow:visible}.wp-button-label__width .components-button-group{display:block}.wp-button-label__width .components-base-control__field{margin-bottom:12px}div[data-type="core/button"]{display:table}.editor-styles-wrapper .wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-left-width:medium}.wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{margin:0}.wp-block-buttons>.block-list-appender{align-items:center;display:inline-flex}.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{justify-content:flex-start}.wp-block-buttons>.wp-block-button:focus{box-shadow:none}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{margin-left:auto;margin-right:auto;margin-top:0;width:100%}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{margin-bottom:0}.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block[data-align=center]>.wp-block-buttons{align-items:center;justify-content:center}.wp-block[data-align=right]>.wp-block-buttons{justify-content:flex-end}.wp-block-categories ul{padding-left:2.5em}.wp-block-categories ul ul{margin-top:6px}[data-align=center] .wp-block-categories{text-align:center}.wp-block-code code{background:none}.wp-block-columns :where(.wp-block){margin-left:0;margin-right:0;max-width:none}html :where(.wp-block-column){margin-bottom:0;margin-top:0}.wp-block-comments__legacy-placeholder,.wp-block-post-comments{box-sizing:border-box}.wp-block-comments__legacy-placeholder .alignleft,.wp-block-post-comments .alignleft{float:left}.wp-block-comments__legacy-placeholder .alignright,.wp-block-post-comments .alignright{float:right}.wp-block-comments__legacy-placeholder .navigation:after,.wp-block-post-comments .navigation:after{clear:both;content:"";display:table}.wp-block-comments__legacy-placeholder .commentlist,.wp-block-post-comments .commentlist{clear:both;list-style:none;margin:0;padding:0}.wp-block-comments__legacy-placeholder .commentlist .comment,.wp-block-post-comments .commentlist .comment{min-height:2.25em;padding-left:3.25em}.wp-block-comments__legacy-placeholder .commentlist .comment p,.wp-block-post-comments .commentlist .comment p{font-size:1em;line-height:1.8;margin:1em 0}.wp-block-comments__legacy-placeholder .commentlist .children,.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-comments__legacy-placeholder .comment-author,.wp-block-post-comments .comment-author{line-height:1.5}.wp-block-comments__legacy-placeholder .comment-author .avatar,.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;margin-top:.5em;width:2.5em}.wp-block-comments__legacy-placeholder .comment-author cite,.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-comments__legacy-placeholder .comment-meta,.wp-block-post-comments .comment-meta{font-size:.875em;line-height:1.5}.wp-block-comments__legacy-placeholder .comment-meta b,.wp-block-post-comments .comment-meta b{font-weight:400}.wp-block-comments__legacy-placeholder .comment-meta .comment-awaiting-moderation,.wp-block-post-comments .comment-meta .comment-awaiting-moderation{display:block;margin-bottom:1em;margin-top:1em}.wp-block-comments__legacy-placeholder .comment-body .commentmetadata,.wp-block-post-comments .comment-body .commentmetadata{font-size:.875em}.wp-block-comments__legacy-placeholder .comment-form-author label,.wp-block-comments__legacy-placeholder .comment-form-comment label,.wp-block-comments__legacy-placeholder .comment-form-email label,.wp-block-comments__legacy-placeholder .comment-form-url label,.wp-block-post-comments .comment-form-author label,.wp-block-post-comments .comment-form-comment label,.wp-block-post-comments .comment-form-email label,.wp-block-post-comments .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-comments__legacy-placeholder .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-comments__legacy-placeholder .comment-form textarea,.wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-comments__legacy-placeholder .comment-form-cookies-consent,.wp-block-post-comments .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-comments__legacy-placeholder .comment-form-cookies-consent #wp-comment-cookies-consent,.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-comments__legacy-placeholder .comment-reply-title,.wp-block-post-comments .comment-reply-title{margin-bottom:0}.wp-block-comments__legacy-placeholder .comment-reply-title :where(small),.wp-block-post-comments .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-left:.5em}.wp-block-comments__legacy-placeholder .reply,.wp-block-post-comments .reply{font-size:.875em;margin-bottom:1.4em}.wp-block-comments__legacy-placeholder input:not([type=submit]),.wp-block-comments__legacy-placeholder textarea,.wp-block-post-comments input:not([type=submit]),.wp-block-post-comments textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-comments__legacy-placeholder input:not([type=submit]):not([type=checkbox]),.wp-block-comments__legacy-placeholder textarea,.wp-block-post-comments input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments textarea{padding:calc(.667em + 2px)}:where(.wp-block-post-comments input[type=submit]){border:none}.block-library-comments-toolbar__popover .components-popover__content{min-width:230px}.wp-block-comments__legacy-placeholder *{pointer-events:none}.wp-block-comment-author-avatar__placeholder{stroke:currentColor;stroke-dasharray:3;border:1px dashed;height:100%;width:100%}.wp-block[data-align=center]>.wp-block-comments-pagination{justify-content:center}.editor-styles-wrapper .wp-block-comments-pagination{max-width:100%}.editor-styles-wrapper .wp-block-comments-pagination.block-editor-block-list__layout{margin:0}.wp-block-comments-pagination>.wp-block-comments-pagination-next,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers,.wp-block-comments-pagination>.wp-block-comments-pagination-previous{margin:.5em .5em .5em 0}.wp-block-comments-pagination>.wp-block-comments-pagination-next:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-previous:last-child{margin-right:0}.wp-block-comments-pagination-numbers a{text-decoration:underline}.wp-block-comments-pagination-numbers .page-numbers{margin-right:2px}.wp-block-comments-pagination-numbers .page-numbers:last-child{margin-right:0}.wp-block-comments-title.has-background{padding:inherit}.editor-styles-wrapper .wp-block-cover{box-sizing:border-box}.wp-block-cover.is-placeholder{align-items:stretch;display:flex;min-height:240px;padding:0!important}.wp-block-cover.is-placeholder .components-placeholder.is-large{justify-content:flex-start;z-index:1}.wp-block-cover.is-placeholder:focus:after{min-height:auto}.wp-block-cover.components-placeholder h2{color:inherit}.wp-block-cover.is-transient:before{background-color:#fff;opacity:.3}.wp-block-cover .components-spinner{left:50%;margin:0;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.wp-block-cover .wp-block-cover__inner-container{margin-left:0;margin-right:0;text-align:left}.wp-block-cover .wp-block-cover__placeholder-background-options{width:100%}.wp-block-cover .wp-block-cover__image--placeholder-image{bottom:0;left:0;position:absolute;right:0;top:0}[data-align=left]>.wp-block-cover,[data-align=right]>.wp-block-cover{max-width:420px;width:100%}.block-library-cover__reset-button{margin-left:auto}.block-library-cover__resize-container{bottom:0;left:0;min-height:50px;position:absolute!important;right:0;top:0}.components-popover.block-editor-block-popover.block-library-cover__resizable-box-popover .block-library-cover__resize-container,.components-popover.block-editor-block-popover.block-library-cover__resizable-box-popover .components-popover__content>div{overflow:visible;pointer-events:none}.wp-block-cover>.components-drop-zone .components-drop-zone__content{opacity:.8!important}.block-editor-block-patterns-list__list-item .has-parallax.wp-block-cover{background-attachment:scroll}.color-block-support-panel__inner-wrapper>:not(.block-editor-tools-panel-color-gradient-settings__item){margin-top:24px}.wp-block-cover:after{min-height:auto}.wp-block-details summary div{display:inline}.wp-block-embed{clear:both;margin-left:0;margin-right:0}.wp-block-embed.is-loading{display:flex;justify-content:center}.wp-block-embed .components-placeholder__error{word-break:break-word}.wp-block-embed .components-placeholder__learn-more{margin-top:1em}.block-library-embed__interactive-overlay{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.wp-block[data-align=left]>.wp-block-embed,.wp-block[data-align=right]>.wp-block-embed{max-width:360px;width:100%}.wp-block[data-align=left]>.wp-block-embed .wp-block-embed__wrapper,.wp-block[data-align=right]>.wp-block-embed .wp-block-embed__wrapper{min-width:280px}.wp-block-file{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:0}.wp-block[data-align=left]>.wp-block-file,.wp-block[data-align=right]>.wp-block-file{height:auto}.wp-block-file .components-resizable-box__container{margin-bottom:1em}.wp-block-file .wp-block-file__preview{height:100%;margin-bottom:1em;width:100%}.wp-block-file .wp-block-file__preview-overlay{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-file .wp-block-file__content-wrapper{flex-grow:1}.wp-block-file a{min-width:1em}.wp-block-file a:not(.wp-block-file__button){display:inline-block}.wp-block-file .wp-block-file__button-richtext-wrapper{display:inline-block;margin-left:.75em}.wp-block-freeform.block-library-rich-text__tinymce{height:auto}.wp-block-freeform.block-library-rich-text__tinymce li,.wp-block-freeform.block-library-rich-text__tinymce p{line-height:1.8}.wp-block-freeform.block-library-rich-text__tinymce ol,.wp-block-freeform.block-library-rich-text__tinymce ul{margin-left:0;padding-left:2.5em}.wp-block-freeform.block-library-rich-text__tinymce blockquote{border-left:4px solid #000;box-shadow:inset 0 0 0 0 #ddd;margin:0;padding-left:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;white-space:pre-wrap}.wp-block-freeform.block-library-rich-text__tinymce>:first-child{margin-top:0}.wp-block-freeform.block-library-rich-text__tinymce>:last-child{margin-bottom:0}.wp-block-freeform.block-library-rich-text__tinymce.mce-edit-focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce a{color:var(--wp-admin-theme-color)}.wp-block-freeform.block-library-rich-text__tinymce:focus a[data-mce-selected]{background:#e5f5fa;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;margin:0 -2px;padding:0 2px}.wp-block-freeform.block-library-rich-text__tinymce code{background:#f0f0f0;border-radius:2px;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:14px;padding:2px}.wp-block-freeform.block-library-rich-text__tinymce:focus code[data-mce-selected]{background:#ddd}.wp-block-freeform.block-library-rich-text__tinymce .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-freeform.block-library-rich-text__tinymce .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-freeform.block-library-rich-text__tinymce .aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-block-freeform.block-library-rich-text__tinymce .wp-more-tag{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADtgAAAAoBAMAAAA86gLBAAAAJFBMVEVMaXG7u7vBwcHDw8POzs68vLzGxsbMzMy+vr7AwMDQ0NDGxsYKLGzpAAAADHRSTlMA///zWf+/f///TMxNVGuqAAABwklEQVR4Ae3dMXLaQBTH4bfj8UCpx8hq0vgKvgFNemhT6Qo6gg6R+0ZahM2QLmyBJ99XWP9V5+o3jIUcLQEAAAAAAAAAAAAAAAAAAAAAAABQ8j0WL9lfTtlt18uNXAUA8O/KVtfa1tdcrOdSh9gCQAMlh1hMNbZZ1bsrsQWABsrhLRbz7z5in/32UbfUMUbkMQCAh5RfGYv82UdMdZ6HS2wjT2ILAI8r3XmM2B3WvM59vfO2xXYW2yYAENuPU8S+X/N67mKxzy225yaxBQCxLV392UdcvwV0jPVUj98ntkBWT7C7+9u2/V/vGtvXIWJ6/4rtbottWa6Ri0NUT/u72LYttrb97LHdvUXMxxrb8TO2W2TF1rYbbLG1bbGNjMi4+2Sbi1FsbbvNFlvbFtt5fDnE3d9sP1/XeIyV2Nr2U2/guZUuptNrH/dPI9eLB6SaAEBs6wPJf3/PNk9tYgsAYrv/8TFuzx/fvkFqGtrEFgDEdpcZUb7ejXy6ntrEFgDENvL6gsas4vbdyKt4DACI7TxElJv/Z7udpqFNbAFAbKduy2uU2trttM/x28UWAAAAAAAAAAAAAAAAAAAAAAAAAADgDyPwGmGTCZp7AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;background-size:1900px 20px;cursor:default;display:block;height:20px;margin:15px auto;outline:0;width:96%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:transparent}.wp-block-freeform.block-library-rich-text__tinymce div.mceTemp{-ms-user-select:element}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption{margin:0;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption a,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption img{display:block}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption *{-webkit-user-drag:none}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption .wp-caption-dd{margin:0;padding-top:.5em}.wp-block-freeform.block-library-rich-text__tinymce .wpview{border:1px solid transparent;clear:both;margin-bottom:16px;position:relative;width:99.99%}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{background:transparent;display:block;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected="2"] .mce-shim{display:none}.wp-block-freeform.block-library-rich-text__tinymce .wpview .loading-placeholder{border:1px dashed #ddd;padding:10px}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error{word-wrap:break-word;border:1px solid #ddd;margin:0;padding:1em 0}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error p{margin:0;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .loading-placeholder,.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .wpview-error{border-color:transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview .dashicons{display:block;font-size:32px;height:32px;margin:0 auto;width:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{clear:both;content:"";display:table}.wp-block-freeform.block-library-rich-text__tinymce .gallery img[data-mce-selected]:focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce .gallery a{cursor:default}.wp-block-freeform.block-library-rich-text__tinymce .gallery{line-height:1;margin:auto -6px;overflow-x:hidden;padding:6px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{box-sizing:border-box;float:left;margin:0;padding:6px;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption,.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-icon{margin:0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption{font-size:13px;margin:4px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-1 .gallery-item{width:100%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-2 .gallery-item{width:50%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-3 .gallery-item{width:33.3333333333%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-4 .gallery-item{width:25%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-5 .gallery-item{width:20%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-6 .gallery-item{width:16.6666666667%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-7 .gallery-item{width:14.2857142857%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-8 .gallery-item{width:12.5%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-9 .gallery-item{width:11.1111111111%}.wp-block-freeform.block-library-rich-text__tinymce .gallery img{border:none;height:auto;max-width:100%;padding:0}div[data-type="core/freeform"]:before{border:1px solid #ddd;outline:1px solid transparent;transition:border-color .1s linear,box-shadow .1s linear}@media (prefers-reduced-motion:reduce){div[data-type="core/freeform"]:before{transition-delay:0s;transition-duration:0s}}div[data-type="core/freeform"].is-selected:before{border-color:#1e1e1e}div[data-type="core/freeform"] .block-editor-block-contextual-toolbar+div{margin-top:0;padding-top:0}div[data-type="core/freeform"].is-selected .block-library-rich-text__tinymce:after{clear:both;content:"";display:table}.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active i,.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i{color:#1e1e1e}.mce-toolbar-grp .mce-rtl .mce-flow-layout-item.mce-last{margin-left:8px;margin-right:0}.mce-toolbar-grp .mce-btn i{font-style:normal}.block-library-classic__toolbar{border:1px solid #ddd;border-bottom:none;border-radius:2px;display:none;margin:0 0 8px;padding:0;position:sticky;top:0;width:auto;z-index:31}div[data-type="core/freeform"].is-selected .block-library-classic__toolbar{border-color:#1e1e1e;display:block}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media (min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{background:#f5f5f5;border-bottom:1px solid #e2e4e7;display:block}.block-library-classic__toolbar:empty:before{color:#555d66;content:attr(data-placeholder);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:37px;padding:14px}.block-library-classic__toolbar div.mce-toolbar-grp{border-bottom:1px solid #1e1e1e}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar .mce-menubar>div,.block-library-classic__toolbar .mce-tinymce-inline,.block-library-classic__toolbar .mce-tinymce-inline>div,.block-library-classic__toolbar div.mce-toolbar-grp,.block-library-classic__toolbar div.mce-toolbar-grp>div{height:auto!important;width:100%!important}.block-library-classic__toolbar .mce-container-body.mce-abs-layout{overflow:visible}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar div.mce-toolbar-grp{position:static}.block-library-classic__toolbar .mce-toolbar-grp>div{padding:1px 3px}.block-library-classic__toolbar .mce-toolbar-grp .mce-toolbar:not(:first-child){display:none}.block-library-classic__toolbar.has-advanced-toolbar .mce-toolbar-grp .mce-toolbar{display:block}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{height:50vh!important}@media (min-width:960px){.block-editor-freeform-modal .block-editor-freeform-modal__content:not(.is-full-screen){height:9999rem}.block-editor-freeform-modal .block-editor-freeform-modal__content .components-modal__header+div{height:100%}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-tinymce{height:calc(100% - 52px)}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-container-body{display:flex;flex-direction:column;height:100%;min-width:50vw}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area{display:flex;flex-direction:column;flex-grow:1}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{flex-grow:1;height:10px!important}}.block-editor-freeform-modal__actions{margin-top:16px}figure.wp-block-gallery{display:block}figure.wp-block-gallery>.blocks-gallery-caption{flex:0 0 100%}figure.wp-block-gallery>.blocks-gallery-media-placeholder-wrapper{flex-basis:100%}figure.wp-block-gallery .wp-block-image .components-notice.is-error{display:block}figure.wp-block-gallery .wp-block-image .components-notice__content{margin:4px 0}figure.wp-block-gallery .wp-block-image .components-notice__dismiss{position:absolute;right:5px;top:0}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label{display:none}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button{margin-bottom:0}figure.wp-block-gallery .block-editor-media-placeholder{margin:0}figure.wp-block-gallery .block-editor-media-placeholder .components-placeholder__label{display:flex}figure.wp-block-gallery .block-editor-media-placeholder figcaption{z-index:2}figure.wp-block-gallery .components-spinner{left:50%;margin-left:-9px;margin-top:-9px;position:absolute;top:50%}.gallery-settings-buttons .components-button:first-child{margin-right:8px}.gallery-image-sizes .components-base-control__label{display:block;margin-bottom:4px}.gallery-image-sizes .gallery-image-sizes__loading{align-items:center;color:#757575;display:flex;font-size:12px}.gallery-image-sizes .components-spinner{margin:0 8px 0 4px}.blocks-gallery-item figure:not(.is-selected):focus,.blocks-gallery-item img:focus{outline:none}.blocks-gallery-item figure.is-selected:before{bottom:0;box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";left:0;outline:2px solid transparent;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.blocks-gallery-item figure.is-transient img{opacity:.3}.blocks-gallery-item .is-selected .block-library-gallery-item__inline-menu{display:inline-flex}.blocks-gallery-item .block-editor-media-placeholder{height:100%;margin:0}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{background:#fff;border:1px solid #1e1e1e;border-radius:2px;display:none;margin:8px;position:absolute;top:-2px;transition:box-shadow .2s ease-out;z-index:20}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-delay:0s;transition-duration:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1)}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu,.columns-8 .block-library-gallery-item__inline-menu{padding:2px}}.block-library-gallery-item__inline-menu .components-button.has-icon:not(:focus){border:none;box-shadow:none}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu .components-button.has-icon,.columns-8 .block-library-gallery-item__inline-menu .components-button.has-icon{height:inherit;padding:0;width:inherit}}.block-library-gallery-item__inline-menu.is-left{left:-2px}.block-library-gallery-item__inline-menu.is-right{right:-2px}.wp-block-gallery ul.blocks-gallery-grid{margin:0;padding:0}@media (min-width:600px){.wp-block-update-gallery-modal{max-width:480px}}.wp-block-update-gallery-modal-buttons{display:flex;gap:12px;justify-content:flex-end}.wp-block-group .block-editor-block-list__insertion-point{left:0;right:0}[data-type="core/group"].is-selected .block-list-appender{margin-left:0;margin-right:0}[data-type="core/group"].is-selected .has-background .block-list-appender{margin-bottom:18px;margin-top:18px}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child{gap:inherit;pointer-events:none}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-default-block-appender__content,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{display:inherit;flex:1;flex-direction:inherit;width:100%}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after{border:1px dashed;border-radius:2px;content:"";display:flex;flex:1 0 48px;min-height:46px;pointer-events:none}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{pointer-events:all}.wp-block-group__placeholder .wp-block-group-placeholder__variations{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;list-style:none;margin:0;padding:0;width:100%}.wp-block-group__placeholder .components-placeholder__instructions{margin-bottom:18px;text-align:center}.wp-block-group__placeholder .wp-block-group-placeholder__variations svg{fill:#ccc!important}.wp-block-group__placeholder .wp-block-group-placeholder__variations svg:hover{fill:var(--wp-admin-theme-color)!important}.wp-block-group__placeholder .wp-block-group-placeholder__variations>li{align-items:center;display:flex;flex-direction:column;margin:0 12px 12px;width:auto}.wp-block-group__placeholder .wp-block-group-placeholder__variations li>.wp-block-group-placeholder__variation-button{height:32px;padding:0;width:44px}.wp-block-group__placeholder .wp-block-group-placeholder__variations li>.wp-block-group-placeholder__variation-button:hover{box-shadow:none}.wp-block-group__placeholder .components-placeholder{min-height:auto;padding:24px}.wp-block-group__placeholder .is-medium .wp-block-group-placeholder__variations>li,.wp-block-group__placeholder .is-small .wp-block-group-placeholder__variations>li{margin:12px}.block-library-html__edit .block-library-html__preview-overlay{height:100%;left:0;position:absolute;top:0;width:100%}.block-library-html__edit .block-editor-plain-text{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important}@media (min-width:600px){.block-library-html__edit .block-editor-plain-text{font-size:13px!important}}.block-library-html__edit .block-editor-plain-text:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid transparent!important}.wp-block-image.wp-block-image.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;filter:none!important}.wp-block-image.wp-block-image.is-selected .components-placeholder>svg{opacity:0}.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-image.wp-block-image.is-selected .components-placeholder:before{opacity:0}.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{transition:none}figure.wp-block-image:not(.wp-block){margin:0}.wp-block-image{position:relative}.wp-block-image .is-applying img,.wp-block-image.is-transient img{opacity:.3}.wp-block-image figcaption img{display:inline}.wp-block-image .components-spinner{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.wp-block-image .components-resizable-box__container{display:table}.wp-block-image .components-resizable-box__container img{display:block;height:inherit;width:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{left:0;margin:-1px 0;position:absolute;right:0}@media (min-width:600px){.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{margin:-1px}}[data-align=full]>.wp-block-image img,[data-align=wide]>.wp-block-image img{height:auto;width:100%}.wp-block[data-align=center]>.wp-block-image,.wp-block[data-align=left]>.wp-block-image,.wp-block[data-align=right]>.wp-block-image{display:table}.wp-block[data-align=center]>.wp-block-image>figcaption,.wp-block[data-align=left]>.wp-block-image>figcaption,.wp-block[data-align=right]>.wp-block-image>figcaption{caption-side:bottom;display:table-caption}.wp-block[data-align=left]>.wp-block-image{margin:.5em 1em .5em 0}.wp-block[data-align=right]>.wp-block-image{margin:.5em 0 .5em 1em}.wp-block[data-align=center]>.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}.wp-block-image__crop-area{max-width:100%;overflow:hidden;position:relative;width:100%}.wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image{border:none;border-radius:0}.wp-block-image__crop-icon{align-items:center;display:flex;justify-content:center;min-width:48px;padding:0 8px}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{min-width:260px;overflow:visible!important}.wp-block-image__aspect-ratio{align-items:center;display:flex;height:46px;margin-bottom:-8px}.wp-block-image__aspect-ratio .components-button{padding-left:0;padding-right:0;width:36px}.wp-block-latest-posts{padding-left:2.5em}.wp-block-latest-posts.is-grid{padding-left:0}.wp-block-latest-posts>li{overflow:hidden}.wp-block-latest-posts li a>div{display:inline}.edit-post-visual-editor .wp-block-latest-posts.is-grid li{margin-bottom:20px}.editor-latest-posts-image-alignment-control .components-base-control__label{display:block}.editor-latest-posts-image-alignment-control .components-toolbar{border-radius:2px}.wp-block-media-text__media{position:relative}.wp-block-media-text__media.is-transient img{opacity:.3}.wp-block-media-text__media .components-spinner{left:50%;margin-left:-9px;margin-top:-9px;position:absolute;top:50%}.wp-block-media-text .__resizable_base__{grid-column:1/span 2;grid-row:2}.wp-block-media-text .editor-media-container__resizer{width:100%!important}.wp-block-media-text.is-image-fill .editor-media-container__resizer{height:100%!important}.wp-block-media-text>.block-editor-block-list__layout>.block-editor-block-list__block{max-width:unset}.block-editor-block-list__block[data-type="core/more"]{margin-bottom:28px;margin-top:28px;max-width:100%;text-align:center}.wp-block-more{display:block;text-align:center;white-space:nowrap}.wp-block-more input[type=text]{background:#fff;border:none;border-radius:4px;box-shadow:none;color:#757575;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:600;height:24px;margin:0;max-width:100%;padding:6px 8px;position:relative;text-align:center;text-transform:uppercase;white-space:nowrap}.wp-block-more input[type=text]:focus{box-shadow:none}.wp-block-more:before{border-top:3px dashed #ccc;content:"";left:0;position:absolute;right:0;top:50%}.editor-styles-wrapper .wp-block-navigation ul{margin-bottom:0;margin-left:0;margin-top:0;padding-left:0}.editor-styles-wrapper .wp-block-navigation .wp-block-navigation-item.wp-block{margin:revert}.wp-block-navigation-item__label{display:inline}.wp-block-navigation-item,.wp-block-navigation__container{background-color:inherit}.wp-block-navigation:not(.is-selected):not(.has-child-selected) .has-child:hover>.wp-block-navigation__submenu-container{opacity:0;visibility:hidden}.has-child.has-child-selected>.wp-block-navigation__submenu-container,.has-child.is-selected>.wp-block-navigation__submenu-container{display:flex;opacity:1;visibility:visible}.is-dragging-components-draggable .has-child.is-dragging-within>.wp-block-navigation__submenu-container{opacity:1;visibility:visible}.is-editing>.wp-block-navigation__container{display:flex;flex-direction:column;opacity:1;visibility:visible}.is-dragging-components-draggable .wp-block-navigation-link>.wp-block-navigation__container{opacity:1;visibility:hidden}.is-dragging-components-draggable .wp-block-navigation-link>.wp-block-navigation__container .block-editor-block-draggable-chip-wrapper{visibility:visible}.is-editing>.wp-block-navigation__submenu-container>.block-list-appender{display:block;position:static;width:100%}.is-editing>.wp-block-navigation__submenu-container>.block-list-appender .block-editor-button-block-appender{background:#1e1e1e;border-radius:2px;color:#fff;margin-left:auto;margin-right:0;padding:0;width:24px}.wp-block-navigation__submenu-container .block-list-appender{display:none}.block-library-colors-selector{width:auto}.block-library-colors-selector .block-library-colors-selector__toggle{display:block;margin:0 auto;padding:3px;width:auto}.block-library-colors-selector .block-library-colors-selector__icon-container{align-items:center;border-radius:4px;display:flex;height:30px;margin:0 auto;padding:3px;position:relative}.block-library-colors-selector .block-library-colors-selector__state-selection{border-radius:11px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);height:22px;line-height:20px;margin-left:auto;margin-right:auto;min-height:22px;min-width:22px;padding:2px;width:22px}.block-library-colors-selector .block-library-colors-selector__state-selection>svg{min-width:auto!important}.block-library-colors-selector .block-library-colors-selector__state-selection.has-text-color>svg,.block-library-colors-selector .block-library-colors-selector__state-selection.has-text-color>svg path{color:inherit}.block-library-colors-selector__popover .color-palette-controller-container{padding:16px}.block-library-colors-selector__popover .components-base-control__label{height:20px;line-height:20px}.block-library-colors-selector__popover .component-color-indicator{float:right;margin-top:2px}.block-library-colors-selector__popover .components-panel__body-title{display:none}.wp-block-navigation .wp-block+.block-list-appender .block-editor-button-block-appender{background-color:#1e1e1e;color:#fff}.wp-block-navigation .wp-block+.block-list-appender .block-editor-button-block-appender.block-editor-button-block-appender.block-editor-button-block-appender{padding:0}.wp-block-navigation .wp-block .wp-block .block-editor-button-block-appender{background-color:transparent;color:#1e1e1e}@keyframes loadingpulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.components-placeholder.wp-block-navigation-placeholder{background:none;box-shadow:none;color:inherit;min-height:0;outline:none;padding:0}.components-placeholder.wp-block-navigation-placeholder .components-placeholder__fieldset{font-size:inherit}.components-placeholder.wp-block-navigation-placeholder .components-placeholder__fieldset .components-button{margin-bottom:0}.wp-block-navigation.is-selected .components-placeholder.wp-block-navigation-placeholder{color:#1e1e1e}.wp-block-navigation-placeholder__preview{align-items:center;background:transparent;color:currentColor;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;min-width:96px}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__preview{display:none}.wp-block-navigation-placeholder__preview:before{border:1px dashed;border-radius:2px;border-radius:inherit;bottom:0;content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0}.wp-block-navigation-placeholder__preview:before:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.wp-block-navigation-placeholder__preview>svg{fill:currentColor}.wp-block-navigation.is-vertical .is-medium .components-placeholder__fieldset,.wp-block-navigation.is-vertical .is-small .components-placeholder__fieldset{min-height:90px}.wp-block-navigation.is-vertical .is-large .components-placeholder__fieldset{min-height:132px}.wp-block-navigation-placeholder__controls,.wp-block-navigation-placeholder__preview{align-items:flex-start;flex-direction:row;padding:6px 8px}.wp-block-navigation-placeholder__controls{background-color:#fff;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;display:none;float:left;position:relative;width:100%;z-index:1}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls{display:flex}.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator,.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator+hr,.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator,.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator+hr{display:none}.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions,.wp-block-navigation.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions{align-items:flex-start;flex-direction:column}.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr,.wp-block-navigation.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr{display:none}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon{height:36px;margin-right:12px}.wp-block-navigation-placeholder__actions__indicator{align-items:center;display:flex;height:36px;justify-content:flex-start;line-height:0;margin-left:4px;padding:0 6px 0 0}.wp-block-navigation-placeholder__actions__indicator svg{fill:currentColor;margin-right:4px}.wp-block-navigation .components-placeholder.is-medium .components-placeholder__fieldset{flex-direction:row!important}.wp-block-navigation-placeholder__actions{align-items:center;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;gap:6px;height:100%}.wp-block-navigation-placeholder__actions .components-dropdown,.wp-block-navigation-placeholder__actions>.components-button{margin-right:0}.wp-block-navigation-placeholder__actions.wp-block-navigation-placeholder__actions hr{background-color:#1e1e1e;border:0;height:100%;margin:auto 0;max-height:16px;min-height:1px;min-width:1px}@media (min-width:600px){.wp-block-navigation__responsive-container:not(.is-menu-open) .components-button.wp-block-navigation__responsive-container-close{display:none}}.wp-block-navigation__responsive-container.is-menu-open{position:fixed;top:155px}@media (min-width:782px){.wp-block-navigation__responsive-container.is-menu-open{left:36px;top:93px}}@media (min-width:960px){.wp-block-navigation__responsive-container.is-menu-open{left:160px}}@media (min-width:782px){.has-fixed-toolbar .wp-block-navigation__responsive-container.is-menu-open{top:141px}}.is-mobile-preview .wp-block-navigation__responsive-container.is-menu-open,.is-tablet-preview .wp-block-navigation__responsive-container.is-menu-open{top:141px}.is-sidebar-opened .wp-block-navigation__responsive-container.is-menu-open{right:280px}.is-fullscreen-mode .wp-block-navigation__responsive-container.is-menu-open{left:0;top:155px}@media (min-width:782px){.is-fullscreen-mode .wp-block-navigation__responsive-container.is-menu-open{top:61px}.is-fullscreen-mode .has-fixed-toolbar .wp-block-navigation__responsive-container.is-menu-open{top:109px}}.is-fullscreen-mode .is-mobile-preview .wp-block-navigation__responsive-container.is-menu-open,.is-fullscreen-mode .is-tablet-preview .wp-block-navigation__responsive-container.is-menu-open{top:109px}body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-open{bottom:0;left:0;right:0;top:0}.components-button.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close,.components-button.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open{color:inherit;height:auto;padding:0}.components-heading.wp-block-navigation-off-canvas-editor__title{margin:0}.wp-block-navigation-off-canvas-editor__header{margin-bottom:8px}.is-menu-open .wp-block-navigation__responsive-container-content * .block-list-appender{margin-top:16px}@keyframes fadein{0%{opacity:0}to{opacity:1}}.wp-block-navigation__loading-indicator-container{padding:8px 12px}.wp-block-navigation .wp-block-navigation__uncontrolled-inner-blocks-loading-indicator{margin-top:0}@keyframes fadeouthalf{0%{opacity:1}to{opacity:.5}}.wp-block-navigation-delete-menu-button{justify-content:center;margin-bottom:16px;width:100%}.components-button.is-link.wp-block-navigation-manage-menus-button{margin-bottom:16px}.wp-block-navigation__overlay-menu-preview{align-items:center;background-color:#f0f0f0;display:flex;height:64px;justify-content:space-between;margin-bottom:12px;padding:0 24px;width:100%}.wp-block-navigation__overlay-menu-preview.open{background-color:#fff;box-shadow:inset 0 0 0 1px #e0e0e0;outline:1px solid transparent}.wp-block-navigation-placeholder__actions hr+hr,.wp-block-navigation__toolbar-menu-selector.components-toolbar-group:empty{display:none}.wp-block-navigation__navigation-selector{margin-bottom:16px;width:100%}.wp-block-navigation__navigation-selector-button{border:1px solid;justify-content:space-between;width:100%}.wp-block-navigation__navigation-selector-button__icon{flex:0 0 auto}.wp-block-navigation__navigation-selector-button__label{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-block-navigation__navigation-selector-button--createnew{border:1px solid;margin-bottom:16px;width:100%}.wp-block-navigation__responsive-container-open.components-button{opacity:1}.wp-block-navigation__menu-inspector-controls{overflow-x:auto;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-width:thin;will-change:transform}.wp-block-navigation__menu-inspector-controls::-webkit-scrollbar{height:12px;width:12px}.wp-block-navigation__menu-inspector-controls::-webkit-scrollbar-track{background-color:transparent}.wp-block-navigation__menu-inspector-controls::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.wp-block-navigation__menu-inspector-controls:focus-within::-webkit-scrollbar-thumb,.wp-block-navigation__menu-inspector-controls:focus::-webkit-scrollbar-thumb,.wp-block-navigation__menu-inspector-controls:hover::-webkit-scrollbar-thumb{background-color:#949494}.wp-block-navigation__menu-inspector-controls:focus,.wp-block-navigation__menu-inspector-controls:focus-within,.wp-block-navigation__menu-inspector-controls:hover{scrollbar-color:#949494 transparent}@media (hover:none){.wp-block-navigation__menu-inspector-controls{scrollbar-color:#949494 transparent}}.wp-block-navigation__menu-inspector-controls__empty-message{margin-left:24px}.wp-block-navigation .block-list-appender{position:relative}.wp-block-navigation .has-child{cursor:pointer}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation .has-child:hover .wp-block-navigation__submenu-container{z-index:29}.wp-block-navigation .has-child.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation .has-child.is-selected>.wp-block-navigation__submenu-container{height:auto!important;min-width:200px!important;opacity:1!important;overflow:visible!important;visibility:visible!important;width:auto!important}.wp-block-navigation-item .wp-block-navigation-item__content{cursor:text}.wp-block-navigation-item.is-editing,.wp-block-navigation-item.is-selected{min-width:20px}.wp-block-navigation-item .block-list-appender{margin:16px auto 16px 16px}.wp-block-navigation-link__invalid-item{color:#000}.wp-block-navigation-link__placeholder{background-image:none!important;box-shadow:none!important;position:relative;text-decoration:none!important}.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:var(--wp-admin-theme-color);background-image:linear-gradient(45deg,transparent 20%,var(--wp-underline-color) 30%,var(--wp-underline-color) 36%,transparent 46%),linear-gradient(135deg,transparent 54%,var(--wp-underline-color) 64%,var(--wp-underline-color) 70%,transparent 80%);background-position:0 100%;background-repeat:repeat-x;background-size:6px 3px;padding-bottom:.1em}.is-dark-theme .wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:#fff}.wp-block-navigation-link__placeholder.wp-block-navigation-item__content{cursor:pointer}.link-control-transform{border-top:1px solid #ccc;padding:0 16px 8px}.link-control-transform__subheading{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.link-control-transform__items{display:flex;justify-content:space-between}.link-control-transform__item{flex-basis:33%;flex-direction:column;gap:8px;height:auto}.wp-block-navigation-submenu{display:block}.wp-block-navigation-submenu .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container{height:auto!important;left:-1px;min-width:200px!important;opacity:1!important;position:absolute;top:100%;visibility:visible!important;width:auto!important}@media (min-width:782px){.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:100%;top:-1px}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:transparent;content:"";display:block;height:100%;position:absolute;right:100%;width:.5em}}.block-editor-block-list__block[data-type="core/nextpage"]{margin-bottom:28px;margin-top:28px;max-width:100%;text-align:center}.wp-block-nextpage{display:block;text-align:center;white-space:nowrap}.wp-block-nextpage>span{background:#fff;border-radius:4px;color:#757575;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:600;height:24px;padding:6px 8px;position:relative;text-transform:uppercase}.wp-block-nextpage:before{border-top:3px dashed #ccc;content:"";left:0;position:absolute;right:0;top:50%}.wp-block-navigation .wp-block-page-list,.wp-block-navigation .wp-block-page-list>div{background-color:inherit}.wp-block-navigation.items-justified-space-between .wp-block-page-list,.wp-block-navigation.items-justified-space-between .wp-block-page-list>div{display:contents;flex:1}.wp-block-navigation.items-justified-space-between.has-child-selected .wp-block-page-list,.wp-block-navigation.items-justified-space-between.has-child-selected .wp-block-page-list>div,.wp-block-navigation.items-justified-space-between.is-selected .wp-block-page-list,.wp-block-navigation.items-justified-space-between.is-selected .wp-block-page-list>div{flex:inherit}.wp-block-navigation .wp-block-navigation__submenu-container>.wp-block-page-list{display:block}.wp-block-pages-list__item__link{pointer-events:none}@media (min-width:600px){.wp-block-page-list-modal{max-width:480px}}.wp-block-page-list-modal-buttons{display:flex;gap:12px;justify-content:flex-end}.wp-block-page-list .open-on-click:focus-within>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;visibility:visible;width:auto}.wp-block-page-list .components-notice{margin-left:0}.wp-block-page-list__loading-indicator-container{padding:8px 12px}.block-editor-block-list__block[data-type="core/paragraph"].has-drop-cap:focus{min-height:auto!important}.block-editor-block-list__block[data-empty=true] [data-rich-text-placeholder]{opacity:1}.block-editor-block-list__block[data-empty=true]+.block-editor-block-list__block[data-empty=true]:not([data-custom-placeholder=true]) [data-rich-text-placeholder]{opacity:0}.block-editor-block-list__block[data-type="core/paragraph"].has-text-align-left[style*="writing-mode: vertical-lr"],.block-editor-block-list__block[data-type="core/paragraph"].has-text-align-right[style*="writing-mode: vertical-rl"]{rotate:180deg}.wp-block-post-excerpt .wp-block-post-excerpt__excerpt.is-inline{display:inline}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{font-style:normal;text-transform:none}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit}.wp-block-rss li a>div{display:inline}.wp-block-rss__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.wp-block-rss__placeholder-form>*{margin-bottom:0}}.wp-block-rss__placeholder-form .wp-block-rss__placeholder-input{flex:1;min-width:80%}.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{align-items:center;border-radius:initial;display:flex;height:auto;justify-content:center}.wp-block-search__components-button-group{margin-top:10px}.block-editor-block-list__block[data-type="core/separator"]{padding-bottom:.1px;padding-top:.1px}.block-editor-block-list__block[data-type="core/separator"].wp-block-separator.is-style-dots{background:none!important;border:none}[data-type="core/shortcode"].components-placeholder{min-height:0}.blocks-shortcode__textarea{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important;resize:none}@media (min-width:600px){.blocks-shortcode__textarea{font-size:13px!important}}.blocks-shortcode__textarea:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid transparent!important}.wp-block-site-logo.aligncenter>div,.wp-block[data-align=center]>.wp-block-site-logo{display:table;margin-left:auto;margin-right:auto}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo .custom-logo-link{cursor:inherit}.wp-block-site-logo .custom-logo-link:focus{box-shadow:none}.wp-block-site-logo .custom-logo-link.is-transient img{opacity:.3}.wp-block-site-logo img{display:block;height:auto;max-width:100%}.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder{height:60px;width:60px}.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container,.wp-block-site-logo.wp-block-site-logo>div{border-radius:inherit}.wp-block-site-logo.wp-block-site-logo .components-placeholder{align-items:center;border-radius:inherit;display:flex;height:100%;justify-content:center;min-height:48px;min-width:48px;padding:0;width:100%}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text,.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-form-file-upload{display:none}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;padding:0;position:relative;width:48px}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button>svg{color:inherit}.block-library-site-logo__inspector-upload-container{position:relative}.block-library-site-logo__inspector-upload-container .components-drop-zone__content-icon{display:none}.block-library-site-logo__inspector-media-replace-container button.components-button,.block-library-site-logo__inspector-upload-container button.components-button{box-shadow:inset 0 0 0 1px #ccc;color:#1e1e1e;display:block;height:40px;width:100%}.block-library-site-logo__inspector-media-replace-container button.components-button:hover,.block-library-site-logo__inspector-upload-container button.components-button:hover{color:var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container button.components-button:focus,.block-library-site-logo__inspector-upload-container button.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-media-replace-title,.block-library-site-logo__inspector-upload-container .block-library-site-logo__inspector-media-replace-title{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-library-site-logo__inspector-media-replace-container .components-dropdown{display:block}.block-library-site-logo__inspector-media-replace-container img{aspect-ratio:1;border-radius:50%!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);min-width:20px;width:20px}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-readonly-logo-preview{display:flex;height:40px;padding:6px 12px}.wp-block-site-tagline__placeholder,.wp-block-site-title__placeholder{border:1px dashed;padding:1em 0}.editor-styles-wrapper .wp-block-site-title a{color:inherit}.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{color:currentColor;font-size:inherit;height:auto;line-height:0;opacity:1;padding:.25em}.wp-block-social-links.is-style-pill-shape .wp-social-link button{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links.is-style-logos-only .wp-social-link button{padding:0}.wp-block-social-links div.block-editor-url-input{display:inline-block;margin-left:8px}.wp-block-social-links.wp-block-social-links{background:none}.wp-social-link:hover{transform:none}.editor-styles-wrapper .wp-block-social-links{padding:0}.wp-block-social-links__social-placeholder{display:flex;list-style:none;opacity:.8}.wp-block-social-links__social-placeholder>.wp-social-link{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;visibility:hidden;width:0!important}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder .wp-social-link{padding:.25em}.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link{padding-left:.66667em;padding-right:.66667em}.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link{padding:0}.wp-block-social-links__social-placeholder .wp-social-link:before{border-radius:50%;content:"";display:block;height:1em;width:1em}.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link:before{background:currentColor}.wp-block-social-links .wp-block-social-links__social-prompt{cursor:default;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;list-style:none;margin-bottom:auto;margin-top:auto;min-height:24px;order:2;padding-right:8px}.wp-block.wp-block-social-links.aligncenter,.wp-block[data-align=center]>.wp-block-social-links{justify-content:center}.block-editor-block-preview__content .components-button:disabled{opacity:1}.wp-social-link.wp-social-link__is-incomplete{opacity:.5}@media (prefers-reduced-motion:reduce){.wp-social-link.wp-social-link__is-incomplete{transition-delay:0s;transition-duration:0s}}.wp-block-social-links .is-selected .wp-social-link__is-incomplete,.wp-social-link.wp-social-link__is-incomplete:focus,.wp-social-link.wp-social-link__is-incomplete:hover{opacity:1}.block-editor-block-list__block[data-type="core/spacer"]:before{content:"";display:block;height:100%;min-height:8px;min-width:8px;position:absolute;width:100%;z-index:1}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container,.wp-block-spacer.is-selected.custom-sizes-disabled{background:rgba(0,0,0,.1)}.is-dark-theme .block-library-spacer__resize-container.has-show-handle,.is-dark-theme .wp-block-spacer.is-hovered .block-library-spacer__resize-container,.is-dark-theme .wp-block-spacer.is-selected.custom-sizes-disabled{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.block-library-spacer__resize-container:not(.is-resizing){height:100%!important;width:100%!important}.block-library-spacer__resize-container .components-resizable-box__handle:before{content:none}.block-library-spacer__resize-container.resize-horizontal{margin-bottom:0}.wp-block-table{margin:0}.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:0}}.blocks-table__placeholder-input{margin-bottom:0;margin-right:8px;width:112px}.blocks-table__placeholder-input input{height:36px}.block-editor-template-part__selection-modal{z-index:1000001}.block-editor-template-part__selection-modal .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:1280px){.block-editor-template-part__selection-modal .block-editor-block-patterns-list{column-count:3}}.block-editor-template-part__selection-modal .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.block-library-template-part__selection-search{background:#fff;padding:16px 0;position:sticky;top:0;z-index:2}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-highlighted,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-selected{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-dark-theme .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after,.is-dark-theme .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.wp-block-text-columns .block-editor-rich-text__editable:focus{outline:1px solid #ddd}.wp-block-video.wp-block-video.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e}.wp-block-video.wp-block-video.is-selected .components-placeholder>svg{opacity:0}.wp-block-video.wp-block-video.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-video.wp-block-video.is-selected .components-placeholder:before{opacity:0}.wp-block-video.wp-block-video .components-button,.wp-block-video.wp-block-video .components-placeholder__instructions,.wp-block-video.wp-block-video .components-placeholder__label{transition:none}.wp-block[data-align=center]>.wp-block-video{text-align:center}.wp-block-video{position:relative}.wp-block-video.is-transient video{opacity:.3}.wp-block-video .components-spinner{left:50%;margin-left:-9px;margin-top:-9px;position:absolute;top:50%}.editor-video-poster-control .components-base-control__label{display:block}.editor-video-poster-control .components-button{margin-right:8px}.block-library-video-tracks-editor{z-index:159990}.block-library-video-tracks-editor__track-list-track{padding-left:12px}.block-library-video-tracks-editor__single-track-editor-kind-select{max-width:240px}.block-library-video-tracks-editor__single-track-editor-edit-track-label{color:#757575;display:block;font-size:11px;font-weight:500;margin-top:4px;text-transform:uppercase}.block-library-video-tracks-editor>.components-popover__content{padding:0;width:360px}.block-library-video-tracks-editor__add-tracks-container .components-menu-group__label,.block-library-video-tracks-editor__track-list .components-menu-group__label{padding:0}.block-library-video-tracks-editor__add-tracks-container,.block-library-video-tracks-editor__single-track-editor,.block-library-video-tracks-editor__track-list{padding:12px}.editor-styles-wrapper ul.wp-block-post-template{list-style:none;margin-left:0;padding-left:0}.block-library-query-toolbar__popover .components-popover__content{min-width:230px}.wp-block-query__create-new-link{padding:0 16px 16px 52px}.block-library-query__pattern-selection-content .block-editor-block-patterns-list{grid-gap:8px;display:grid;grid-template-columns:1fr 1fr 1fr}.block-library-query__pattern-selection-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{margin-bottom:0}.block-library-query__pattern-selection-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__container{max-height:250px}.block-library-query-pattern__selection-modal .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:1280px){.block-library-query-pattern__selection-modal .block-editor-block-patterns-list{column-count:3}}.block-library-query-pattern__selection-modal .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.block-library-query-pattern__selection-modal .block-library-query-pattern__selection-search{background:#fff;margin-bottom:2px;padding:16px 0;position:sticky;top:0;z-index:2}.block-library-query-toolspanel__filters .components-form-token-field__help{margin-bottom:0}.block-library-query-toolspanel__filters .block-library-query-inspector__taxonomy-control:not(:last-child){margin-bottom:24px}@media (min-width:600px){.wp-block-query__enhanced-pagination-modal{max-width:480px}}.wp-block-query__enhanced-pagination-notice{margin:0}.wp-block[data-align=center]>.wp-block-query-pagination{justify-content:center}.editor-styles-wrapper .wp-block-query-pagination{max-width:100%}.editor-styles-wrapper .wp-block-query-pagination.block-editor-block-list__layout{margin:0}.wp-block-query-pagination>.wp-block-query-pagination-next,.wp-block-query-pagination>.wp-block-query-pagination-numbers,.wp-block-query-pagination>.wp-block-query-pagination-previous{margin:.5em .5em .5em 0}.wp-block-query-pagination>.wp-block-query-pagination-next:last-child,.wp-block-query-pagination>.wp-block-query-pagination-numbers:last-child,.wp-block-query-pagination>.wp-block-query-pagination-previous:last-child{margin-right:0}.wp-block-query-pagination-numbers a{text-decoration:underline}.wp-block-query-pagination-numbers .page-numbers{margin-right:2px}.wp-block-query-pagination-numbers .page-numbers:last-child{margin-right:0}.wp-block-post-featured-image .block-editor-media-placeholder{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1}.wp-block-post-featured-image .components-placeholder,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder{align-items:center;display:flex;justify-content:center;min-height:200px;padding:0}.wp-block-post-featured-image .components-placeholder .components-form-file-upload,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-form-file-upload{display:none}.wp-block-post-featured-image .components-placeholder .components-button,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;padding:0;position:relative;width:48px}.wp-block-post-featured-image .components-placeholder .components-button>svg,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button>svg{color:inherit}.wp-block-post-featured-image .components-placeholder:where(.has-border-color),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where(.has-border-color),.wp-block-post-featured-image img:where(.has-border-color){border-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-top-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-color]),.wp-block-post-featured-image img:where([style*=border-top-color]){border-top-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-right-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-color]),.wp-block-post-featured-image img:where([style*=border-right-color]){border-right-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image img:where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-left-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-color]),.wp-block-post-featured-image img:where([style*=border-left-color]){border-left-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-width]),.wp-block-post-featured-image img:where([style*=border-width]){border-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-top-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-width]),.wp-block-post-featured-image img:where([style*=border-top-width]){border-top-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-right-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-width]),.wp-block-post-featured-image img:where([style*=border-right-width]){border-right-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image img:where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-left-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-width]),.wp-block-post-featured-image img:where([style*=border-left-width]){border-left-style:solid}.wp-block-post-featured-image[style*=height] .components-placeholder{height:100%;min-height:48px;min-width:48px;width:100%}div[data-type="core/post-featured-image"] img{display:block;height:auto;max-width:100%}.wp-block-post-comments-form *{pointer-events:none}.wp-block-post-comments-form .block-editor-warning *{pointer-events:auto}.wp-element-button{cursor:revert}.wp-element-button[role=textbox]{cursor:text}:root .editor-styles-wrapper .has-very-light-gray-background-color{background-color:#eee}:root .editor-styles-wrapper .has-very-dark-gray-background-color{background-color:#313131}:root .editor-styles-wrapper .has-very-light-gray-color{color:#eee}:root .editor-styles-wrapper .has-very-dark-gray-color{color:#313131}:root .editor-styles-wrapper .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .editor-styles-wrapper .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .editor-styles-wrapper .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .editor-styles-wrapper .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .editor-styles-wrapper .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .editor-styles-wrapper .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .editor-styles-wrapper .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}.editor-styles-wrapper{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.editor-styles-wrapper .has-regular-font-size{font-size:16px}.editor-styles-wrapper .has-larger-font-size{font-size:42px}.editor-styles-wrapper .has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.editor-styles-wrapper .has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.editor-styles-wrapper iframe:not([frameborder]){border:0} \ No newline at end of file + /*!rtl:ignore*/text-align:right}.wp-block-button{cursor:text;position:relative}.wp-block-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.wp-block-button[data-rich-text-placeholder]:after{opacity:.8}div[data-type="core/button"]{display:table}.editor-styles-wrapper .wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-left-width:medium}.wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{margin:0}.wp-block-buttons>.block-list-appender{align-items:center;display:inline-flex}.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{justify-content:flex-start}.wp-block-buttons>.wp-block-button:focus{box-shadow:none}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{margin-left:auto;margin-right:auto;margin-top:0;width:100%}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{margin-bottom:0}.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block[data-align=center]>.wp-block-buttons{align-items:center;justify-content:center}.wp-block[data-align=right]>.wp-block-buttons{justify-content:flex-end}.wp-block-categories ul{padding-left:2.5em}.wp-block-categories ul ul{margin-top:6px}[data-align=center] .wp-block-categories{text-align:center}.wp-block-code code{background:none}.wp-block-columns :where(.wp-block){margin-left:0;margin-right:0;max-width:none}html :where(.wp-block-column){margin-bottom:0;margin-top:0}.wp-block-comments__legacy-placeholder,.wp-block-post-comments{box-sizing:border-box}.wp-block-comments__legacy-placeholder .alignleft,.wp-block-post-comments .alignleft{float:left}.wp-block-comments__legacy-placeholder .alignright,.wp-block-post-comments .alignright{float:right}.wp-block-comments__legacy-placeholder .navigation:after,.wp-block-post-comments .navigation:after{clear:both;content:"";display:table}.wp-block-comments__legacy-placeholder .commentlist,.wp-block-post-comments .commentlist{clear:both;list-style:none;margin:0;padding:0}.wp-block-comments__legacy-placeholder .commentlist .comment,.wp-block-post-comments .commentlist .comment{min-height:2.25em;padding-left:3.25em}.wp-block-comments__legacy-placeholder .commentlist .comment p,.wp-block-post-comments .commentlist .comment p{font-size:1em;line-height:1.8;margin:1em 0}.wp-block-comments__legacy-placeholder .commentlist .children,.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-comments__legacy-placeholder .comment-author,.wp-block-post-comments .comment-author{line-height:1.5}.wp-block-comments__legacy-placeholder .comment-author .avatar,.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;margin-top:.5em;width:2.5em}.wp-block-comments__legacy-placeholder .comment-author cite,.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-comments__legacy-placeholder .comment-meta,.wp-block-post-comments .comment-meta{font-size:.875em;line-height:1.5}.wp-block-comments__legacy-placeholder .comment-meta b,.wp-block-post-comments .comment-meta b{font-weight:400}.wp-block-comments__legacy-placeholder .comment-meta .comment-awaiting-moderation,.wp-block-post-comments .comment-meta .comment-awaiting-moderation{display:block;margin-bottom:1em;margin-top:1em}.wp-block-comments__legacy-placeholder .comment-body .commentmetadata,.wp-block-post-comments .comment-body .commentmetadata{font-size:.875em}.wp-block-comments__legacy-placeholder .comment-form-author label,.wp-block-comments__legacy-placeholder .comment-form-comment label,.wp-block-comments__legacy-placeholder .comment-form-email label,.wp-block-comments__legacy-placeholder .comment-form-url label,.wp-block-post-comments .comment-form-author label,.wp-block-post-comments .comment-form-comment label,.wp-block-post-comments .comment-form-email label,.wp-block-post-comments .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-comments__legacy-placeholder .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-comments__legacy-placeholder .comment-form textarea,.wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-comments__legacy-placeholder .comment-form-cookies-consent,.wp-block-post-comments .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-comments__legacy-placeholder .comment-form-cookies-consent #wp-comment-cookies-consent,.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-comments__legacy-placeholder .comment-reply-title,.wp-block-post-comments .comment-reply-title{margin-bottom:0}.wp-block-comments__legacy-placeholder .comment-reply-title :where(small),.wp-block-post-comments .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-left:.5em}.wp-block-comments__legacy-placeholder .reply,.wp-block-post-comments .reply{font-size:.875em;margin-bottom:1.4em}.wp-block-comments__legacy-placeholder input:not([type=submit]),.wp-block-comments__legacy-placeholder textarea,.wp-block-post-comments input:not([type=submit]),.wp-block-post-comments textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-comments__legacy-placeholder input:not([type=submit]):not([type=checkbox]),.wp-block-comments__legacy-placeholder textarea,.wp-block-post-comments input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments textarea{padding:calc(.667em + 2px)}:where(.wp-block-post-comments input[type=submit]){border:none}.block-library-comments-toolbar__popover .components-popover__content{min-width:230px}.wp-block-comments__legacy-placeholder *{pointer-events:none}.wp-block-comment-author-avatar__placeholder{stroke:currentColor;stroke-dasharray:3;border:1px dashed;height:100%;width:100%}.wp-block[data-align=center]>.wp-block-comments-pagination{justify-content:center}.editor-styles-wrapper .wp-block-comments-pagination{max-width:100%}.editor-styles-wrapper .wp-block-comments-pagination.block-editor-block-list__layout{margin:0}.wp-block-comments-pagination>.wp-block-comments-pagination-next,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers,.wp-block-comments-pagination>.wp-block-comments-pagination-previous{margin:.5em .5em .5em 0}.wp-block-comments-pagination>.wp-block-comments-pagination-next:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-previous:last-child{margin-right:0}.wp-block-comments-pagination-numbers a{text-decoration:underline}.wp-block-comments-pagination-numbers .page-numbers{margin-right:2px}.wp-block-comments-pagination-numbers .page-numbers:last-child{margin-right:0}.wp-block-comments-title.has-background{padding:inherit}.editor-styles-wrapper .wp-block-cover{box-sizing:border-box}.wp-block-cover.is-placeholder{align-items:stretch;display:flex;min-height:240px;padding:0!important}.wp-block-cover.is-placeholder .components-placeholder.is-large{justify-content:flex-start;z-index:1}.wp-block-cover.is-placeholder:focus:after{min-height:auto}.wp-block-cover.components-placeholder h2{color:inherit}.wp-block-cover.is-transient:before{background-color:#fff;opacity:.3}.wp-block-cover .components-spinner{left:50%;margin:0;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.wp-block-cover .wp-block-cover__inner-container{margin-left:0;margin-right:0;text-align:left}.wp-block-cover .wp-block-cover__placeholder-background-options{width:100%}.wp-block-cover .wp-block-cover__image--placeholder-image{bottom:0;left:0;position:absolute;right:0;top:0}[data-align=left]>.wp-block-cover,[data-align=right]>.wp-block-cover{max-width:420px;width:100%}.block-library-cover__reset-button{margin-left:auto}.block-library-cover__resize-container{bottom:0;left:0;min-height:50px;position:absolute!important;right:0;top:0}.components-popover.block-editor-block-popover.block-library-cover__resizable-box-popover .block-library-cover__resize-container,.components-popover.block-editor-block-popover.block-library-cover__resizable-box-popover .components-popover__content>div{overflow:visible;pointer-events:none}.wp-block-cover>.components-drop-zone .components-drop-zone__content{opacity:.8!important}.block-editor-block-patterns-list__list-item .has-parallax.wp-block-cover{background-attachment:scroll}.color-block-support-panel__inner-wrapper>:not(.block-editor-tools-panel-color-gradient-settings__item){margin-top:24px}.wp-block-cover:after{min-height:auto}.wp-block-details summary div{display:inline}.wp-block-embed{clear:both;margin-left:0;margin-right:0}.wp-block-embed.is-loading{display:flex;justify-content:center}.wp-block-embed .components-placeholder__error{word-break:break-word}.wp-block-embed .components-placeholder__learn-more{margin-top:1em}.block-library-embed__interactive-overlay{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.wp-block[data-align=left]>.wp-block-embed,.wp-block[data-align=right]>.wp-block-embed{max-width:360px;width:100%}.wp-block[data-align=left]>.wp-block-embed .wp-block-embed__wrapper,.wp-block[data-align=right]>.wp-block-embed .wp-block-embed__wrapper{min-width:280px}.wp-block-file{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:0}.wp-block[data-align=left]>.wp-block-file,.wp-block[data-align=right]>.wp-block-file{height:auto}.wp-block-file .components-resizable-box__container{margin-bottom:1em}.wp-block-file .wp-block-file__preview{height:100%;margin-bottom:1em;width:100%}.wp-block-file .wp-block-file__preview-overlay{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-file .wp-block-file__content-wrapper{flex-grow:1}.wp-block-file a{min-width:1em}.wp-block-file a:not(.wp-block-file__button){display:inline-block}.wp-block-file .wp-block-file__button-richtext-wrapper{display:inline-block;margin-left:.75em}.wp-block-form-input .is-input-hidden{background:repeating-linear-gradient(45deg,transparent,transparent 5px,currentColor 0,currentColor 6px);border:1px dashed;box-sizing:border-box;font-size:.85em;opacity:.3;padding:.5em}.wp-block-form-input .is-input-hidden input[type=text]{background:transparent}.wp-block-form-input.is-selected .is-input-hidden{background:none;opacity:1}.wp-block-form-input.is-selected .is-input-hidden input[type=text]{background:unset}.wp-block-form-submission-notification>*{background:repeating-linear-gradient(45deg,transparent,transparent 5px,currentColor 0,currentColor 6px);border:1px dashed;box-sizing:border-box;opacity:.25}.wp-block-form-submission-notification.is-selected>*,.wp-block-form-submission-notification:has(.is-selected)>*{background:none;opacity:1}.wp-block-form-submission-notification.is-selected:after,.wp-block-form-submission-notification:has(.is-selected):after{display:none!important}.wp-block-form-submission-notification:after{align-items:center;display:flex;font-size:1.1em;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.wp-block-form-submission-notification.form-notification-type-success:after{content:attr(data-message-success)}.wp-block-form-submission-notification.form-notification-type-error:after{content:attr(data-message-error)}.wp-block-freeform.block-library-rich-text__tinymce{height:auto}.wp-block-freeform.block-library-rich-text__tinymce li,.wp-block-freeform.block-library-rich-text__tinymce p{line-height:1.8}.wp-block-freeform.block-library-rich-text__tinymce ol,.wp-block-freeform.block-library-rich-text__tinymce ul{margin-left:0;padding-left:2.5em}.wp-block-freeform.block-library-rich-text__tinymce blockquote{border-left:4px solid #000;box-shadow:inset 0 0 0 0 #ddd;margin:0;padding-left:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;white-space:pre-wrap}.wp-block-freeform.block-library-rich-text__tinymce>:first-child{margin-top:0}.wp-block-freeform.block-library-rich-text__tinymce>:last-child{margin-bottom:0}.wp-block-freeform.block-library-rich-text__tinymce.mce-edit-focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce a{color:var(--wp-admin-theme-color)}.wp-block-freeform.block-library-rich-text__tinymce:focus a[data-mce-selected]{background:#e5f5fa;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;margin:0 -2px;padding:0 2px}.wp-block-freeform.block-library-rich-text__tinymce code{background:#f0f0f0;border-radius:2px;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:14px;padding:2px}.wp-block-freeform.block-library-rich-text__tinymce:focus code[data-mce-selected]{background:#ddd}.wp-block-freeform.block-library-rich-text__tinymce .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-freeform.block-library-rich-text__tinymce .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-freeform.block-library-rich-text__tinymce .aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-block-freeform.block-library-rich-text__tinymce .wp-more-tag{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADtgAAAAoBAMAAAA86gLBAAAAJFBMVEVMaXG7u7vBwcHDw8POzs68vLzGxsbMzMy+vr7AwMDQ0NDGxsYKLGzpAAAADHRSTlMA///zWf+/f///TMxNVGuqAAABwklEQVR4Ae3dMXLaQBTH4bfj8UCpx8hq0vgKvgFNemhT6Qo6gg6R+0ZahM2QLmyBJ99XWP9V5+o3jIUcLQEAAAAAAAAAAAAAAAAAAAAAAABQ8j0WL9lfTtlt18uNXAUA8O/KVtfa1tdcrOdSh9gCQAMlh1hMNbZZ1bsrsQWABsrhLRbz7z5in/32UbfUMUbkMQCAh5RfGYv82UdMdZ6HS2wjT2ILAI8r3XmM2B3WvM59vfO2xXYW2yYAENuPU8S+X/N67mKxzy225yaxBQCxLV392UdcvwV0jPVUj98ntkBWT7C7+9u2/V/vGtvXIWJ6/4rtbottWa6Ri0NUT/u72LYttrb97LHdvUXMxxrb8TO2W2TF1rYbbLG1bbGNjMi4+2Sbi1FsbbvNFlvbFtt5fDnE3d9sP1/XeIyV2Nr2U2/guZUuptNrH/dPI9eLB6SaAEBs6wPJf3/PNk9tYgsAYrv/8TFuzx/fvkFqGtrEFgDEdpcZUb7ejXy6ntrEFgDENvL6gsas4vbdyKt4DACI7TxElJv/Z7udpqFNbAFAbKduy2uU2trttM/x28UWAAAAAAAAAAAAAAAAAAAAAAAAAADgDyPwGmGTCZp7AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;background-size:1900px 20px;cursor:default;display:block;height:20px;margin:15px auto;outline:0;width:96%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:transparent}.wp-block-freeform.block-library-rich-text__tinymce div.mceTemp{-ms-user-select:element}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption{margin:0;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption a,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption img{display:block}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption *{-webkit-user-drag:none}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption .wp-caption-dd{margin:0;padding-top:.5em}.wp-block-freeform.block-library-rich-text__tinymce .wpview{border:1px solid transparent;clear:both;margin-bottom:16px;position:relative;width:99.99%}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{background:transparent;display:block;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected="2"] .mce-shim{display:none}.wp-block-freeform.block-library-rich-text__tinymce .wpview .loading-placeholder{border:1px dashed #ddd;padding:10px}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error{word-wrap:break-word;border:1px solid #ddd;margin:0;padding:1em 0}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error p{margin:0;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .loading-placeholder,.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .wpview-error{border-color:transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview .dashicons{display:block;font-size:32px;height:32px;margin:0 auto;width:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{clear:both;content:"";display:table}.wp-block-freeform.block-library-rich-text__tinymce .gallery img[data-mce-selected]:focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce .gallery a{cursor:default}.wp-block-freeform.block-library-rich-text__tinymce .gallery{line-height:1;margin:auto -6px;overflow-x:hidden;padding:6px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{box-sizing:border-box;float:left;margin:0;padding:6px;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption,.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-icon{margin:0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption{font-size:13px;margin:4px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-1 .gallery-item{width:100%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-2 .gallery-item{width:50%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-3 .gallery-item{width:33.3333333333%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-4 .gallery-item{width:25%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-5 .gallery-item{width:20%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-6 .gallery-item{width:16.6666666667%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-7 .gallery-item{width:14.2857142857%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-8 .gallery-item{width:12.5%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-9 .gallery-item{width:11.1111111111%}.wp-block-freeform.block-library-rich-text__tinymce .gallery img{border:none;height:auto;max-width:100%;padding:0}div[data-type="core/freeform"]:before{border:1px solid #ddd;outline:1px solid transparent;transition:border-color .1s linear,box-shadow .1s linear}@media (prefers-reduced-motion:reduce){div[data-type="core/freeform"]:before{transition-delay:0s;transition-duration:0s}}div[data-type="core/freeform"].is-selected:before{border-color:#1e1e1e}div[data-type="core/freeform"] .block-editor-block-contextual-toolbar+div{margin-top:0;padding-top:0}div[data-type="core/freeform"].is-selected .block-library-rich-text__tinymce:after{clear:both;content:"";display:table}.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active i,.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i{color:#1e1e1e}.mce-toolbar-grp .mce-rtl .mce-flow-layout-item.mce-last{margin-left:8px;margin-right:0}.mce-toolbar-grp .mce-btn i{font-style:normal}.block-library-classic__toolbar{border:1px solid #ddd;border-bottom:none;border-radius:2px;display:none;margin:0 0 8px;padding:0;position:sticky;top:0;width:auto;z-index:31}div[data-type="core/freeform"].is-selected .block-library-classic__toolbar{border-color:#1e1e1e;display:block}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media (min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{background:#f5f5f5;border-bottom:1px solid #e2e4e7;display:block}.block-library-classic__toolbar:empty:before{color:#555d66;content:attr(data-placeholder);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:37px;padding:14px}.block-library-classic__toolbar div.mce-toolbar-grp{border-bottom:1px solid #1e1e1e}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar .mce-menubar>div,.block-library-classic__toolbar .mce-tinymce-inline,.block-library-classic__toolbar .mce-tinymce-inline>div,.block-library-classic__toolbar div.mce-toolbar-grp,.block-library-classic__toolbar div.mce-toolbar-grp>div{height:auto!important;width:100%!important}.block-library-classic__toolbar .mce-container-body.mce-abs-layout{overflow:visible}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar div.mce-toolbar-grp{position:static}.block-library-classic__toolbar .mce-toolbar-grp>div{padding:1px 3px}.block-library-classic__toolbar .mce-toolbar-grp .mce-toolbar:not(:first-child){display:none}.block-library-classic__toolbar.has-advanced-toolbar .mce-toolbar-grp .mce-toolbar{display:block}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{height:50vh!important}@media (min-width:960px){.block-editor-freeform-modal .block-editor-freeform-modal__content:not(.is-full-screen){height:9999rem}.block-editor-freeform-modal .block-editor-freeform-modal__content .components-modal__header+div{height:100%}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-tinymce{height:calc(100% - 52px)}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-container-body{display:flex;flex-direction:column;height:100%;min-width:50vw}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area{display:flex;flex-direction:column;flex-grow:1}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{flex-grow:1;height:10px!important}}.block-editor-freeform-modal__actions{margin-top:16px}figure.wp-block-gallery{display:block}figure.wp-block-gallery>.blocks-gallery-caption{flex:0 0 100%}figure.wp-block-gallery>.blocks-gallery-media-placeholder-wrapper{flex-basis:100%}figure.wp-block-gallery .wp-block-image .components-notice.is-error{display:block}figure.wp-block-gallery .wp-block-image .components-notice__content{margin:4px 0}figure.wp-block-gallery .wp-block-image .components-notice__dismiss{position:absolute;right:5px;top:0}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label{display:none}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button{margin-bottom:0}figure.wp-block-gallery .block-editor-media-placeholder{margin:0}figure.wp-block-gallery .block-editor-media-placeholder .components-placeholder__label{display:flex}figure.wp-block-gallery .block-editor-media-placeholder figcaption{z-index:2}figure.wp-block-gallery .components-spinner{left:50%;margin-left:-9px;margin-top:-9px;position:absolute;top:50%}.gallery-settings-buttons .components-button:first-child{margin-right:8px}.gallery-image-sizes .components-base-control__label{display:block;margin-bottom:4px}.gallery-image-sizes .gallery-image-sizes__loading{align-items:center;color:#757575;display:flex;font-size:12px}.gallery-image-sizes .components-spinner{margin:0 8px 0 4px}.blocks-gallery-item figure:not(.is-selected):focus,.blocks-gallery-item img:focus{outline:none}.blocks-gallery-item figure.is-selected:before{bottom:0;box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";left:0;outline:2px solid transparent;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.blocks-gallery-item figure.is-transient img{opacity:.3}.blocks-gallery-item .is-selected .block-library-gallery-item__inline-menu{display:inline-flex}.blocks-gallery-item .block-editor-media-placeholder{height:100%;margin:0}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{background:#fff;border:1px solid #1e1e1e;border-radius:2px;display:none;margin:8px;position:absolute;top:-2px;transition:box-shadow .2s ease-out;z-index:20}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-delay:0s;transition-duration:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1)}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu,.columns-8 .block-library-gallery-item__inline-menu{padding:2px}}.block-library-gallery-item__inline-menu .components-button.has-icon:not(:focus){border:none;box-shadow:none}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu .components-button.has-icon,.columns-8 .block-library-gallery-item__inline-menu .components-button.has-icon{height:inherit;padding:0;width:inherit}}.block-library-gallery-item__inline-menu.is-left{left:-2px}.block-library-gallery-item__inline-menu.is-right{right:-2px}.wp-block-gallery ul.blocks-gallery-grid{margin:0;padding:0}@media (min-width:600px){.wp-block-update-gallery-modal{max-width:480px}}.wp-block-update-gallery-modal-buttons{display:flex;gap:12px;justify-content:flex-end}.wp-block-group .block-editor-block-list__insertion-point{left:0;right:0}[data-type="core/group"].is-selected .block-list-appender{margin-left:0;margin-right:0}[data-type="core/group"].is-selected .has-background .block-list-appender{margin-bottom:18px;margin-top:18px}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child{gap:inherit;pointer-events:none}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-default-block-appender__content,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{display:inherit;flex:1;flex-direction:inherit;width:100%}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after{border:1px dashed;border-radius:2px;content:"";display:flex;flex:1 0 48px;min-height:46px;pointer-events:none}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{pointer-events:all}.wp-block-group__placeholder .wp-block-group-placeholder__variations{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;list-style:none;margin:0;padding:0;width:100%}.wp-block-group__placeholder .components-placeholder__instructions{margin-bottom:18px;text-align:center}.wp-block-group__placeholder .wp-block-group-placeholder__variations svg{fill:#ccc!important}.wp-block-group__placeholder .wp-block-group-placeholder__variations svg:hover{fill:var(--wp-admin-theme-color)!important}.wp-block-group__placeholder .wp-block-group-placeholder__variations>li{align-items:center;display:flex;flex-direction:column;margin:0 12px 12px;width:auto}.wp-block-group__placeholder .wp-block-group-placeholder__variations li>.wp-block-group-placeholder__variation-button{height:32px;padding:0;width:44px}.wp-block-group__placeholder .wp-block-group-placeholder__variations li>.wp-block-group-placeholder__variation-button:hover{box-shadow:none}.wp-block-group__placeholder .components-placeholder{min-height:auto;padding:24px}.wp-block-group__placeholder .is-medium .wp-block-group-placeholder__variations>li,.wp-block-group__placeholder .is-small .wp-block-group-placeholder__variations>li{margin:12px}.block-library-html__edit .block-library-html__preview-overlay{height:100%;left:0;position:absolute;top:0;width:100%}.block-library-html__edit .block-editor-plain-text{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important}@media (min-width:600px){.block-library-html__edit .block-editor-plain-text{font-size:13px!important}}.block-library-html__edit .block-editor-plain-text:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid transparent!important}.wp-block-image.wp-block-image.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;filter:none!important}.wp-block-image.wp-block-image.is-selected .components-placeholder>svg{opacity:0}.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-image.wp-block-image .block-bindings-media-placeholder-message,.wp-block-image.wp-block-image.is-selected .components-placeholder:before{opacity:0}.wp-block-image.wp-block-image.is-selected .block-bindings-media-placeholder-message{opacity:1}.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{transition:none}figure.wp-block-image:not(.wp-block){margin:0}.wp-block-image{position:relative}.wp-block-image .is-applying img,.wp-block-image.is-transient img{opacity:.3}.wp-block-image figcaption img{display:inline}.wp-block-image .components-spinner{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.wp-block-image .components-resizable-box__container{display:table}.wp-block-image .components-resizable-box__container img{display:block;height:inherit;width:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{left:0;margin:-1px 0;position:absolute;right:0}@media (min-width:600px){.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{margin:-1px}}[data-align=full]>.wp-block-image img,[data-align=wide]>.wp-block-image img{height:auto;width:100%}.wp-block[data-align=center]>.wp-block-image,.wp-block[data-align=left]>.wp-block-image,.wp-block[data-align=right]>.wp-block-image{display:table}.wp-block[data-align=center]>.wp-block-image>figcaption,.wp-block[data-align=left]>.wp-block-image>figcaption,.wp-block[data-align=right]>.wp-block-image>figcaption{caption-side:bottom;display:table-caption}.wp-block[data-align=left]>.wp-block-image{margin:.5em 1em .5em 0}.wp-block[data-align=right]>.wp-block-image{margin:.5em 0 .5em 1em}.wp-block[data-align=center]>.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}.wp-block-image__crop-area{max-width:100%;overflow:hidden;position:relative;width:100%}.wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image{border:none;border-radius:0}.wp-block-image__crop-icon{align-items:center;display:flex;justify-content:center;min-width:48px;padding:0 8px}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{min-width:260px;overflow:visible!important}.wp-block-image__aspect-ratio{align-items:center;display:flex;height:46px;margin-bottom:-8px}.wp-block-image__aspect-ratio .components-button{padding-left:0;padding-right:0;width:36px}.wp-block-latest-posts{padding-left:2.5em}.wp-block-latest-posts.is-grid{padding-left:0}.wp-block-latest-posts>li{overflow:hidden}.wp-block-latest-posts li a>div{display:inline}.edit-post-visual-editor .wp-block-latest-posts.is-grid li{margin-bottom:20px}.editor-latest-posts-image-alignment-control .components-base-control__label{display:block}.editor-latest-posts-image-alignment-control .components-toolbar{border-radius:2px}.wp-block-media-text__media{position:relative}.wp-block-media-text__media.is-transient img{opacity:.3}.wp-block-media-text__media .components-spinner{left:50%;margin-left:-9px;margin-top:-9px;position:absolute;top:50%}.wp-block-media-text .__resizable_base__{grid-column:1/span 2;grid-row:2}.wp-block-media-text .editor-media-container__resizer{width:100%!important}.wp-block-media-text.is-image-fill .editor-media-container__resizer{height:100%!important}.wp-block-media-text>.block-editor-block-list__layout>.block-editor-block-list__block{max-width:unset}.block-editor-block-list__block[data-type="core/more"]{margin-bottom:28px;margin-top:28px;max-width:100%;text-align:center}.wp-block-more{display:block;text-align:center;white-space:nowrap}.wp-block-more input[type=text]{background:#fff;border:none;border-radius:4px;box-shadow:none;color:#757575;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:600;height:24px;margin:0;max-width:100%;padding:6px 8px;position:relative;text-align:center;text-transform:uppercase;white-space:nowrap}.wp-block-more input[type=text]:focus{box-shadow:none}.wp-block-more:before{border-top:3px dashed #ccc;content:"";left:0;position:absolute;right:0;top:50%}.editor-styles-wrapper .wp-block-navigation ul{margin-bottom:0;margin-left:0;margin-top:0;padding-left:0}.editor-styles-wrapper .wp-block-navigation .wp-block-navigation-item.wp-block{margin:revert}.wp-block-navigation-item__label{display:inline}.wp-block-navigation-item,.wp-block-navigation__container{background-color:inherit}.wp-block-navigation:not(.is-selected):not(.has-child-selected) .has-child:hover>.wp-block-navigation__submenu-container{opacity:0;visibility:hidden}.has-child.has-child-selected>.wp-block-navigation__submenu-container,.has-child.is-selected>.wp-block-navigation__submenu-container{display:flex;opacity:1;visibility:visible}.is-dragging-components-draggable .has-child.is-dragging-within>.wp-block-navigation__submenu-container{opacity:1;visibility:visible}.is-editing>.wp-block-navigation__container{display:flex;flex-direction:column;opacity:1;visibility:visible}.is-dragging-components-draggable .wp-block-navigation-link>.wp-block-navigation__container{opacity:1;visibility:hidden}.is-dragging-components-draggable .wp-block-navigation-link>.wp-block-navigation__container .block-editor-block-draggable-chip-wrapper{visibility:visible}.is-editing>.wp-block-navigation__submenu-container>.block-list-appender{display:block;position:static;width:100%}.is-editing>.wp-block-navigation__submenu-container>.block-list-appender .block-editor-button-block-appender{background:#1e1e1e;border-radius:2px;color:#fff;margin-left:auto;margin-right:0;padding:0;width:24px}.wp-block-navigation__submenu-container .block-list-appender{display:none}.block-library-colors-selector{width:auto}.block-library-colors-selector .block-library-colors-selector__toggle{display:block;margin:0 auto;padding:3px;width:auto}.block-library-colors-selector .block-library-colors-selector__icon-container{align-items:center;border-radius:4px;display:flex;height:30px;margin:0 auto;padding:3px;position:relative}.block-library-colors-selector .block-library-colors-selector__state-selection{border-radius:11px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);height:22px;line-height:20px;margin-left:auto;margin-right:auto;min-height:22px;min-width:22px;padding:2px;width:22px}.block-library-colors-selector .block-library-colors-selector__state-selection>svg{min-width:auto!important}.block-library-colors-selector .block-library-colors-selector__state-selection.has-text-color>svg,.block-library-colors-selector .block-library-colors-selector__state-selection.has-text-color>svg path{color:inherit}.block-library-colors-selector__popover .color-palette-controller-container{padding:16px}.block-library-colors-selector__popover .components-base-control__label{height:20px;line-height:20px}.block-library-colors-selector__popover .component-color-indicator{float:right;margin-top:2px}.block-library-colors-selector__popover .components-panel__body-title{display:none}.wp-block-navigation .wp-block+.block-list-appender .block-editor-button-block-appender{background-color:#1e1e1e;color:#fff}.wp-block-navigation .wp-block+.block-list-appender .block-editor-button-block-appender.block-editor-button-block-appender.block-editor-button-block-appender{padding:0}.wp-block-navigation .wp-block .wp-block .block-editor-button-block-appender{background-color:transparent;color:#1e1e1e}@keyframes loadingpulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.components-placeholder.wp-block-navigation-placeholder{background:none;box-shadow:none;color:inherit;min-height:0;outline:none;padding:0}.components-placeholder.wp-block-navigation-placeholder .components-placeholder__fieldset{font-size:inherit}.components-placeholder.wp-block-navigation-placeholder .components-placeholder__fieldset .components-button{margin-bottom:0}.wp-block-navigation.is-selected .components-placeholder.wp-block-navigation-placeholder{color:#1e1e1e}.wp-block-navigation-placeholder__preview{align-items:center;background:transparent;color:currentColor;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;min-width:96px}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__preview{display:none}.wp-block-navigation-placeholder__preview:before{border:1px dashed;border-radius:2px;border-radius:inherit;bottom:0;content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0}.wp-block-navigation-placeholder__preview:before:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.wp-block-navigation-placeholder__preview>svg{fill:currentColor}.wp-block-navigation.is-vertical .is-medium .components-placeholder__fieldset,.wp-block-navigation.is-vertical .is-small .components-placeholder__fieldset{min-height:90px}.wp-block-navigation.is-vertical .is-large .components-placeholder__fieldset{min-height:132px}.wp-block-navigation-placeholder__controls,.wp-block-navigation-placeholder__preview{align-items:flex-start;flex-direction:row;padding:6px 8px}.wp-block-navigation-placeholder__controls{background-color:#fff;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;display:none;float:left;position:relative;width:100%;z-index:1}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls{display:flex}.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator,.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator+hr,.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator,.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator+hr{display:none}.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions,.wp-block-navigation.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions{align-items:flex-start;flex-direction:column}.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr,.wp-block-navigation.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr{display:none}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon{height:36px;margin-right:12px}.wp-block-navigation-placeholder__actions__indicator{align-items:center;display:flex;height:36px;justify-content:flex-start;line-height:0;margin-left:4px;padding:0 6px 0 0}.wp-block-navigation-placeholder__actions__indicator svg{fill:currentColor;margin-right:4px}.wp-block-navigation .components-placeholder.is-medium .components-placeholder__fieldset{flex-direction:row!important}.wp-block-navigation-placeholder__actions{align-items:center;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;gap:6px;height:100%}.wp-block-navigation-placeholder__actions .components-dropdown,.wp-block-navigation-placeholder__actions>.components-button{margin-right:0}.wp-block-navigation-placeholder__actions.wp-block-navigation-placeholder__actions hr{background-color:#1e1e1e;border:0;height:100%;margin:auto 0;max-height:16px;min-height:1px;min-width:1px}.is-collapsed .wp-block-navigation__responsive-container:not(.is-menu-open) .components-button.wp-block-navigation__responsive-container-close{display:none}.wp-block-navigation__responsive-container.is-menu-open{position:fixed;top:155px}@media (min-width:782px){.wp-block-navigation__responsive-container.is-menu-open{left:36px;top:93px}}@media (min-width:960px){.wp-block-navigation__responsive-container.is-menu-open{left:160px}}@media (min-width:782px){.has-fixed-toolbar .wp-block-navigation__responsive-container.is-menu-open{top:141px}}.is-mobile-preview .wp-block-navigation__responsive-container.is-menu-open,.is-tablet-preview .wp-block-navigation__responsive-container.is-menu-open{top:141px}.is-sidebar-opened .wp-block-navigation__responsive-container.is-menu-open{right:280px}.is-fullscreen-mode .wp-block-navigation__responsive-container.is-menu-open{left:0;top:155px}@media (min-width:782px){.is-fullscreen-mode .wp-block-navigation__responsive-container.is-menu-open{top:61px}.is-fullscreen-mode .has-fixed-toolbar .wp-block-navigation__responsive-container.is-menu-open{top:109px}}.is-fullscreen-mode .is-mobile-preview .wp-block-navigation__responsive-container.is-menu-open,.is-fullscreen-mode .is-tablet-preview .wp-block-navigation__responsive-container.is-menu-open{top:109px}body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-open{bottom:0;left:0;right:0;top:0}.components-button.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close,.components-button.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open{color:inherit;height:auto;padding:0}.components-heading.wp-block-navigation-off-canvas-editor__title{margin:0}.wp-block-navigation-off-canvas-editor__header{margin-bottom:8px}.is-menu-open .wp-block-navigation__responsive-container-content * .block-list-appender{margin-top:16px}@keyframes fadein{0%{opacity:0}to{opacity:1}}.wp-block-navigation__loading-indicator-container{padding:8px 12px}.wp-block-navigation .wp-block-navigation__uncontrolled-inner-blocks-loading-indicator{margin-top:0}@keyframes fadeouthalf{0%{opacity:1}to{opacity:.5}}.wp-block-navigation-delete-menu-button{justify-content:center;margin-bottom:16px;width:100%}.components-button.is-link.wp-block-navigation-manage-menus-button{margin-bottom:16px}.wp-block-navigation__overlay-menu-preview{align-items:center;background-color:#f0f0f0;display:flex;height:64px;justify-content:space-between;margin-bottom:12px;padding:0 24px;width:100%}.wp-block-navigation__overlay-menu-preview.open{background-color:#fff;box-shadow:inset 0 0 0 1px #e0e0e0;outline:1px solid transparent}.wp-block-navigation-placeholder__actions hr+hr,.wp-block-navigation__toolbar-menu-selector.components-toolbar-group:empty{display:none}.wp-block-navigation__navigation-selector{margin-bottom:16px;width:100%}.wp-block-navigation__navigation-selector-button{border:1px solid;justify-content:space-between;width:100%}.wp-block-navigation__navigation-selector-button__icon{flex:0 0 auto}.wp-block-navigation__navigation-selector-button__label{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-block-navigation__navigation-selector-button--createnew{border:1px solid;margin-bottom:16px;width:100%}.wp-block-navigation__responsive-container-open.components-button{opacity:1}.wp-block-navigation__menu-inspector-controls{overflow-x:auto;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-width:thin;will-change:transform}.wp-block-navigation__menu-inspector-controls::-webkit-scrollbar{height:12px;width:12px}.wp-block-navigation__menu-inspector-controls::-webkit-scrollbar-track{background-color:transparent}.wp-block-navigation__menu-inspector-controls::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.wp-block-navigation__menu-inspector-controls:focus-within::-webkit-scrollbar-thumb,.wp-block-navigation__menu-inspector-controls:focus::-webkit-scrollbar-thumb,.wp-block-navigation__menu-inspector-controls:hover::-webkit-scrollbar-thumb{background-color:#949494}.wp-block-navigation__menu-inspector-controls:focus,.wp-block-navigation__menu-inspector-controls:focus-within,.wp-block-navigation__menu-inspector-controls:hover{scrollbar-color:#949494 transparent}@media (hover:none){.wp-block-navigation__menu-inspector-controls{scrollbar-color:#949494 transparent}}.wp-block-navigation__menu-inspector-controls__empty-message{margin-left:24px}.wp-block-navigation .block-list-appender{position:relative}.wp-block-navigation .has-child{cursor:pointer}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation .has-child:hover .wp-block-navigation__submenu-container{z-index:29}.wp-block-navigation .has-child.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation .has-child.is-selected>.wp-block-navigation__submenu-container{height:auto!important;min-width:200px!important;opacity:1!important;overflow:visible!important;visibility:visible!important;width:auto!important}.wp-block-navigation-item .wp-block-navigation-item__content{cursor:text}.wp-block-navigation-item.is-editing,.wp-block-navigation-item.is-selected{min-width:20px}.wp-block-navigation-item .block-list-appender{margin:16px auto 16px 16px}.wp-block-navigation-link__invalid-item{color:#000}.wp-block-navigation-link__placeholder{background-image:none!important;box-shadow:none!important;position:relative;text-decoration:none!important}.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:var(--wp-admin-theme-color);background-image:linear-gradient(45deg,transparent 20%,var(--wp-underline-color) 30%,var(--wp-underline-color) 36%,transparent 46%),linear-gradient(135deg,transparent 54%,var(--wp-underline-color) 64%,var(--wp-underline-color) 70%,transparent 80%);background-position:0 100%;background-repeat:repeat-x;background-size:6px 3px;padding-bottom:.1em}.is-dark-theme .wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:#fff}.wp-block-navigation-link__placeholder.wp-block-navigation-item__content{cursor:pointer}.link-control-transform{border-top:1px solid #ccc;padding:0 16px 8px}.link-control-transform__subheading{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.link-control-transform__items{display:flex;justify-content:space-between}.link-control-transform__item{flex-basis:33%;flex-direction:column;gap:8px;height:auto}.wp-block-navigation-submenu{display:block}.wp-block-navigation-submenu .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container{height:auto!important;left:-1px;min-width:200px!important;opacity:1!important;position:absolute;top:100%;visibility:visible!important;width:auto!important}@media (min-width:782px){.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:100%;top:-1px}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:transparent;content:"";display:block;height:100%;position:absolute;right:100%;width:.5em}}.block-editor-block-list__block[data-type="core/nextpage"]{margin-bottom:28px;margin-top:28px;max-width:100%;text-align:center}.wp-block-nextpage{display:block;text-align:center;white-space:nowrap}.wp-block-nextpage>span{background:#fff;border-radius:4px;color:#757575;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:600;height:24px;padding:6px 8px;position:relative;text-transform:uppercase}.wp-block-nextpage:before{border-top:3px dashed #ccc;content:"";left:0;position:absolute;right:0;top:50%}.wp-block-navigation .wp-block-page-list,.wp-block-navigation .wp-block-page-list>div{background-color:inherit}.wp-block-navigation.items-justified-space-between .wp-block-page-list,.wp-block-navigation.items-justified-space-between .wp-block-page-list>div{display:contents;flex:1}.wp-block-navigation.items-justified-space-between.has-child-selected .wp-block-page-list,.wp-block-navigation.items-justified-space-between.has-child-selected .wp-block-page-list>div,.wp-block-navigation.items-justified-space-between.is-selected .wp-block-page-list,.wp-block-navigation.items-justified-space-between.is-selected .wp-block-page-list>div{flex:inherit}.wp-block-navigation .wp-block-navigation__submenu-container>.wp-block-page-list{display:block}.wp-block-pages-list__item__link{pointer-events:none}@media (min-width:600px){.wp-block-page-list-modal{max-width:480px}}.wp-block-page-list-modal-buttons{display:flex;gap:12px;justify-content:flex-end}.wp-block-page-list .open-on-click:focus-within>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;visibility:visible;width:auto}.wp-block-page-list__loading-indicator-container{padding:8px 12px}.block-editor-block-list__block[data-type="core/paragraph"].has-drop-cap:focus{min-height:auto!important}.block-editor-block-list__block[data-empty=true] [data-rich-text-placeholder]{opacity:1}.block-editor-block-list__block[data-empty=true]+.block-editor-block-list__block[data-empty=true]:not([data-custom-placeholder=true]) [data-rich-text-placeholder]{opacity:0}.block-editor-block-list__block[data-type="core/paragraph"].has-text-align-left[style*="writing-mode: vertical-lr"],.block-editor-block-list__block[data-type="core/paragraph"].has-text-align-right[style*="writing-mode: vertical-rl"]{rotate:180deg}.wp-block-post-excerpt .wp-block-post-excerpt__excerpt.is-inline{display:inline}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{font-style:normal;text-transform:none}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit}.wp-block-rss li a>div{display:inline}.wp-block-rss__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.wp-block-rss__placeholder-form>*{margin-bottom:0}}.wp-block-rss__placeholder-form .wp-block-rss__placeholder-input{flex:1;min-width:80%}.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{align-items:center;border-radius:initial;display:flex;height:auto;justify-content:center;text-align:center}.wp-block-search__components-button-group{margin-top:10px}.block-editor-block-list__block[data-type="core/separator"]{padding-bottom:.1px;padding-top:.1px}.block-editor-block-list__block[data-type="core/separator"].wp-block-separator.is-style-dots{background:none!important;border:none}[data-type="core/shortcode"].components-placeholder{min-height:0}.blocks-shortcode__textarea{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important;resize:none}@media (min-width:600px){.blocks-shortcode__textarea{font-size:13px!important}}.blocks-shortcode__textarea:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid transparent!important}.wp-block-site-logo.aligncenter>div,.wp-block[data-align=center]>.wp-block-site-logo{display:table;margin-left:auto;margin-right:auto}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo .custom-logo-link{cursor:inherit}.wp-block-site-logo .custom-logo-link:focus{box-shadow:none}.wp-block-site-logo .custom-logo-link.is-transient img{opacity:.3}.wp-block-site-logo img{display:block;height:auto;max-width:100%}.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder{height:60px;width:60px}.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container,.wp-block-site-logo.wp-block-site-logo>div{border-radius:inherit}.wp-block-site-logo.wp-block-site-logo .components-placeholder{align-items:center;border-radius:inherit;display:flex;height:100%;justify-content:center;min-height:48px;min-width:48px;padding:0;width:100%}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text,.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-form-file-upload{display:none}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;padding:0;position:relative;width:48px}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button>svg{color:inherit}.block-library-site-logo__inspector-upload-container{position:relative}.block-library-site-logo__inspector-upload-container .components-drop-zone__content-icon{display:none}.block-library-site-logo__inspector-media-replace-container button.components-button,.block-library-site-logo__inspector-upload-container button.components-button{box-shadow:inset 0 0 0 1px #ccc;color:#1e1e1e;display:block;height:40px;width:100%}.block-library-site-logo__inspector-media-replace-container button.components-button:hover,.block-library-site-logo__inspector-upload-container button.components-button:hover{color:var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container button.components-button:focus,.block-library-site-logo__inspector-upload-container button.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-media-replace-title,.block-library-site-logo__inspector-upload-container .block-library-site-logo__inspector-media-replace-title{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-library-site-logo__inspector-media-replace-container .components-dropdown{display:block}.block-library-site-logo__inspector-media-replace-container img{aspect-ratio:1;border-radius:50%!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);min-width:20px;width:20px}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-readonly-logo-preview{display:flex;height:40px;padding:6px 12px}.wp-block-site-tagline__placeholder,.wp-block-site-title__placeholder{border:1px dashed;padding:1em 0}.editor-styles-wrapper .wp-block-site-title a{color:inherit}.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{color:currentColor;font-size:inherit;height:auto;line-height:0;opacity:1;padding:.25em}.wp-block-social-links.is-style-pill-shape .wp-social-link button{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links.is-style-logos-only .wp-social-link button{padding:0}.wp-block-social-links div.block-editor-url-input{display:inline-block;margin-left:8px}.wp-block-social-links.wp-block-social-links{background:none}.wp-social-link:hover{transform:none}.editor-styles-wrapper .wp-block-social-links{padding:0}.wp-block-social-links__social-placeholder{display:flex;list-style:none;opacity:.8}.wp-block-social-links__social-placeholder>.wp-social-link{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;visibility:hidden;width:0!important}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder .wp-social-link{padding:.25em}.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link{padding-left:.66667em;padding-right:.66667em}.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link{padding:0}.wp-block-social-links__social-placeholder .wp-social-link:before{border-radius:50%;content:"";display:block;height:1em;width:1em}.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link:before{background:currentColor}.wp-block-social-links .wp-block-social-links__social-prompt{cursor:default;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;list-style:none;margin-bottom:auto;margin-top:auto;min-height:24px;order:2;padding-right:8px}.wp-block.wp-block-social-links.aligncenter,.wp-block[data-align=center]>.wp-block-social-links{justify-content:center}.block-editor-block-preview__content .components-button:disabled{opacity:1}.wp-social-link.wp-social-link__is-incomplete{opacity:.5}@media (prefers-reduced-motion:reduce){.wp-social-link.wp-social-link__is-incomplete{transition-delay:0s;transition-duration:0s}}.wp-block-social-links .is-selected .wp-social-link__is-incomplete,.wp-social-link.wp-social-link__is-incomplete:focus,.wp-social-link.wp-social-link__is-incomplete:hover{opacity:1}.block-editor-block-list__block[data-type="core/spacer"]:before{content:"";display:block;height:100%;min-height:8px;min-width:8px;position:absolute;width:100%;z-index:1}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container,.wp-block-spacer.is-selected.custom-sizes-disabled{background:rgba(0,0,0,.1)}.is-dark-theme .block-library-spacer__resize-container.has-show-handle,.is-dark-theme .wp-block-spacer.is-hovered .block-library-spacer__resize-container,.is-dark-theme .wp-block-spacer.is-selected.custom-sizes-disabled{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.block-library-spacer__resize-container:not(.is-resizing){height:100%!important;width:100%!important}.block-library-spacer__resize-container .components-resizable-box__handle:before{content:none}.block-library-spacer__resize-container.resize-horizontal{margin-bottom:0}.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column;gap:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}}.blocks-table__placeholder-input{width:112px}.block-editor-template-part__selection-modal{z-index:1000001}.block-editor-template-part__selection-modal .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:1280px){.block-editor-template-part__selection-modal .block-editor-block-patterns-list{column-count:3}}.block-editor-template-part__selection-modal .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.block-library-template-part__selection-search{background:#fff;padding:16px 0;position:sticky;top:0;z-index:2}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-highlighted,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-selected{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after,.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-dark-theme .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after,.is-dark-theme .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.wp-block-text-columns .block-editor-rich-text__editable:focus{outline:1px solid #ddd}.wp-block-video.wp-block-video.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e}.wp-block-video.wp-block-video.is-selected .components-placeholder>svg{opacity:0}.wp-block-video.wp-block-video.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-video.wp-block-video.is-selected .components-placeholder:before{opacity:0}.wp-block-video.wp-block-video .components-button,.wp-block-video.wp-block-video .components-placeholder__instructions,.wp-block-video.wp-block-video .components-placeholder__label{transition:none}.wp-block[data-align=center]>.wp-block-video{text-align:center}.wp-block-video{position:relative}.wp-block-video.is-transient video{opacity:.3}.wp-block-video .components-spinner{left:50%;margin-left:-9px;margin-top:-9px;position:absolute;top:50%}.editor-video-poster-control .components-base-control__label{display:block}.editor-video-poster-control .components-button{margin-right:8px}.block-library-video-tracks-editor{z-index:159990}.block-library-video-tracks-editor__track-list-track{padding-left:12px}.block-library-video-tracks-editor__single-track-editor-kind-select{max-width:240px}.block-library-video-tracks-editor__single-track-editor-edit-track-label{color:#757575;display:block;font-size:11px;font-weight:500;margin-top:4px;text-transform:uppercase}.block-library-video-tracks-editor>.components-popover__content{padding:0;width:360px}.block-library-video-tracks-editor__add-tracks-container .components-menu-group__label,.block-library-video-tracks-editor__track-list .components-menu-group__label{padding:0}.block-library-video-tracks-editor__add-tracks-container,.block-library-video-tracks-editor__single-track-editor,.block-library-video-tracks-editor__track-list{padding:12px}.editor-styles-wrapper ul.wp-block-post-template{list-style:none;margin-left:0;padding-left:0}.block-library-query-toolbar__popover .components-popover__content{min-width:230px}.wp-block-query__create-new-link{padding:0 16px 16px 52px}.block-library-query__pattern-selection-content .block-editor-block-patterns-list{grid-gap:8px;display:grid;grid-template-columns:1fr 1fr 1fr}.block-library-query__pattern-selection-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{margin-bottom:0}.block-library-query__pattern-selection-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__container{max-height:250px}.block-library-query-pattern__selection-modal .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:1280px){.block-library-query-pattern__selection-modal .block-editor-block-patterns-list{column-count:3}}.block-library-query-pattern__selection-modal .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.block-library-query-pattern__selection-modal .block-library-query-pattern__selection-search{background:#fff;margin-bottom:2px;padding:16px 0;position:sticky;top:0;z-index:2}.block-library-query-toolspanel__filters .components-form-token-field__help{margin-bottom:0}.block-library-query-toolspanel__filters .block-library-query-inspector__taxonomy-control:not(:last-child){margin-bottom:24px}@media (min-width:600px){.wp-block-query__enhanced-pagination-modal{max-width:480px}}.wp-block-query__enhanced-pagination-notice{margin:0}.wp-block[data-align=center]>.wp-block-query-pagination{justify-content:center}.editor-styles-wrapper .wp-block-query-pagination{max-width:100%}.editor-styles-wrapper .wp-block-query-pagination.block-editor-block-list__layout{margin:0}.wp-block-query-pagination>.wp-block-query-pagination-next,.wp-block-query-pagination>.wp-block-query-pagination-numbers,.wp-block-query-pagination>.wp-block-query-pagination-previous{margin:.5em .5em .5em 0}.wp-block-query-pagination>.wp-block-query-pagination-next:last-child,.wp-block-query-pagination>.wp-block-query-pagination-numbers:last-child,.wp-block-query-pagination>.wp-block-query-pagination-previous:last-child{margin-right:0}.wp-block-query-pagination-numbers a{text-decoration:underline}.wp-block-query-pagination-numbers .page-numbers{margin-right:2px}.wp-block-query-pagination-numbers .page-numbers:last-child{margin-right:0}.wp-block-post-featured-image .block-editor-media-placeholder{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1}.wp-block-post-featured-image .components-placeholder,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder{align-items:center;display:flex;justify-content:center;min-height:200px;padding:0}.wp-block-post-featured-image .components-placeholder .components-form-file-upload,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-form-file-upload{display:none}.wp-block-post-featured-image .components-placeholder .components-button,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;padding:0;position:relative;width:48px}.wp-block-post-featured-image .components-placeholder .components-button>svg,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button>svg{color:inherit}.wp-block-post-featured-image .components-placeholder:where(.has-border-color),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where(.has-border-color),.wp-block-post-featured-image img:where(.has-border-color){border-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-top-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-color]),.wp-block-post-featured-image img:where([style*=border-top-color]){border-top-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-right-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-color]),.wp-block-post-featured-image img:where([style*=border-right-color]){border-right-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image img:where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-left-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-color]),.wp-block-post-featured-image img:where([style*=border-left-color]){border-left-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-width]),.wp-block-post-featured-image img:where([style*=border-width]){border-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-top-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-width]),.wp-block-post-featured-image img:where([style*=border-top-width]){border-top-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-right-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-width]),.wp-block-post-featured-image img:where([style*=border-right-width]){border-right-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image img:where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-left-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-width]),.wp-block-post-featured-image img:where([style*=border-left-width]){border-left-style:solid}.wp-block-post-featured-image[style*=height] .components-placeholder{height:100%;min-height:48px;min-width:48px;width:100%}.wp-block-post-featured-image>a{cursor:default}.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-button,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__instructions,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__label{opacity:1;pointer-events:auto}div[data-type="core/post-featured-image"] img{display:block;height:auto;max-width:100%}.wp-block-post-comments-form *{pointer-events:none}.wp-block-post-comments-form .block-editor-warning *{pointer-events:auto}.wp-element-button{cursor:revert}.wp-element-button[role=textbox]{cursor:text}:root .editor-styles-wrapper .has-very-light-gray-background-color{background-color:#eee}:root .editor-styles-wrapper .has-very-dark-gray-background-color{background-color:#313131}:root .editor-styles-wrapper .has-very-light-gray-color{color:#eee}:root .editor-styles-wrapper .has-very-dark-gray-color{color:#313131}:root .editor-styles-wrapper .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .editor-styles-wrapper .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .editor-styles-wrapper .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .editor-styles-wrapper .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .editor-styles-wrapper .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .editor-styles-wrapper .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .editor-styles-wrapper .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:where(.editor-styles-wrapper){--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}:where(.editor-styles-wrapper) .has-regular-font-size{font-size:16px}:where(.editor-styles-wrapper) .has-larger-font-size{font-size:42px}:where(.editor-styles-wrapper) .has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}:where(.editor-styles-wrapper) .has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:where(.editor-styles-wrapper) iframe:not([frameborder]){border:0} \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/style-rtl.css b/wp-includes/css/dist/block-library/style-rtl.css index 3f52a5243e..8edd9b44e0 100644 --- a/wp-includes/css/dist/block-library/style-rtl.css +++ b/wp-includes/css/dist/block-library/style-rtl.css @@ -96,16 +96,16 @@ border-radius:0 !important; } -.wp-block-button .wp-block-button__link.is-style-outline,.wp-block-button.is-style-outline>.wp-block-button__link{ +.wp-block-button .wp-block-button__link:where(.is-style-outline),.wp-block-button:where(.is-style-outline)>.wp-block-button__link{ border:2px solid; padding:.667em 1.333em; } -.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color){ +.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color){ color:currentColor; } -.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background){ +.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background){ background-color:transparent; background-image:none; } @@ -482,8 +482,7 @@ display:flex; justify-content:center; min-height:430px; - overflow:hidden; - overflow:clip; + overflow-x:clip; padding:1em; position:relative; } @@ -828,6 +827,47 @@ text-decoration:none; } +.wp-block-form-input__label{ + display:flex; + flex-direction:column; + gap:.25em; + margin-bottom:.5em; + width:100%; +} +.wp-block-form-input__label.is-label-inline{ + align-items:center; + flex-direction:row; + gap:.5em; +} +.wp-block-form-input__label.is-label-inline .wp-block-form-input__label-content{ + margin-bottom:.5em; +} +.wp-block-form-input__label:has(input[type=checkbox]){ + flex-direction:row-reverse; + width:-moz-fit-content; + width:fit-content; +} + +.wp-block-form-input__label-content{ + width:-moz-fit-content; + width:fit-content; +} + +.wp-block-form-input__input{ + font-size:1em; + margin-bottom:.5em; + padding:0 .5em; +} +.wp-block-form-input__input[type=date],.wp-block-form-input__input[type=datetime-local],.wp-block-form-input__input[type=datetime],.wp-block-form-input__input[type=email],.wp-block-form-input__input[type=month],.wp-block-form-input__input[type=number],.wp-block-form-input__input[type=password],.wp-block-form-input__input[type=search],.wp-block-form-input__input[type=tel],.wp-block-form-input__input[type=text],.wp-block-form-input__input[type=time],.wp-block-form-input__input[type=url],.wp-block-form-input__input[type=week]{ + border:1px solid; + line-height:2; + min-height:2em; +} + +textarea.wp-block-form-input__input{ + min-height:10em; +} + .blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){ display:flex; flex-wrap:wrap; @@ -975,8 +1015,36 @@ figure.wp-block-gallery.has-nested-images{ padding:0 8px 8px; position:absolute; right:0; + scrollbar-color:transparent transparent; + scrollbar-gutter:stable both-edges; + scrollbar-width:thin; text-align:center; width:100%; + will-change:transform; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar{ + height:12px; + width:12px; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track{ + background-color:transparent; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb{ + background-clip:padding-box; + background-color:transparent; + border:3px solid transparent; + border-radius:8px; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb{ + background-color:hsla(0,0%,100%,.8); +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover{ + scrollbar-color:hsla(0,0%,100%,.8) transparent; +} +@media (hover:none){ + .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{ + scrollbar-color:hsla(0,0%,100%,.8) transparent; + } } .wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{ display:inline; @@ -1222,7 +1290,7 @@ h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-t right:0; top:0; visibility:hidden; - width:100vw; + width:100%; z-index:100000; } .wp-lightbox-overlay .close-button{ @@ -1352,7 +1420,7 @@ h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-t } @keyframes lightbox-zoom-in{ 0%{ - transform:translate(calc((-50vw + var(--wp--lightbox-initial-left-position))*-1), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); + transform:translate(calc(((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position))*-1), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); } to{ transform:translate(50%, -50%) scale(1); @@ -1367,7 +1435,7 @@ h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-t visibility:visible; } to{ - transform:translate(calc((-50vw + var(--wp--lightbox-initial-left-position))*-1), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); + transform:translate(calc(((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position))*-1), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); visibility:hidden; } } @@ -1814,11 +1882,16 @@ button.wp-block-navigation-item__content{ .wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle{ padding-left:.85em; + padding-right:0; } .wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle+.wp-block-navigation__submenu-icon{ margin-right:-.6em; pointer-events:none; } + +.wp-block-navigation-item.open-on-click button.wp-block-navigation-item__content:not(.wp-block-navigation-submenu__toggle){ + padding:0; +} .wp-block-navigation .wp-block-page-list,.wp-block-navigation__container,.wp-block-navigation__responsive-close,.wp-block-navigation__responsive-container,.wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-dialog{ gap:inherit; } @@ -1970,20 +2043,18 @@ button.wp-block-navigation-item__content{ left:auto; right:auto; } -@media (min-width:600px){ - .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){ - background-color:inherit; - display:block; - position:relative; - width:100%; - z-index:auto; - } - .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close{ - display:none; - } - .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{ - right:0; - } +:not(.is-collapsed)>.wp-block-navigation__responsive-container:not(.is-menu-open){ + background-color:inherit; + display:block; + position:relative; + width:100%; + z-index:auto; +} +:not(.is-collapsed)>.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close{ + display:none; +} +:not(.is-collapsed)>.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{ + right:0; } .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{ @@ -2025,10 +2096,8 @@ button.wp-block-navigation-item__content{ font-size:inherit; font-weight:inherit; } -@media (min-width:600px){ - .wp-block-navigation__responsive-container-open:not(.always-shown){ - display:none; - } +:not(.is-collapsed)>.wp-block-navigation__responsive-container-open{ + display:none; } .wp-block-navigation__responsive-container-close{ @@ -2365,12 +2434,21 @@ p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[ .wp-block-pullquote{ box-sizing:border-box; overflow-wrap:break-word; - padding:3em 0; + padding:4em 0; text-align:center; } .wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{ color:inherit; } +.wp-block-pullquote blockquote{ + margin:0; +} +.wp-block-pullquote p{ + margin-top:0; +} +.wp-block-pullquote p:last-child{ + margin-bottom:0; +} .wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{ max-width:420px; } @@ -2459,26 +2537,20 @@ p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[ } } .wp-block-post-template-is-layout-constrained>li>.alignright,.wp-block-post-template-is-layout-flow>li>.alignright{ - -webkit-margin-start:2em; - -webkit-margin-end:0; float:left; - margin-inline-end:0; - margin-inline-start:2em; + margin-inline-end:0; + margin-inline-start:2em; } .wp-block-post-template-is-layout-constrained>li>.alignleft,.wp-block-post-template-is-layout-flow>li>.alignleft{ - -webkit-margin-start:0; - -webkit-margin-end:2em; float:right; - margin-inline-end:2em; - margin-inline-start:0; + margin-inline-end:2em; + margin-inline-start:0; } .wp-block-post-template-is-layout-constrained>li>.aligncenter,.wp-block-post-template-is-layout-flow>li>.aligncenter{ - -webkit-margin-start:auto; - -webkit-margin-end:auto; - margin-inline-end:auto; - margin-inline-start:auto; + margin-inline-end:auto; + margin-inline-start:auto; } .wp-block-query-pagination>.wp-block-query-pagination-next,.wp-block-query-pagination>.wp-block-query-pagination-numbers,.wp-block-query-pagination>.wp-block-query-pagination-previous{ @@ -2489,12 +2561,10 @@ p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[ margin-right:0; } .wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-next:last-of-type{ - -webkit-margin-start:auto; - margin-inline-start:auto; + margin-inline-start:auto; } .wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-previous:first-child{ - -webkit-margin-end:auto; - margin-inline-end:auto; + margin-inline-end:auto; } .wp-block-query-pagination .wp-block-query-pagination-previous-arrow{ display:inline-block; @@ -2534,13 +2604,19 @@ p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[ font-size:1.125em; text-align:left; } +.wp-block-quote>cite{ + display:block; +} .wp-block-read-more{ display:block; width:-moz-fit-content; width:fit-content; } -.wp-block-read-more:not([style*=text-decoration]),.wp-block-read-more:not([style*=text-decoration]):active,.wp-block-read-more:not([style*=text-decoration]):focus{ +.wp-block-read-more:where(:not([style*=text-decoration])){ + text-decoration:none; +} +.wp-block-read-more:where(:not([style*=text-decoration])):active,.wp-block-read-more:where(:not([style*=text-decoration])):focus{ text-decoration:none; } @@ -2635,8 +2711,33 @@ ul.wp-block-rss.is-grid li{ .wp-block-search.wp-block-search__button-only .wp-block-search__button{ flex-shrink:0; margin-right:0; + max-width:100%; +} +.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{ max-width:calc(100% - 100px); } +.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{ + min-width:0 !important; + transition-property:width; +} +.wp-block-search.wp-block-search__button-only .wp-block-search__input{ + flex-basis:100%; + transition-duration:.3s; +} +.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{ + overflow:hidden; +} +.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{ + border-left-width:0 !important; + border-right-width:0 !important; + flex-basis:0; + flex-grow:0; + margin:0; + min-width:0 !important; + padding-left:0 !important; + padding-right:0 !important; + width:0 !important; +} :where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){ border:1px solid #949494; @@ -2659,30 +2760,7 @@ ul.wp-block-rss.is-grid li{ margin:auto; } -.wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{ - min-width:0 !important; - transition-property:width; -} -.wp-block-search__button-behavior-expand .wp-block-search__input{ - flex-basis:100%; - transition-duration:.3s; -} -.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{ - overflow:hidden; -} -.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__input{ - border-left-width:0 !important; - border-right-width:0 !important; - flex-basis:0; - flex-grow:0; - margin:0; - min-width:0 !important; - padding-left:0 !important; - padding-right:0 !important; - width:0 !important; -} - -.wp-block[data-align=right] .wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{ +.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{ float:left; } @@ -2806,7 +2884,12 @@ ul.wp-block-rss.is-grid li{ transform:scale(1.1); } -.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{ +.wp-block-social-links .wp-block-social-link.wp-social-link{ + display:inline-block; + margin:0; + padding:0; +} +.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{ fill:currentColor; color:currentColor; } @@ -2875,6 +2958,10 @@ ul.wp-block-rss.is-grid li{ background-color:#ea4434; color:#fff; } +.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar{ + background-color:#1d4fc4; + color:#fff; +} .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{ background-color:#f00075; color:#fff; @@ -3036,6 +3123,9 @@ ul.wp-block-rss.is-grid li{ .wp-block-social-links.is-style-logos-only .wp-social-link-google{ color:#ea4434; } +.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar{ + color:#1d4fc4; +} .wp-block-social-links.is-style-logos-only .wp-social-link-instagram{ color:#f00075; } diff --git a/wp-includes/css/dist/block-library/style-rtl.min.css b/wp-includes/css/dist/block-library/style-rtl.min.css index a6722c64f6..aca3b6baa9 100644 --- a/wp-includes/css/dist/block-library/style-rtl.min.css +++ b/wp-includes/css/dist/block-library/style-rtl.min.css @@ -1 +1 @@ -@charset "UTF-8";.wp-block-archives{box-sizing:border-box}.wp-block-archives-dropdown label{display:block}.wp-block-avatar{line-height:0}.wp-block-avatar,.wp-block-avatar img{box-sizing:border-box}.wp-block-avatar.aligncenter{text-align:center}.wp-block-audio{box-sizing:border-box}.wp-block-audio figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-audio audio{min-width:300px;width:100%}.wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}.wp-block-button .wp-block-button__link.is-style-outline,.wp-block-button.is-style-outline>.wp-block-button__link{border:2px solid;padding:.667em 1.333em}.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color){color:currentColor}.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background){background-color:transparent;background-image:none}.wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-right-width:medium}.wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter,.wp-block-calendar{text-align:center}.wp-block-calendar td,.wp-block-calendar th{border:1px solid;padding:.25em}.wp-block-calendar th{font-weight:400}.wp-block-calendar caption{background-color:inherit}.wp-block-calendar table{border-collapse:collapse;width:100%}.wp-block-calendar table:where(:not(.has-text-color)){color:#40464d}.wp-block-calendar table:where(:not(.has-text-color)) td,.wp-block-calendar table:where(:not(.has-text-color)) th{border-color:#ddd}.wp-block-calendar table.has-background th{background-color:inherit}.wp-block-calendar table.has-text-color th{color:inherit}:where(.wp-block-calendar table:not(.has-background) th){background:#ddd}.wp-block-categories{box-sizing:border-box}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-categories.wp-block-categories-dropdown.aligncenter{text-align:center}.wp-block-code{box-sizing:border-box}.wp-block-code code{display:block;font-family:inherit;overflow-wrap:break-word;white-space:pre-wrap}.wp-block-columns{align-items:normal!important;box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}.wp-block-post-comments{box-sizing:border-box}.wp-block-post-comments .alignleft{float:right}.wp-block-post-comments .alignright{float:left}.wp-block-post-comments .navigation:after{clear:both;content:"";display:table}.wp-block-post-comments .commentlist{clear:both;list-style:none;margin:0;padding:0}.wp-block-post-comments .commentlist .comment{min-height:2.25em;padding-right:3.25em}.wp-block-post-comments .commentlist .comment p{font-size:1em;line-height:1.8;margin:1em 0}.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-post-comments .comment-author{line-height:1.5}.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:right;height:2.5em;margin-left:.75em;margin-top:.5em;width:2.5em}.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-post-comments .comment-meta{font-size:.875em;line-height:1.5}.wp-block-post-comments .comment-meta b{font-weight:400}.wp-block-post-comments .comment-meta .comment-awaiting-moderation{display:block;margin-bottom:1em;margin-top:1em}.wp-block-post-comments .comment-body .commentmetadata{font-size:.875em}.wp-block-post-comments .comment-form-author label,.wp-block-post-comments .comment-form-comment label,.wp-block-post-comments .comment-form-email label,.wp-block-post-comments .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments .comment-reply-title{margin-bottom:0}.wp-block-post-comments .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-right:.5em}.wp-block-post-comments .reply{font-size:.875em;margin-bottom:1.4em}.wp-block-post-comments input:not([type=submit]),.wp-block-post-comments textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-post-comments input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments textarea{padding:calc(.667em + 2px)}:where(.wp-block-post-comments input[type=submit]){border:none}.wp-block-comments-pagination>.wp-block-comments-pagination-next,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers,.wp-block-comments-pagination>.wp-block-comments-pagination-previous{margin-bottom:.5em;margin-right:.5em}.wp-block-comments-pagination>.wp-block-comments-pagination-next:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-previous:last-child{margin-right:0}.wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow{display:inline-block;margin-left:1ch}.wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow:not(.is-arrow-chevron){transform:scaleX(-1)}.wp-block-comments-pagination .wp-block-comments-pagination-next-arrow{display:inline-block;margin-right:1ch}.wp-block-comments-pagination .wp-block-comments-pagination-next-arrow:not(.is-arrow-chevron){transform:scaleX(-1)}.wp-block-comments-pagination.aligncenter{justify-content:center}.wp-block-comment-template{box-sizing:border-box;list-style:none;margin-bottom:0;max-width:100%;padding:0}.wp-block-comment-template li{clear:both}.wp-block-comment-template ol{list-style:none;margin-bottom:0;max-width:100%;padding-right:2rem}.wp-block-comment-template.alignleft{float:right}.wp-block-comment-template.aligncenter{margin-left:auto;margin-right:auto;width:-moz-fit-content;width:fit-content}.wp-block-comment-template.alignright{float:left}.wp-block-cover,.wp-block-cover-image{align-items:center;background-position:50%;box-sizing:border-box;direction:ltr;display:flex;justify-content:center;min-height:430px;overflow:hidden;overflow:clip;padding:1em;position:relative}.wp-block-cover .has-background-dim:not([class*=-background-color]),.wp-block-cover-image .has-background-dim:not([class*=-background-color]),.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{background-color:transparent}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{background-color:inherit;content:""}.wp-block-cover .wp-block-cover__background,.wp-block-cover .wp-block-cover__gradient-background,.wp-block-cover-image .wp-block-cover__background,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover.has-background-dim:not(.has-background-gradient):before{bottom:0;left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:420px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{content:"";display:block;font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover-image .wp-block-cover__inner-container{color:inherit;direction:rtl;width:100%;z-index:1}.wp-block-cover h1:where(:not(.has-text-color)),.wp-block-cover h2:where(:not(.has-text-color)),.wp-block-cover h3:where(:not(.has-text-color)),.wp-block-cover h4:where(:not(.has-text-color)),.wp-block-cover h5:where(:not(.has-text-color)),.wp-block-cover h6:where(:not(.has-text-color)),.wp-block-cover p:where(:not(.has-text-color)),.wp-block-cover-image h1:where(:not(.has-text-color)),.wp-block-cover-image h2:where(:not(.has-text-color)),.wp-block-cover-image h3:where(:not(.has-text-color)),.wp-block-cover-image h4:where(:not(.has-text-color)),.wp-block-cover-image h5:where(:not(.has-text-color)),.wp-block-cover-image h6:where(:not(.has-text-color)),.wp-block-cover-image p:where(:not(.has-text-color)){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0}.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover .wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background,.wp-block-cover-image .wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background{border:none;bottom:0;box-shadow:none;height:100%;left:0;margin:0;max-height:none;max-width:none;object-fit:cover;outline:none;padding:0;position:absolute;right:0;top:0;width:100%}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:fixed;background-repeat:no-repeat;background-size:cover}@supports (-webkit-touch-callout:inherit){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated,.wp-block-cover__image-background.is-repeated,video.wp-block-cover__video-background.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover__image-background,.wp-block-cover__video-background{z-index:0}.wp-block-cover-image-text,.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-right:0;text-align:right}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-left:0;text-align:left}.wp-block-cover .wp-block-cover-text,.wp-block-cover-image .wp-block-cover-image-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;margin-bottom:0;max-width:840px;padding:.44em;text-align:center;z-index:1}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000}.wp-block-details{box-sizing:border-box;overflow:hidden}.wp-block-details summary{cursor:pointer}.wp-block-embed.alignleft,.wp-block-embed.alignright,.wp-block[data-align=left]>[data-type="core/embed"],.wp-block[data-align=right]>[data-type="core/embed"]{max-width:360px;width:100%}.wp-block-embed.alignleft .wp-block-embed__wrapper,.wp-block-embed.alignright .wp-block-embed__wrapper,.wp-block[data-align=left]>[data-type="core/embed"] .wp-block-embed__wrapper,.wp-block[data-align=right]>[data-type="core/embed"] .wp-block-embed__wrapper{min-width:280px}.wp-block-cover .wp-block-embed{min-height:240px;min-width:320px}.wp-block-embed{overflow-wrap:break-word}.wp-block-embed figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-embed iframe{max-width:100%}.wp-block-embed__wrapper{position:relative}.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before{content:"";display:block;padding-top:50%}.wp-embed-responsive .wp-has-aspect-ratio iframe{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{padding-top:42.85%}.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before{padding-top:50%}.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before{padding-top:56.25%}.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before{padding-top:75%}.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before{padding-top:100%}.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before{padding-top:177.77%}.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before{padding-top:200%}.wp-block-file{box-sizing:border-box}.wp-block-file:not(.wp-element-button){font-size:.8em}.wp-block-file.aligncenter{text-align:center}.wp-block-file.alignright{text-align:right}.wp-block-file *+.wp-block-file__button{margin-right:.75em}:where(.wp-block-file){margin-bottom:1.5em}.wp-block-file__embed{margin-bottom:1em}:where(.wp-block-file__button){border-radius:2em;display:inline-block;padding:.5em 1em}:where(.wp-block-file__button):is(a):active,:where(.wp-block-file__button):is(a):focus,:where(.wp-block-file__button):is(a):hover,:where(.wp-block-file__button):is(a):visited{box-shadow:none;color:#fff;opacity:.85;text-decoration:none}.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 0 1em 1em;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n){margin-left:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure{align-items:flex-end;display:flex;height:100%;justify-content:flex-start;margin:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img{display:block;height:auto;max-width:100%;width:auto}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption{flex-grow:1}.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img{flex:1;height:100%;object-fit:cover;width:100%}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item{margin-left:0;width:100%}@media (min-width:600px){.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item{margin-left:1em;width:calc(33.33333% - .66667em)}.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item{margin-left:1em;width:calc(25% - .75em)}.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item{margin-left:1em;width:calc(20% - .8em)}.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item{margin-left:1em;width:calc(16.66667% - .83333em)}.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item{margin-left:1em;width:calc(14.28571% - .85714em)}.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item{margin-left:1em;width:calc(12.5% - .875em)}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n){margin-left:0}}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child{margin-left:0}.blocks-gallery-grid:not(.has-nested-images).alignleft,.blocks-gallery-grid:not(.has-nested-images).alignright,.wp-block-gallery:not(.has-nested-images).alignleft,.wp-block-gallery:not(.has-nested-images).alignright{max-width:420px;width:100%}.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}figure.wp-block-gallery.has-nested-images{align-items:normal}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image{box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{flex-direction:column;flex-grow:1;margin:0}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%!important;width:auto}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:13px;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;right:0;text-align:center;width:100%}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a{color:inherit}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div{flex:1 1 auto}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption{background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-basis:100%;flex-grow:1;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-bottom:auto;margin-top:0}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){align-self:inherit}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone){display:flex}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{flex:1 0 0%;height:100%;object-fit:cover;width:100%}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){width:calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*.8)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){width:calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*.83333)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){width:calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*.85714)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){width:calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*.875)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image){width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child{width:100%}}.wp-block-gallery.has-nested-images.alignleft,.wp-block-gallery.has-nested-images.alignright{max-width:420px;width:100%}.wp-block-gallery.has-nested-images.aligncenter{justify-content:center}.wp-block-group{box-sizing:border-box}h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-left-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-right-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-left-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-right-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;left:16px;opacity:0;padding:0;position:absolute;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;overflow:hidden;position:fixed;right:0;top:0;visibility:hidden;width:100vw;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;left:calc(env(safe-area-inset-left) + 16px);min-height:40px;min-width:40px;padding:0;position:absolute;top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);overflow:hidden;position:absolute;right:50%;top:50%;transform:translate(50%,-50%);transform-origin:top right;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:100% 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active){animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-50vw + var(--wp--lightbox-initial-left-position))*-1),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-50vw + var(--wp--lightbox-initial-left-position))*-1),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}ol.wp-block-latest-comments{box-sizing:border-box;margin-right:0}:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment)){line-height:1.1}:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment-excerpt p)){line-height:1.8}.has-dates :where(.wp-block-latest-comments:not([style*=line-height])),.has-excerpts :where(.wp-block-latest-comments:not([style*=line-height])){line-height:1.5}.wp-block-latest-comments .wp-block-latest-comments{padding-right:0}.wp-block-latest-comments__comment{list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{list-style:none;min-height:2.25em}.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta{margin-right:3.25em}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;margin:.36em 0 1.4em}.wp-block-latest-comments__comment-date{display:block;font-size:.75em}.wp-block-latest-comments .avatar,.wp-block-latest-comments__comment-avatar{border-radius:1.5em;display:block;float:right;height:2.5em;margin-left:.75em;width:2.5em}.wp-block-latest-comments[class*=-font-size] a,.wp-block-latest-comments[style*=font-size] a{font-size:inherit}.wp-block-latest-posts{box-sizing:border-box}.wp-block-latest-posts.alignleft{margin-right:2em}.wp-block-latest-posts.alignright{margin-left:2em}.wp-block-latest-posts.wp-block-latest-posts__list{list-style:none;padding-right:0}.wp-block-latest-posts.wp-block-latest-posts__list li{clear:both}.wp-block-latest-posts.is-grid{display:flex;flex-wrap:wrap;padding:0}.wp-block-latest-posts.is-grid li{margin:0 0 1.25em 1.25em;width:100%}@media (min-width:600px){.wp-block-latest-posts.columns-2 li{width:calc(50% - .625em)}.wp-block-latest-posts.columns-2 li:nth-child(2n){margin-left:0}.wp-block-latest-posts.columns-3 li{width:calc(33.33333% - .83333em)}.wp-block-latest-posts.columns-3 li:nth-child(3n){margin-left:0}.wp-block-latest-posts.columns-4 li{width:calc(25% - .9375em)}.wp-block-latest-posts.columns-4 li:nth-child(4n){margin-left:0}.wp-block-latest-posts.columns-5 li{width:calc(20% - 1em)}.wp-block-latest-posts.columns-5 li:nth-child(5n){margin-left:0}.wp-block-latest-posts.columns-6 li{width:calc(16.66667% - 1.04167em)}.wp-block-latest-posts.columns-6 li:nth-child(6n){margin-left:0}}.wp-block-latest-posts__post-author,.wp-block-latest-posts__post-date{display:block;font-size:.8125em}.wp-block-latest-posts__post-excerpt{margin-bottom:1em;margin-top:.5em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;max-width:100%;width:auto}.wp-block-latest-posts__featured-image.alignleft{float:left;margin-right:1em}.wp-block-latest-posts__featured-image.alignright{float:right;margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}ol,ul{box-sizing:border-box}ol.has-background,ul.has-background{padding:1.25em 2.375em}.wp-block-media-text{box-sizing:border-box;direction:ltr;display:grid;grid-template-columns:50% 1fr;grid-template-rows:auto}.wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 50%}.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media{align-self:start}.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .wp-block-media-text__media,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media{align-self:center}.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media{align-self:end}.wp-block-media-text .wp-block-media-text__media{grid-column:1;grid-row:1;margin:0}.wp-block-media-text .wp-block-media-text__content{direction:rtl;grid-column:2;grid-row:1;padding:0 8%;word-break:break-word}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{grid-column:2;grid-row:1}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{grid-column:1;grid-row:1}.wp-block-media-text__media img,.wp-block-media-text__media video{height:auto;max-width:unset;vertical-align:middle;width:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media{background-size:cover;height:100%;min-height:250px}.wp-block-media-text.is-image-fill .wp-block-media-text__media>a{display:block;height:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media img{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{grid-column:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{grid-column:1;grid-row:2}}.wp-block-navigation{--navigation-layout-justification-setting:flex-start;--navigation-layout-direction:row;--navigation-layout-wrap:wrap;--navigation-layout-justify:flex-start;--navigation-layout-align:center;position:relative}.wp-block-navigation ul{margin-bottom:0;margin-right:0;margin-top:0;padding-right:0}.wp-block-navigation ul,.wp-block-navigation ul li{list-style:none;padding:0}.wp-block-navigation .wp-block-navigation-item{align-items:center;display:flex;position:relative}.wp-block-navigation .wp-block-navigation-item .wp-block-navigation__submenu-container:empty{display:none}.wp-block-navigation .wp-block-navigation-item__content{display:block}.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{color:inherit}.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content,.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:active,.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:focus{text-decoration:underline}.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content,.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:active,.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:focus{text-decoration:line-through}.wp-block-navigation:where(:not([class*=has-text-decoration])) a{text-decoration:none}.wp-block-navigation:where(:not([class*=has-text-decoration])) a:active,.wp-block-navigation:where(:not([class*=has-text-decoration])) a:focus{text-decoration:none}.wp-block-navigation .wp-block-navigation__submenu-icon{align-self:center;background-color:inherit;border:none;color:currentColor;display:inline-block;font-size:inherit;height:.6em;line-height:0;margin-right:.25em;padding:0;width:.6em}.wp-block-navigation .wp-block-navigation__submenu-icon svg{stroke:currentColor;display:inline-block;height:inherit;margin-top:.075em;width:inherit}.wp-block-navigation.is-vertical{--navigation-layout-direction:column;--navigation-layout-justify:initial;--navigation-layout-align:flex-start}.wp-block-navigation.no-wrap{--navigation-layout-wrap:nowrap}.wp-block-navigation.items-justified-center{--navigation-layout-justification-setting:center;--navigation-layout-justify:center}.wp-block-navigation.items-justified-center.is-vertical{--navigation-layout-align:center}.wp-block-navigation.items-justified-right{--navigation-layout-justification-setting:flex-end;--navigation-layout-justify:flex-end}.wp-block-navigation.items-justified-right.is-vertical{--navigation-layout-align:flex-end}.wp-block-navigation.items-justified-space-between{--navigation-layout-justification-setting:space-between;--navigation-layout-justify:space-between}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{align-items:normal;background-color:inherit;color:inherit;display:flex;flex-direction:column;height:0;opacity:0;overflow:hidden;position:absolute;right:-1px;top:100%;transition:opacity .1s linear;visibility:hidden;width:0;z-index:2}.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content{display:flex;flex-grow:1}.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content .wp-block-navigation__submenu-icon{margin-left:0;margin-right:auto}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content{margin:0}@media (min-width:782px){.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{right:100%;top:-1px}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:transparent;content:"";display:block;height:100%;left:100%;position:absolute;width:.5em}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon{margin-left:.25em}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon svg{transform:rotate(90deg)}}.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container{right:0;top:100%}@media (min-width:782px){.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{right:100%;top:0}}.wp-block-navigation-submenu{display:flex;position:relative}.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg{stroke:currentColor}button.wp-block-navigation-item__content{background-color:transparent;border:none;color:currentColor;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;text-align:right;text-transform:inherit}.wp-block-navigation-submenu__toggle{cursor:pointer}.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle{padding-left:.85em}.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle+.wp-block-navigation__submenu-icon{margin-right:-.6em;pointer-events:none}.wp-block-navigation .wp-block-page-list,.wp-block-navigation__container,.wp-block-navigation__responsive-close,.wp-block-navigation__responsive-container,.wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-dialog{gap:inherit}:where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation.has-background .wp-block-navigation-submenu a:not(.wp-element-button)){padding:.5em 1em}:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu button.wp-block-navigation-item__content),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content){padding:.5em 1em}.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container{left:0;right:auto}.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:-1px;right:-1px}@media (min-width:782px){.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:100%;right:auto}}.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container{background-color:#fff;border:1px solid rgba(0,0,0,.15)}.wp-block-navigation.has-background .wp-block-navigation__submenu-container{background-color:inherit}.wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container{color:#000}.wp-block-navigation__container{align-items:var(--navigation-layout-align,initial);display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial);list-style:none;margin:0;padding-right:0}.wp-block-navigation__container .is-responsive{display:none}.wp-block-navigation__container:only-child,.wp-block-page-list:only-child{flex-grow:1}@keyframes overlay-menu__fade-in-animation{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:translateY(0)}}.wp-block-navigation__responsive-container{bottom:0;display:none;left:0;position:fixed;right:0;top:0}.wp-block-navigation__responsive-container :where(.wp-block-navigation-item a){color:inherit}.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{align-items:var(--navigation-layout-align,initial);display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial)}.wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open){background-color:inherit!important;color:inherit!important}.wp-block-navigation__responsive-container.is-menu-open{animation:overlay-menu__fade-in-animation .1s ease-out;animation-fill-mode:forwards;background-color:inherit;display:flex;flex-direction:column;overflow:auto;padding:clamp(1rem,var(--wp--style--root--padding-top),20rem) clamp(1rem,var(--wp--style--root--padding-left),20em) clamp(1rem,var(--wp--style--root--padding-bottom),20rem) clamp(1rem,var(--wp--style--root--padding-right),20rem);z-index:100000}@media (prefers-reduced-motion:reduce){.wp-block-navigation__responsive-container.is-menu-open{animation-delay:0s;animation-duration:1ms}}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:var(--navigation-layout-justification-setting,inherit);display:flex;flex-direction:column;flex-wrap:nowrap;overflow:visible;padding-top:calc(2rem + 24px)}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list{justify-content:flex-start}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon{display:none}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container{border:none;height:auto;min-width:200px;opacity:1;overflow:initial;padding-left:2rem;padding-right:2rem;position:static;visibility:visible;width:auto}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{gap:inherit}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{padding-top:var(--wp--style--block-gap,2em)}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content{padding:0}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list{align-items:var(--navigation-layout-justification-setting,initial);display:flex;flex-direction:column}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation__submenu-container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list{background:transparent!important;color:inherit!important}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{left:auto;right:auto}@media (min-width:600px){.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){background-color:inherit;display:block;position:relative;width:100%;z-index:auto}.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close{display:none}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{right:0}}.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{background-color:#fff}.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open{color:#000}.wp-block-navigation__toggle_button_label{font-size:1rem;font-weight:700}.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{background:transparent;border:none;color:currentColor;cursor:pointer;margin:0;padding:0;text-transform:inherit;vertical-align:middle}.wp-block-navigation__responsive-container-close svg,.wp-block-navigation__responsive-container-open svg{fill:currentColor;display:block;height:24px;pointer-events:none;width:24px}.wp-block-navigation__responsive-container-open{display:flex}.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open{font-family:inherit;font-size:inherit;font-weight:inherit}@media (min-width:600px){.wp-block-navigation__responsive-container-open:not(.always-shown){display:none}}.wp-block-navigation__responsive-container-close{left:0;position:absolute;top:0;z-index:2}.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close{font-family:inherit;font-size:inherit;font-weight:inherit}.wp-block-navigation__responsive-close{width:100%}.has-modal-open .wp-block-navigation__responsive-close{margin-left:auto;margin-right:auto;max-width:var(--wp--style--global--wide-size,100%)}.wp-block-navigation__responsive-close:focus{outline:none}.is-menu-open .wp-block-navigation__responsive-close,.is-menu-open .wp-block-navigation__responsive-container-content,.is-menu-open .wp-block-navigation__responsive-dialog{box-sizing:border-box}.wp-block-navigation__responsive-dialog{position:relative}.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog{margin-top:46px}@media (min-width:782px){.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog{margin-top:32px}}html.has-modal-open{overflow:hidden}.wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word}.wp-block-navigation .wp-block-navigation-item__description{display:none}.wp-block-navigation .wp-block-page-list{align-items:var(--navigation-layout-align,initial);background-color:inherit;display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial)}.wp-block-navigation .wp-block-navigation-item{background-color:inherit}.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:right;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em 0 0 .1em;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-right:.1em}p.has-drop-cap.has-background{overflow:hidden}p.has-background{padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}.wp-block-post-author{display:flex;flex-wrap:wrap}.wp-block-post-author__byline{font-size:.5em;margin-bottom:0;margin-top:0;width:100%}.wp-block-post-author__avatar{margin-left:1em}.wp-block-post-author__bio{font-size:.7em;margin-bottom:.7em}.wp-block-post-author__content{flex-basis:0;flex-grow:1}.wp-block-post-author__name{margin:0}.wp-block-post-comments-form{box-sizing:border-box}.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title){font-weight:inherit}.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title){font-family:inherit}.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title),.wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title){font-size:inherit}.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title){line-height:inherit}.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title){font-style:inherit}.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title){letter-spacing:inherit}.wp-block-post-comments-form input[type=submit]{box-shadow:none;cursor:pointer;display:inline-block;overflow-wrap:break-word;text-align:center}.wp-block-post-comments-form input:not([type=submit]),.wp-block-post-comments-form textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments-form textarea{padding:calc(.667em + 2px)}.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.wp-block-post-comments-form .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments-form .comment-form-author label,.wp-block-post-comments-form .comment-form-email label,.wp-block-post-comments-form .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments-form .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments-form .comment-reply-title{margin-bottom:0}.wp-block-post-comments-form .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-right:.5em}.wp-block-post-date{box-sizing:border-box}:where(.wp-block-post-excerpt){margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap)}.wp-block-post-excerpt__excerpt{margin-bottom:0;margin-top:0}.wp-block-post-excerpt__more-text{margin-bottom:0;margin-top:var(--wp--style--block-gap)}.wp-block-post-excerpt__more-link{display:inline-block}.wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:block;height:100%}.wp-block-post-featured-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom;width:100%}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim{background-color:#000;inset:0;position:absolute}.wp-block-post-featured-image{position:relative}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient{background-color:transparent}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0{opacity:0}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10{opacity:.1}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20{opacity:.2}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30{opacity:.3}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40{opacity:.4}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50{opacity:.5}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60{opacity:.6}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70{opacity:.7}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80{opacity:.8}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90{opacity:.9}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100{opacity:1}.wp-block-post-featured-image:where(.alignleft,.alignright){width:100%}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous{display:inline-block;margin-left:1ch}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous:not(.is-arrow-chevron){transform:scaleX(-1)}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next{display:inline-block;margin-right:1ch}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next:not(.is-arrow-chevron){transform:scaleX(-1)}.wp-block-post-navigation-link.has-text-align-left[style*="writing-mode: vertical-lr"],.wp-block-post-navigation-link.has-text-align-right[style*="writing-mode: vertical-rl"]{rotate:180deg}.wp-block-post-terms{box-sizing:border-box}.wp-block-post-terms .wp-block-post-terms__separator{white-space:pre-wrap}.wp-block-post-time-to-read,.wp-block-post-title{box-sizing:border-box}.wp-block-post-title{word-break:break-word}.wp-block-post-title a{display:inline-block}.wp-block-preformatted{box-sizing:border-box;white-space:pre-wrap}:where(.wp-block-preformatted.has-background){padding:1.25em 2.375em}.wp-block-pullquote{box-sizing:border-box;overflow-wrap:break-word;padding:3em 0;text-align:center}.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{color:inherit}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:420px}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}:where(.wp-block-pullquote){margin:0 0 1em}.wp-block-pullquote.has-text-align-left blockquote{text-align:right}.wp-block-pullquote.has-text-align-right blockquote{text-align:left}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-left:auto;margin-right:auto;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:2em;margin-bottom:0;margin-top:0}.wp-block-pullquote.is-style-solid-color blockquote cite{font-style:normal;text-transform:none}.wp-block-pullquote cite{color:inherit}.wp-block-post-template{list-style:none;margin-bottom:0;margin-top:0;max-width:100%;padding:0}.wp-block-post-template.wp-block-post-template{background:none}.wp-block-post-template.is-flex-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.25em}.wp-block-post-template.is-flex-container>li{margin:0;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li{width:calc(33.33333% - .83333em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}}@media (max-width:600px){.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid{grid-template-columns:1fr}}.wp-block-post-template-is-layout-constrained>li>.alignright,.wp-block-post-template-is-layout-flow>li>.alignright{-webkit-margin-start:2em;-webkit-margin-end:0;float:left;margin-inline-end:0;margin-inline-start:2em}.wp-block-post-template-is-layout-constrained>li>.alignleft,.wp-block-post-template-is-layout-flow>li>.alignleft{-webkit-margin-start:0;-webkit-margin-end:2em;float:right;margin-inline-end:2em;margin-inline-start:0}.wp-block-post-template-is-layout-constrained>li>.aligncenter,.wp-block-post-template-is-layout-flow>li>.aligncenter{-webkit-margin-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-inline-start:auto}.wp-block-query-pagination>.wp-block-query-pagination-next,.wp-block-query-pagination>.wp-block-query-pagination-numbers,.wp-block-query-pagination>.wp-block-query-pagination-previous{margin-bottom:.5em;margin-right:.5em}.wp-block-query-pagination>.wp-block-query-pagination-next:last-child,.wp-block-query-pagination>.wp-block-query-pagination-numbers:last-child,.wp-block-query-pagination>.wp-block-query-pagination-previous:last-child{margin-right:0}.wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-next:last-of-type{-webkit-margin-start:auto;margin-inline-start:auto}.wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-previous:first-child{-webkit-margin-end:auto;margin-inline-end:auto}.wp-block-query-pagination .wp-block-query-pagination-previous-arrow{display:inline-block;margin-left:1ch}.wp-block-query-pagination .wp-block-query-pagination-previous-arrow:not(.is-arrow-chevron){transform:scaleX(-1)}.wp-block-query-pagination .wp-block-query-pagination-next-arrow{display:inline-block;margin-right:1ch}.wp-block-query-pagination .wp-block-query-pagination-next-arrow:not(.is-arrow-chevron){transform:scaleX(-1)}.wp-block-query-pagination.aligncenter{justify-content:center}.wp-block-query-title,.wp-block-quote{box-sizing:border-box}.wp-block-quote{overflow-wrap:break-word}.wp-block-quote.is-large:where(:not(.is-style-plain)),.wp-block-quote.is-style-large:where(:not(.is-style-plain)){margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large:where(:not(.is-style-plain)) p,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-large:where(:not(.is-style-plain)) footer,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) footer{font-size:1.125em;text-align:left}.wp-block-read-more{display:block;width:-moz-fit-content;width:fit-content}.wp-block-read-more:not([style*=text-decoration]),.wp-block-read-more:not([style*=text-decoration]):active,.wp-block-read-more:not([style*=text-decoration]):focus{text-decoration:none}ul.wp-block-rss{list-style:none;padding:0}ul.wp-block-rss.wp-block-rss{box-sizing:border-box}ul.wp-block-rss.alignleft{margin-right:2em}ul.wp-block-rss.alignright{margin-left:2em}ul.wp-block-rss.is-grid{display:flex;flex-wrap:wrap;list-style:none;padding:0}ul.wp-block-rss.is-grid li{margin:0 0 1em 1em;width:100%}@media (min-width:600px){ul.wp-block-rss.columns-2 li{width:calc(50% - 1em)}ul.wp-block-rss.columns-3 li{width:calc(33.33333% - 1em)}ul.wp-block-rss.columns-4 li{width:calc(25% - 1em)}ul.wp-block-rss.columns-5 li{width:calc(20% - 1em)}ul.wp-block-rss.columns-6 li{width:calc(16.66667% - 1em)}}.wp-block-rss__item-author,.wp-block-rss__item-publish-date{display:block;font-size:.8125em}.wp-block-search__button{margin-right:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;min-height:24px;min-width:24px;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-right:0;max-width:calc(100% - 100px)}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search__button-behavior-expand .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}.wp-block[data-align=right] .wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{float:left}.wp-block-separator{border:1px solid;border-left:none;border-right:none}.wp-block-separator.is-style-dots{background:none!important;border:none;height:auto;line-height:1;text-align:center}.wp-block-separator.is-style-dots:before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}.wp-block-site-logo{box-sizing:border-box;line-height:0}.wp-block-site-logo a{display:inline-block;line-height:0}.wp-block-site-logo.is-default-size img{height:auto;width:120px}.wp-block-site-logo img{height:auto;max-width:100%}.wp-block-site-logo a,.wp-block-site-logo img{border-radius:inherit}.wp-block-site-logo.aligncenter{margin-left:auto;margin-right:auto;text-align:center}.wp-block-site-logo.is-style-rounded{border-radius:9999px}.wp-block-site-title a{color:inherit}.wp-block-social-links{background:none;box-sizing:border-box;margin-right:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#ff424d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads,.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#ff424d}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{stroke:#000;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-threads,.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-x{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000}.wp-block-spacer{clear:both}.wp-block-tag-cloud{box-sizing:border-box}.wp-block-tag-cloud.aligncenter{justify-content:center;text-align:center}.wp-block-tag-cloud.alignfull{padding-left:1em;padding-right:1em}.wp-block-tag-cloud a{display:inline-block;margin-left:5px}.wp-block-tag-cloud span{display:inline-block;margin-right:5px;text-decoration:none}.wp-block-tag-cloud.is-style-outline{display:flex;flex-wrap:wrap;gap:1ch}.wp-block-tag-cloud.is-style-outline a{border:1px solid;font-size:unset!important;margin-left:0;padding:1ch 2ch;text-decoration:none!important}.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:transparent;border-bottom:1px solid #f0f0f0;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:transparent}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:currentColor}.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{border-left-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:currentColor}.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{border-right-color:inherit}.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{border-style:inherit}.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{border-style:inherit;border-width:inherit}:where(.wp-block-term-description){margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap)}.wp-block-term-description p{margin-bottom:0;margin-top:0}.wp-block-text-columns,.wp-block-text-columns.aligncenter{display:flex}.wp-block-text-columns .wp-block-column{margin:0 1em;padding:0}.wp-block-text-columns .wp-block-column:first-child{margin-right:0}.wp-block-text-columns .wp-block-column:last-child{margin-left:0}.wp-block-text-columns.columns-2 .wp-block-column{width:50%}.wp-block-text-columns.columns-3 .wp-block-column{width:33.33333%}.wp-block-text-columns.columns-4 .wp-block-column{width:25%}pre.wp-block-verse{overflow:auto;white-space:pre-wrap}:where(pre.wp-block-verse){font-family:inherit}.wp-block-video{box-sizing:border-box}.wp-block-video video{vertical-align:middle;width:100%}@supports (position:sticky){.wp-block-video [poster]{object-fit:cover}}.wp-block-video.aligncenter{text-align:center}.wp-block-video figcaption{margin-bottom:1em;margin-top:.5em}.editor-styles-wrapper,.entry-content{counter-reset:footnotes}a[data-fn].fn{counter-increment:footnotes;display:inline-flex;font-size:smaller;text-decoration:none;text-indent:-9999999px;vertical-align:super}a[data-fn].fn:after{content:"[" counter(footnotes) "]";float:right;text-indent:0}.wp-element-button{cursor:pointer}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(-135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(-135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(-135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(-135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(-135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(-135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(-135deg,#020381,#2874fc)}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{clip:auto!important;background-color:#ddd;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;line-height:normal;padding:15px 23px 14px;right:5px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-left-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-right-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-left-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-right-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} \ No newline at end of file +@charset "UTF-8";.wp-block-archives{box-sizing:border-box}.wp-block-archives-dropdown label{display:block}.wp-block-avatar{line-height:0}.wp-block-avatar,.wp-block-avatar img{box-sizing:border-box}.wp-block-avatar.aligncenter{text-align:center}.wp-block-audio{box-sizing:border-box}.wp-block-audio figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-audio audio{min-width:300px;width:100%}.wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}.wp-block-button .wp-block-button__link:where(.is-style-outline),.wp-block-button:where(.is-style-outline)>.wp-block-button__link{border:2px solid;padding:.667em 1.333em}.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color){color:currentColor}.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background){background-color:transparent;background-image:none}.wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-right-width:medium}.wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter,.wp-block-calendar{text-align:center}.wp-block-calendar td,.wp-block-calendar th{border:1px solid;padding:.25em}.wp-block-calendar th{font-weight:400}.wp-block-calendar caption{background-color:inherit}.wp-block-calendar table{border-collapse:collapse;width:100%}.wp-block-calendar table:where(:not(.has-text-color)){color:#40464d}.wp-block-calendar table:where(:not(.has-text-color)) td,.wp-block-calendar table:where(:not(.has-text-color)) th{border-color:#ddd}.wp-block-calendar table.has-background th{background-color:inherit}.wp-block-calendar table.has-text-color th{color:inherit}:where(.wp-block-calendar table:not(.has-background) th){background:#ddd}.wp-block-categories{box-sizing:border-box}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-categories.wp-block-categories-dropdown.aligncenter{text-align:center}.wp-block-code{box-sizing:border-box}.wp-block-code code{display:block;font-family:inherit;overflow-wrap:break-word;white-space:pre-wrap}.wp-block-columns{align-items:normal!important;box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}.wp-block-post-comments{box-sizing:border-box}.wp-block-post-comments .alignleft{float:right}.wp-block-post-comments .alignright{float:left}.wp-block-post-comments .navigation:after{clear:both;content:"";display:table}.wp-block-post-comments .commentlist{clear:both;list-style:none;margin:0;padding:0}.wp-block-post-comments .commentlist .comment{min-height:2.25em;padding-right:3.25em}.wp-block-post-comments .commentlist .comment p{font-size:1em;line-height:1.8;margin:1em 0}.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-post-comments .comment-author{line-height:1.5}.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:right;height:2.5em;margin-left:.75em;margin-top:.5em;width:2.5em}.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-post-comments .comment-meta{font-size:.875em;line-height:1.5}.wp-block-post-comments .comment-meta b{font-weight:400}.wp-block-post-comments .comment-meta .comment-awaiting-moderation{display:block;margin-bottom:1em;margin-top:1em}.wp-block-post-comments .comment-body .commentmetadata{font-size:.875em}.wp-block-post-comments .comment-form-author label,.wp-block-post-comments .comment-form-comment label,.wp-block-post-comments .comment-form-email label,.wp-block-post-comments .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments .comment-reply-title{margin-bottom:0}.wp-block-post-comments .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-right:.5em}.wp-block-post-comments .reply{font-size:.875em;margin-bottom:1.4em}.wp-block-post-comments input:not([type=submit]),.wp-block-post-comments textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-post-comments input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments textarea{padding:calc(.667em + 2px)}:where(.wp-block-post-comments input[type=submit]){border:none}.wp-block-comments-pagination>.wp-block-comments-pagination-next,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers,.wp-block-comments-pagination>.wp-block-comments-pagination-previous{margin-bottom:.5em;margin-right:.5em}.wp-block-comments-pagination>.wp-block-comments-pagination-next:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-previous:last-child{margin-right:0}.wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow{display:inline-block;margin-left:1ch}.wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow:not(.is-arrow-chevron){transform:scaleX(-1)}.wp-block-comments-pagination .wp-block-comments-pagination-next-arrow{display:inline-block;margin-right:1ch}.wp-block-comments-pagination .wp-block-comments-pagination-next-arrow:not(.is-arrow-chevron){transform:scaleX(-1)}.wp-block-comments-pagination.aligncenter{justify-content:center}.wp-block-comment-template{box-sizing:border-box;list-style:none;margin-bottom:0;max-width:100%;padding:0}.wp-block-comment-template li{clear:both}.wp-block-comment-template ol{list-style:none;margin-bottom:0;max-width:100%;padding-right:2rem}.wp-block-comment-template.alignleft{float:right}.wp-block-comment-template.aligncenter{margin-left:auto;margin-right:auto;width:-moz-fit-content;width:fit-content}.wp-block-comment-template.alignright{float:left}.wp-block-cover,.wp-block-cover-image{align-items:center;background-position:50%;box-sizing:border-box;direction:ltr;display:flex;justify-content:center;min-height:430px;overflow-x:clip;padding:1em;position:relative}.wp-block-cover .has-background-dim:not([class*=-background-color]),.wp-block-cover-image .has-background-dim:not([class*=-background-color]),.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{background-color:transparent}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{background-color:inherit;content:""}.wp-block-cover .wp-block-cover__background,.wp-block-cover .wp-block-cover__gradient-background,.wp-block-cover-image .wp-block-cover__background,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover.has-background-dim:not(.has-background-gradient):before{bottom:0;left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:420px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{content:"";display:block;font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover-image .wp-block-cover__inner-container{color:inherit;direction:rtl;width:100%;z-index:1}.wp-block-cover h1:where(:not(.has-text-color)),.wp-block-cover h2:where(:not(.has-text-color)),.wp-block-cover h3:where(:not(.has-text-color)),.wp-block-cover h4:where(:not(.has-text-color)),.wp-block-cover h5:where(:not(.has-text-color)),.wp-block-cover h6:where(:not(.has-text-color)),.wp-block-cover p:where(:not(.has-text-color)),.wp-block-cover-image h1:where(:not(.has-text-color)),.wp-block-cover-image h2:where(:not(.has-text-color)),.wp-block-cover-image h3:where(:not(.has-text-color)),.wp-block-cover-image h4:where(:not(.has-text-color)),.wp-block-cover-image h5:where(:not(.has-text-color)),.wp-block-cover-image h6:where(:not(.has-text-color)),.wp-block-cover-image p:where(:not(.has-text-color)){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0}.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover .wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background,.wp-block-cover-image .wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background{border:none;bottom:0;box-shadow:none;height:100%;left:0;margin:0;max-height:none;max-width:none;object-fit:cover;outline:none;padding:0;position:absolute;right:0;top:0;width:100%}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:fixed;background-repeat:no-repeat;background-size:cover}@supports (-webkit-touch-callout:inherit){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated,.wp-block-cover__image-background.is-repeated,video.wp-block-cover__video-background.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover__image-background,.wp-block-cover__video-background{z-index:0}.wp-block-cover-image-text,.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-right:0;text-align:right}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-left:0;text-align:left}.wp-block-cover .wp-block-cover-text,.wp-block-cover-image .wp-block-cover-image-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;margin-bottom:0;max-width:840px;padding:.44em;text-align:center;z-index:1}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000}.wp-block-details{box-sizing:border-box;overflow:hidden}.wp-block-details summary{cursor:pointer}.wp-block-embed.alignleft,.wp-block-embed.alignright,.wp-block[data-align=left]>[data-type="core/embed"],.wp-block[data-align=right]>[data-type="core/embed"]{max-width:360px;width:100%}.wp-block-embed.alignleft .wp-block-embed__wrapper,.wp-block-embed.alignright .wp-block-embed__wrapper,.wp-block[data-align=left]>[data-type="core/embed"] .wp-block-embed__wrapper,.wp-block[data-align=right]>[data-type="core/embed"] .wp-block-embed__wrapper{min-width:280px}.wp-block-cover .wp-block-embed{min-height:240px;min-width:320px}.wp-block-embed{overflow-wrap:break-word}.wp-block-embed figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-embed iframe{max-width:100%}.wp-block-embed__wrapper{position:relative}.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before{content:"";display:block;padding-top:50%}.wp-embed-responsive .wp-has-aspect-ratio iframe{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{padding-top:42.85%}.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before{padding-top:50%}.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before{padding-top:56.25%}.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before{padding-top:75%}.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before{padding-top:100%}.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before{padding-top:177.77%}.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before{padding-top:200%}.wp-block-file{box-sizing:border-box}.wp-block-file:not(.wp-element-button){font-size:.8em}.wp-block-file.aligncenter{text-align:center}.wp-block-file.alignright{text-align:right}.wp-block-file *+.wp-block-file__button{margin-right:.75em}:where(.wp-block-file){margin-bottom:1.5em}.wp-block-file__embed{margin-bottom:1em}:where(.wp-block-file__button){border-radius:2em;display:inline-block;padding:.5em 1em}:where(.wp-block-file__button):is(a):active,:where(.wp-block-file__button):is(a):focus,:where(.wp-block-file__button):is(a):hover,:where(.wp-block-file__button):is(a):visited{box-shadow:none;color:#fff;opacity:.85;text-decoration:none}.wp-block-form-input__label{display:flex;flex-direction:column;gap:.25em;margin-bottom:.5em;width:100%}.wp-block-form-input__label.is-label-inline{align-items:center;flex-direction:row;gap:.5em}.wp-block-form-input__label.is-label-inline .wp-block-form-input__label-content{margin-bottom:.5em}.wp-block-form-input__label:has(input[type=checkbox]){flex-direction:row-reverse;width:-moz-fit-content;width:fit-content}.wp-block-form-input__label-content{width:-moz-fit-content;width:fit-content}.wp-block-form-input__input{font-size:1em;margin-bottom:.5em;padding:0 .5em}.wp-block-form-input__input[type=date],.wp-block-form-input__input[type=datetime-local],.wp-block-form-input__input[type=datetime],.wp-block-form-input__input[type=email],.wp-block-form-input__input[type=month],.wp-block-form-input__input[type=number],.wp-block-form-input__input[type=password],.wp-block-form-input__input[type=search],.wp-block-form-input__input[type=tel],.wp-block-form-input__input[type=text],.wp-block-form-input__input[type=time],.wp-block-form-input__input[type=url],.wp-block-form-input__input[type=week]{border:1px solid;line-height:2;min-height:2em}textarea.wp-block-form-input__input{min-height:10em}.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 0 1em 1em;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n){margin-left:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure{align-items:flex-end;display:flex;height:100%;justify-content:flex-start;margin:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img{display:block;height:auto;max-width:100%;width:auto}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption{flex-grow:1}.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img{flex:1;height:100%;object-fit:cover;width:100%}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item{margin-left:0;width:100%}@media (min-width:600px){.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item{margin-left:1em;width:calc(33.33333% - .66667em)}.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item{margin-left:1em;width:calc(25% - .75em)}.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item{margin-left:1em;width:calc(20% - .8em)}.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item{margin-left:1em;width:calc(16.66667% - .83333em)}.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item{margin-left:1em;width:calc(14.28571% - .85714em)}.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item{margin-left:1em;width:calc(12.5% - .875em)}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n){margin-left:0}}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child{margin-left:0}.blocks-gallery-grid:not(.has-nested-images).alignleft,.blocks-gallery-grid:not(.has-nested-images).alignright,.wp-block-gallery:not(.has-nested-images).alignleft,.wp-block-gallery:not(.has-nested-images).alignright{max-width:420px;width:100%}.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}figure.wp-block-gallery.has-nested-images{align-items:normal}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image{box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{flex-direction:column;flex-grow:1;margin:0}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%!important;width:auto}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:13px;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;right:0;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-width:thin;text-align:center;width:100%;will-change:transform}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar{height:12px;width:12px}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track{background-color:transparent}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb{background-color:hsla(0,0%,100%,.8)}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover{scrollbar-color:hsla(0,0%,100%,.8) transparent}@media (hover:none){.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{scrollbar-color:hsla(0,0%,100%,.8) transparent}}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a{color:inherit}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div{flex:1 1 auto}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption{background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-basis:100%;flex-grow:1;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-bottom:auto;margin-top:0}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){align-self:inherit}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone){display:flex}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{flex:1 0 0%;height:100%;object-fit:cover;width:100%}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){width:calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*.8)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){width:calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*.83333)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){width:calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*.85714)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){width:calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*.875)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image){width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child{width:100%}}.wp-block-gallery.has-nested-images.alignleft,.wp-block-gallery.has-nested-images.alignright{max-width:420px;width:100%}.wp-block-gallery.has-nested-images.aligncenter{justify-content:center}.wp-block-group{box-sizing:border-box}h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-left-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-right-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-left-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-right-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;left:16px;opacity:0;padding:0;position:absolute;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;overflow:hidden;position:fixed;right:0;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;left:calc(env(safe-area-inset-left) + 16px);min-height:40px;min-width:40px;padding:0;position:absolute;top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);overflow:hidden;position:absolute;right:50%;top:50%;transform:translate(50%,-50%);transform-origin:top right;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:100% 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active){animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc(((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position))*-1),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc(((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position))*-1),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}ol.wp-block-latest-comments{box-sizing:border-box;margin-right:0}:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment)){line-height:1.1}:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment-excerpt p)){line-height:1.8}.has-dates :where(.wp-block-latest-comments:not([style*=line-height])),.has-excerpts :where(.wp-block-latest-comments:not([style*=line-height])){line-height:1.5}.wp-block-latest-comments .wp-block-latest-comments{padding-right:0}.wp-block-latest-comments__comment{list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{list-style:none;min-height:2.25em}.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta{margin-right:3.25em}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;margin:.36em 0 1.4em}.wp-block-latest-comments__comment-date{display:block;font-size:.75em}.wp-block-latest-comments .avatar,.wp-block-latest-comments__comment-avatar{border-radius:1.5em;display:block;float:right;height:2.5em;margin-left:.75em;width:2.5em}.wp-block-latest-comments[class*=-font-size] a,.wp-block-latest-comments[style*=font-size] a{font-size:inherit}.wp-block-latest-posts{box-sizing:border-box}.wp-block-latest-posts.alignleft{margin-right:2em}.wp-block-latest-posts.alignright{margin-left:2em}.wp-block-latest-posts.wp-block-latest-posts__list{list-style:none;padding-right:0}.wp-block-latest-posts.wp-block-latest-posts__list li{clear:both}.wp-block-latest-posts.is-grid{display:flex;flex-wrap:wrap;padding:0}.wp-block-latest-posts.is-grid li{margin:0 0 1.25em 1.25em;width:100%}@media (min-width:600px){.wp-block-latest-posts.columns-2 li{width:calc(50% - .625em)}.wp-block-latest-posts.columns-2 li:nth-child(2n){margin-left:0}.wp-block-latest-posts.columns-3 li{width:calc(33.33333% - .83333em)}.wp-block-latest-posts.columns-3 li:nth-child(3n){margin-left:0}.wp-block-latest-posts.columns-4 li{width:calc(25% - .9375em)}.wp-block-latest-posts.columns-4 li:nth-child(4n){margin-left:0}.wp-block-latest-posts.columns-5 li{width:calc(20% - 1em)}.wp-block-latest-posts.columns-5 li:nth-child(5n){margin-left:0}.wp-block-latest-posts.columns-6 li{width:calc(16.66667% - 1.04167em)}.wp-block-latest-posts.columns-6 li:nth-child(6n){margin-left:0}}.wp-block-latest-posts__post-author,.wp-block-latest-posts__post-date{display:block;font-size:.8125em}.wp-block-latest-posts__post-excerpt{margin-bottom:1em;margin-top:.5em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;max-width:100%;width:auto}.wp-block-latest-posts__featured-image.alignleft{float:left;margin-right:1em}.wp-block-latest-posts__featured-image.alignright{float:right;margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}ol,ul{box-sizing:border-box}ol.has-background,ul.has-background{padding:1.25em 2.375em}.wp-block-media-text{box-sizing:border-box;direction:ltr;display:grid;grid-template-columns:50% 1fr;grid-template-rows:auto}.wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 50%}.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media{align-self:start}.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .wp-block-media-text__media,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media{align-self:center}.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media{align-self:end}.wp-block-media-text .wp-block-media-text__media{grid-column:1;grid-row:1;margin:0}.wp-block-media-text .wp-block-media-text__content{direction:rtl;grid-column:2;grid-row:1;padding:0 8%;word-break:break-word}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{grid-column:2;grid-row:1}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{grid-column:1;grid-row:1}.wp-block-media-text__media img,.wp-block-media-text__media video{height:auto;max-width:unset;vertical-align:middle;width:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media{background-size:cover;height:100%;min-height:250px}.wp-block-media-text.is-image-fill .wp-block-media-text__media>a{display:block;height:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media img{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{grid-column:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{grid-column:1;grid-row:2}}.wp-block-navigation{--navigation-layout-justification-setting:flex-start;--navigation-layout-direction:row;--navigation-layout-wrap:wrap;--navigation-layout-justify:flex-start;--navigation-layout-align:center;position:relative}.wp-block-navigation ul{margin-bottom:0;margin-right:0;margin-top:0;padding-right:0}.wp-block-navigation ul,.wp-block-navigation ul li{list-style:none;padding:0}.wp-block-navigation .wp-block-navigation-item{align-items:center;display:flex;position:relative}.wp-block-navigation .wp-block-navigation-item .wp-block-navigation__submenu-container:empty{display:none}.wp-block-navigation .wp-block-navigation-item__content{display:block}.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{color:inherit}.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content,.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:active,.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:focus{text-decoration:underline}.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content,.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:active,.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:focus{text-decoration:line-through}.wp-block-navigation:where(:not([class*=has-text-decoration])) a{text-decoration:none}.wp-block-navigation:where(:not([class*=has-text-decoration])) a:active,.wp-block-navigation:where(:not([class*=has-text-decoration])) a:focus{text-decoration:none}.wp-block-navigation .wp-block-navigation__submenu-icon{align-self:center;background-color:inherit;border:none;color:currentColor;display:inline-block;font-size:inherit;height:.6em;line-height:0;margin-right:.25em;padding:0;width:.6em}.wp-block-navigation .wp-block-navigation__submenu-icon svg{stroke:currentColor;display:inline-block;height:inherit;margin-top:.075em;width:inherit}.wp-block-navigation.is-vertical{--navigation-layout-direction:column;--navigation-layout-justify:initial;--navigation-layout-align:flex-start}.wp-block-navigation.no-wrap{--navigation-layout-wrap:nowrap}.wp-block-navigation.items-justified-center{--navigation-layout-justification-setting:center;--navigation-layout-justify:center}.wp-block-navigation.items-justified-center.is-vertical{--navigation-layout-align:center}.wp-block-navigation.items-justified-right{--navigation-layout-justification-setting:flex-end;--navigation-layout-justify:flex-end}.wp-block-navigation.items-justified-right.is-vertical{--navigation-layout-align:flex-end}.wp-block-navigation.items-justified-space-between{--navigation-layout-justification-setting:space-between;--navigation-layout-justify:space-between}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{align-items:normal;background-color:inherit;color:inherit;display:flex;flex-direction:column;height:0;opacity:0;overflow:hidden;position:absolute;right:-1px;top:100%;transition:opacity .1s linear;visibility:hidden;width:0;z-index:2}.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content{display:flex;flex-grow:1}.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content .wp-block-navigation__submenu-icon{margin-left:0;margin-right:auto}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content{margin:0}@media (min-width:782px){.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{right:100%;top:-1px}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:transparent;content:"";display:block;height:100%;left:100%;position:absolute;width:.5em}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon{margin-left:.25em}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon svg{transform:rotate(90deg)}}.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container{right:0;top:100%}@media (min-width:782px){.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{right:100%;top:0}}.wp-block-navigation-submenu{display:flex;position:relative}.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg{stroke:currentColor}button.wp-block-navigation-item__content{background-color:transparent;border:none;color:currentColor;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;text-align:right;text-transform:inherit}.wp-block-navigation-submenu__toggle{cursor:pointer}.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle{padding-left:.85em;padding-right:0}.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle+.wp-block-navigation__submenu-icon{margin-right:-.6em;pointer-events:none}.wp-block-navigation-item.open-on-click button.wp-block-navigation-item__content:not(.wp-block-navigation-submenu__toggle){padding:0}.wp-block-navigation .wp-block-page-list,.wp-block-navigation__container,.wp-block-navigation__responsive-close,.wp-block-navigation__responsive-container,.wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-dialog{gap:inherit}:where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation.has-background .wp-block-navigation-submenu a:not(.wp-element-button)){padding:.5em 1em}:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu button.wp-block-navigation-item__content),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content){padding:.5em 1em}.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container{left:0;right:auto}.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:-1px;right:-1px}@media (min-width:782px){.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:100%;right:auto}}.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container{background-color:#fff;border:1px solid rgba(0,0,0,.15)}.wp-block-navigation.has-background .wp-block-navigation__submenu-container{background-color:inherit}.wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container{color:#000}.wp-block-navigation__container{align-items:var(--navigation-layout-align,initial);display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial);list-style:none;margin:0;padding-right:0}.wp-block-navigation__container .is-responsive{display:none}.wp-block-navigation__container:only-child,.wp-block-page-list:only-child{flex-grow:1}@keyframes overlay-menu__fade-in-animation{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:translateY(0)}}.wp-block-navigation__responsive-container{bottom:0;display:none;left:0;position:fixed;right:0;top:0}.wp-block-navigation__responsive-container :where(.wp-block-navigation-item a){color:inherit}.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{align-items:var(--navigation-layout-align,initial);display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial)}.wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open){background-color:inherit!important;color:inherit!important}.wp-block-navigation__responsive-container.is-menu-open{animation:overlay-menu__fade-in-animation .1s ease-out;animation-fill-mode:forwards;background-color:inherit;display:flex;flex-direction:column;overflow:auto;padding:clamp(1rem,var(--wp--style--root--padding-top),20rem) clamp(1rem,var(--wp--style--root--padding-left),20em) clamp(1rem,var(--wp--style--root--padding-bottom),20rem) clamp(1rem,var(--wp--style--root--padding-right),20rem);z-index:100000}@media (prefers-reduced-motion:reduce){.wp-block-navigation__responsive-container.is-menu-open{animation-delay:0s;animation-duration:1ms}}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:var(--navigation-layout-justification-setting,inherit);display:flex;flex-direction:column;flex-wrap:nowrap;overflow:visible;padding-top:calc(2rem + 24px)}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list{justify-content:flex-start}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon{display:none}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container{border:none;height:auto;min-width:200px;opacity:1;overflow:initial;padding-left:2rem;padding-right:2rem;position:static;visibility:visible;width:auto}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{gap:inherit}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{padding-top:var(--wp--style--block-gap,2em)}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content{padding:0}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list{align-items:var(--navigation-layout-justification-setting,initial);display:flex;flex-direction:column}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation__submenu-container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list{background:transparent!important;color:inherit!important}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{left:auto;right:auto}:not(.is-collapsed)>.wp-block-navigation__responsive-container:not(.is-menu-open){background-color:inherit;display:block;position:relative;width:100%;z-index:auto}:not(.is-collapsed)>.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close{display:none}:not(.is-collapsed)>.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{right:0}.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{background-color:#fff}.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open{color:#000}.wp-block-navigation__toggle_button_label{font-size:1rem;font-weight:700}.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{background:transparent;border:none;color:currentColor;cursor:pointer;margin:0;padding:0;text-transform:inherit;vertical-align:middle}.wp-block-navigation__responsive-container-close svg,.wp-block-navigation__responsive-container-open svg{fill:currentColor;display:block;height:24px;pointer-events:none;width:24px}.wp-block-navigation__responsive-container-open{display:flex}.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open{font-family:inherit;font-size:inherit;font-weight:inherit}:not(.is-collapsed)>.wp-block-navigation__responsive-container-open{display:none}.wp-block-navigation__responsive-container-close{left:0;position:absolute;top:0;z-index:2}.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close{font-family:inherit;font-size:inherit;font-weight:inherit}.wp-block-navigation__responsive-close{width:100%}.has-modal-open .wp-block-navigation__responsive-close{margin-left:auto;margin-right:auto;max-width:var(--wp--style--global--wide-size,100%)}.wp-block-navigation__responsive-close:focus{outline:none}.is-menu-open .wp-block-navigation__responsive-close,.is-menu-open .wp-block-navigation__responsive-container-content,.is-menu-open .wp-block-navigation__responsive-dialog{box-sizing:border-box}.wp-block-navigation__responsive-dialog{position:relative}.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog{margin-top:46px}@media (min-width:782px){.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog{margin-top:32px}}html.has-modal-open{overflow:hidden}.wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word}.wp-block-navigation .wp-block-navigation-item__description{display:none}.wp-block-navigation .wp-block-page-list{align-items:var(--navigation-layout-align,initial);background-color:inherit;display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial)}.wp-block-navigation .wp-block-navigation-item{background-color:inherit}.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:right;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em 0 0 .1em;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-right:.1em}p.has-drop-cap.has-background{overflow:hidden}p.has-background{padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}.wp-block-post-author{display:flex;flex-wrap:wrap}.wp-block-post-author__byline{font-size:.5em;margin-bottom:0;margin-top:0;width:100%}.wp-block-post-author__avatar{margin-left:1em}.wp-block-post-author__bio{font-size:.7em;margin-bottom:.7em}.wp-block-post-author__content{flex-basis:0;flex-grow:1}.wp-block-post-author__name{margin:0}.wp-block-post-comments-form{box-sizing:border-box}.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title){font-weight:inherit}.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title){font-family:inherit}.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title),.wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title){font-size:inherit}.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title){line-height:inherit}.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title){font-style:inherit}.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title){letter-spacing:inherit}.wp-block-post-comments-form input[type=submit]{box-shadow:none;cursor:pointer;display:inline-block;overflow-wrap:break-word;text-align:center}.wp-block-post-comments-form input:not([type=submit]),.wp-block-post-comments-form textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments-form textarea{padding:calc(.667em + 2px)}.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.wp-block-post-comments-form .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments-form .comment-form-author label,.wp-block-post-comments-form .comment-form-email label,.wp-block-post-comments-form .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments-form .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments-form .comment-reply-title{margin-bottom:0}.wp-block-post-comments-form .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-right:.5em}.wp-block-post-date{box-sizing:border-box}:where(.wp-block-post-excerpt){margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap)}.wp-block-post-excerpt__excerpt{margin-bottom:0;margin-top:0}.wp-block-post-excerpt__more-text{margin-bottom:0;margin-top:var(--wp--style--block-gap)}.wp-block-post-excerpt__more-link{display:inline-block}.wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:block;height:100%}.wp-block-post-featured-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom;width:100%}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim{background-color:#000;inset:0;position:absolute}.wp-block-post-featured-image{position:relative}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient{background-color:transparent}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0{opacity:0}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10{opacity:.1}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20{opacity:.2}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30{opacity:.3}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40{opacity:.4}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50{opacity:.5}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60{opacity:.6}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70{opacity:.7}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80{opacity:.8}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90{opacity:.9}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100{opacity:1}.wp-block-post-featured-image:where(.alignleft,.alignright){width:100%}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous{display:inline-block;margin-left:1ch}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous:not(.is-arrow-chevron){transform:scaleX(-1)}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next{display:inline-block;margin-right:1ch}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next:not(.is-arrow-chevron){transform:scaleX(-1)}.wp-block-post-navigation-link.has-text-align-left[style*="writing-mode: vertical-lr"],.wp-block-post-navigation-link.has-text-align-right[style*="writing-mode: vertical-rl"]{rotate:180deg}.wp-block-post-terms{box-sizing:border-box}.wp-block-post-terms .wp-block-post-terms__separator{white-space:pre-wrap}.wp-block-post-time-to-read,.wp-block-post-title{box-sizing:border-box}.wp-block-post-title{word-break:break-word}.wp-block-post-title a{display:inline-block}.wp-block-preformatted{box-sizing:border-box;white-space:pre-wrap}:where(.wp-block-preformatted.has-background){padding:1.25em 2.375em}.wp-block-pullquote{box-sizing:border-box;overflow-wrap:break-word;padding:4em 0;text-align:center}.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{color:inherit}.wp-block-pullquote blockquote{margin:0}.wp-block-pullquote p{margin-top:0}.wp-block-pullquote p:last-child{margin-bottom:0}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:420px}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}:where(.wp-block-pullquote){margin:0 0 1em}.wp-block-pullquote.has-text-align-left blockquote{text-align:right}.wp-block-pullquote.has-text-align-right blockquote{text-align:left}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-left:auto;margin-right:auto;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:2em;margin-bottom:0;margin-top:0}.wp-block-pullquote.is-style-solid-color blockquote cite{font-style:normal;text-transform:none}.wp-block-pullquote cite{color:inherit}.wp-block-post-template{list-style:none;margin-bottom:0;margin-top:0;max-width:100%;padding:0}.wp-block-post-template.wp-block-post-template{background:none}.wp-block-post-template.is-flex-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.25em}.wp-block-post-template.is-flex-container>li{margin:0;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li{width:calc(33.33333% - .83333em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}}@media (max-width:600px){.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid{grid-template-columns:1fr}}.wp-block-post-template-is-layout-constrained>li>.alignright,.wp-block-post-template-is-layout-flow>li>.alignright{float:left;margin-inline-end:0;margin-inline-start:2em}.wp-block-post-template-is-layout-constrained>li>.alignleft,.wp-block-post-template-is-layout-flow>li>.alignleft{float:right;margin-inline-end:2em;margin-inline-start:0}.wp-block-post-template-is-layout-constrained>li>.aligncenter,.wp-block-post-template-is-layout-flow>li>.aligncenter{margin-inline-end:auto;margin-inline-start:auto}.wp-block-query-pagination>.wp-block-query-pagination-next,.wp-block-query-pagination>.wp-block-query-pagination-numbers,.wp-block-query-pagination>.wp-block-query-pagination-previous{margin-bottom:.5em;margin-right:.5em}.wp-block-query-pagination>.wp-block-query-pagination-next:last-child,.wp-block-query-pagination>.wp-block-query-pagination-numbers:last-child,.wp-block-query-pagination>.wp-block-query-pagination-previous:last-child{margin-right:0}.wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-next:last-of-type{margin-inline-start:auto}.wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-previous:first-child{margin-inline-end:auto}.wp-block-query-pagination .wp-block-query-pagination-previous-arrow{display:inline-block;margin-left:1ch}.wp-block-query-pagination .wp-block-query-pagination-previous-arrow:not(.is-arrow-chevron){transform:scaleX(-1)}.wp-block-query-pagination .wp-block-query-pagination-next-arrow{display:inline-block;margin-right:1ch}.wp-block-query-pagination .wp-block-query-pagination-next-arrow:not(.is-arrow-chevron){transform:scaleX(-1)}.wp-block-query-pagination.aligncenter{justify-content:center}.wp-block-query-title,.wp-block-quote{box-sizing:border-box}.wp-block-quote{overflow-wrap:break-word}.wp-block-quote.is-large:where(:not(.is-style-plain)),.wp-block-quote.is-style-large:where(:not(.is-style-plain)){margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large:where(:not(.is-style-plain)) p,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-large:where(:not(.is-style-plain)) footer,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) footer{font-size:1.125em;text-align:left}.wp-block-quote>cite{display:block}.wp-block-read-more{display:block;width:-moz-fit-content;width:fit-content}.wp-block-read-more:where(:not([style*=text-decoration])){text-decoration:none}.wp-block-read-more:where(:not([style*=text-decoration])):active,.wp-block-read-more:where(:not([style*=text-decoration])):focus{text-decoration:none}ul.wp-block-rss{list-style:none;padding:0}ul.wp-block-rss.wp-block-rss{box-sizing:border-box}ul.wp-block-rss.alignleft{margin-right:2em}ul.wp-block-rss.alignright{margin-left:2em}ul.wp-block-rss.is-grid{display:flex;flex-wrap:wrap;list-style:none;padding:0}ul.wp-block-rss.is-grid li{margin:0 0 1em 1em;width:100%}@media (min-width:600px){ul.wp-block-rss.columns-2 li{width:calc(50% - 1em)}ul.wp-block-rss.columns-3 li{width:calc(33.33333% - 1em)}ul.wp-block-rss.columns-4 li{width:calc(25% - 1em)}ul.wp-block-rss.columns-5 li{width:calc(20% - 1em)}ul.wp-block-rss.columns-6 li{width:calc(16.66667% - 1em)}}.wp-block-rss__item-author,.wp-block-rss__item-publish-date{display:block;font-size:.8125em}.wp-block-search__button{margin-right:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;min-height:24px;min-width:24px;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-right:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{max-width:calc(100% - 100px)}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:left}.wp-block-separator{border:1px solid;border-left:none;border-right:none}.wp-block-separator.is-style-dots{background:none!important;border:none;height:auto;line-height:1;text-align:center}.wp-block-separator.is-style-dots:before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}.wp-block-site-logo{box-sizing:border-box;line-height:0}.wp-block-site-logo a{display:inline-block;line-height:0}.wp-block-site-logo.is-default-size img{height:auto;width:120px}.wp-block-site-logo img{height:auto;max-width:100%}.wp-block-site-logo a,.wp-block-site-logo img{border-radius:inherit}.wp-block-site-logo.aligncenter{margin-left:auto;margin-right:auto;text-align:center}.wp-block-site-logo.is-style-rounded{border-radius:9999px}.wp-block-site-title a{color:inherit}.wp-block-social-links{background:none;box-sizing:border-box;margin-right:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link.wp-social-link{display:inline-block;margin:0;padding:0}.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar{background-color:#1d4fc4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#ff424d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads,.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar{color:#1d4fc4}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#ff424d}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{stroke:#000;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-threads,.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-x{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000}.wp-block-spacer{clear:both}.wp-block-tag-cloud{box-sizing:border-box}.wp-block-tag-cloud.aligncenter{justify-content:center;text-align:center}.wp-block-tag-cloud.alignfull{padding-left:1em;padding-right:1em}.wp-block-tag-cloud a{display:inline-block;margin-left:5px}.wp-block-tag-cloud span{display:inline-block;margin-right:5px;text-decoration:none}.wp-block-tag-cloud.is-style-outline{display:flex;flex-wrap:wrap;gap:1ch}.wp-block-tag-cloud.is-style-outline a{border:1px solid;font-size:unset!important;margin-left:0;padding:1ch 2ch;text-decoration:none!important}.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:transparent;border-bottom:1px solid #f0f0f0;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:transparent}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:currentColor}.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{border-left-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:currentColor}.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{border-right-color:inherit}.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{border-style:inherit}.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{border-style:inherit;border-width:inherit}:where(.wp-block-term-description){margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap)}.wp-block-term-description p{margin-bottom:0;margin-top:0}.wp-block-text-columns,.wp-block-text-columns.aligncenter{display:flex}.wp-block-text-columns .wp-block-column{margin:0 1em;padding:0}.wp-block-text-columns .wp-block-column:first-child{margin-right:0}.wp-block-text-columns .wp-block-column:last-child{margin-left:0}.wp-block-text-columns.columns-2 .wp-block-column{width:50%}.wp-block-text-columns.columns-3 .wp-block-column{width:33.33333%}.wp-block-text-columns.columns-4 .wp-block-column{width:25%}pre.wp-block-verse{overflow:auto;white-space:pre-wrap}:where(pre.wp-block-verse){font-family:inherit}.wp-block-video{box-sizing:border-box}.wp-block-video video{vertical-align:middle;width:100%}@supports (position:sticky){.wp-block-video [poster]{object-fit:cover}}.wp-block-video.aligncenter{text-align:center}.wp-block-video figcaption{margin-bottom:1em;margin-top:.5em}.editor-styles-wrapper,.entry-content{counter-reset:footnotes}a[data-fn].fn{counter-increment:footnotes;display:inline-flex;font-size:smaller;text-decoration:none;text-indent:-9999999px;vertical-align:super}a[data-fn].fn:after{content:"[" counter(footnotes) "]";float:right;text-indent:0}.wp-element-button{cursor:pointer}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(-135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(-135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(-135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(-135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(-135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(-135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(-135deg,#020381,#2874fc)}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{clip:auto!important;background-color:#ddd;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;line-height:normal;padding:15px 23px 14px;right:5px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-left-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-right-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-left-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-right-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/style.css b/wp-includes/css/dist/block-library/style.css index a289ba497e..ead532b313 100644 --- a/wp-includes/css/dist/block-library/style.css +++ b/wp-includes/css/dist/block-library/style.css @@ -96,16 +96,16 @@ border-radius:0 !important; } -.wp-block-button .wp-block-button__link.is-style-outline,.wp-block-button.is-style-outline>.wp-block-button__link{ +.wp-block-button .wp-block-button__link:where(.is-style-outline),.wp-block-button:where(.is-style-outline)>.wp-block-button__link{ border:2px solid; padding:.667em 1.333em; } -.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color){ +.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color){ color:currentColor; } -.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background){ +.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background){ background-color:transparent; background-image:none; } @@ -482,8 +482,7 @@ display:flex; justify-content:center; min-height:430px; - overflow:hidden; - overflow:clip; + overflow-x:clip; padding:1em; position:relative; } @@ -828,6 +827,47 @@ text-decoration:none; } +.wp-block-form-input__label{ + display:flex; + flex-direction:column; + gap:.25em; + margin-bottom:.5em; + width:100%; +} +.wp-block-form-input__label.is-label-inline{ + align-items:center; + flex-direction:row; + gap:.5em; +} +.wp-block-form-input__label.is-label-inline .wp-block-form-input__label-content{ + margin-bottom:.5em; +} +.wp-block-form-input__label:has(input[type=checkbox]){ + flex-direction:row-reverse; + width:-moz-fit-content; + width:fit-content; +} + +.wp-block-form-input__label-content{ + width:-moz-fit-content; + width:fit-content; +} + +.wp-block-form-input__input{ + font-size:1em; + margin-bottom:.5em; + padding:0 .5em; +} +.wp-block-form-input__input[type=date],.wp-block-form-input__input[type=datetime-local],.wp-block-form-input__input[type=datetime],.wp-block-form-input__input[type=email],.wp-block-form-input__input[type=month],.wp-block-form-input__input[type=number],.wp-block-form-input__input[type=password],.wp-block-form-input__input[type=search],.wp-block-form-input__input[type=tel],.wp-block-form-input__input[type=text],.wp-block-form-input__input[type=time],.wp-block-form-input__input[type=url],.wp-block-form-input__input[type=week]{ + border:1px solid; + line-height:2; + min-height:2em; +} + +textarea.wp-block-form-input__input{ + min-height:10em; +} + .blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){ display:flex; flex-wrap:wrap; @@ -975,8 +1015,36 @@ figure.wp-block-gallery.has-nested-images{ overflow:auto; padding:0 8px 8px; position:absolute; + scrollbar-color:transparent transparent; + scrollbar-gutter:stable both-edges; + scrollbar-width:thin; text-align:center; width:100%; + will-change:transform; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar{ + height:12px; + width:12px; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track{ + background-color:transparent; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb{ + background-clip:padding-box; + background-color:transparent; + border:3px solid transparent; + border-radius:8px; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb{ + background-color:hsla(0,0%,100%,.8); +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover{ + scrollbar-color:hsla(0,0%,100%,.8) transparent; +} +@media (hover:none){ + .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{ + scrollbar-color:hsla(0,0%,100%,.8) transparent; + } } .wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{ display:inline; @@ -1222,7 +1290,7 @@ h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-t position:fixed; top:0; visibility:hidden; - width:100vw; + width:100%; z-index:100000; } .wp-lightbox-overlay .close-button{ @@ -1352,7 +1420,7 @@ h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-t } @keyframes lightbox-zoom-in{ 0%{ - transform:translate(calc(-50vw + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); + transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); } to{ transform:translate(-50%, -50%) scale(1); @@ -1367,7 +1435,7 @@ h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-t visibility:visible; } to{ - transform:translate(calc(-50vw + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); + transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); visibility:hidden; } } @@ -1813,12 +1881,17 @@ button.wp-block-navigation-item__content{ } .wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle{ + padding-left:0; padding-right:.85em; } .wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle+.wp-block-navigation__submenu-icon{ margin-left:-.6em; pointer-events:none; } + +.wp-block-navigation-item.open-on-click button.wp-block-navigation-item__content:not(.wp-block-navigation-submenu__toggle){ + padding:0; +} .wp-block-navigation .wp-block-page-list,.wp-block-navigation__container,.wp-block-navigation__responsive-close,.wp-block-navigation__responsive-container,.wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-dialog{ gap:inherit; } @@ -1970,20 +2043,18 @@ button.wp-block-navigation-item__content{ left:auto; right:auto; } -@media (min-width:600px){ - .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){ - background-color:inherit; - display:block; - position:relative; - width:100%; - z-index:auto; - } - .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close{ - display:none; - } - .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{ - left:0; - } +:not(.is-collapsed)>.wp-block-navigation__responsive-container:not(.is-menu-open){ + background-color:inherit; + display:block; + position:relative; + width:100%; + z-index:auto; +} +:not(.is-collapsed)>.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close{ + display:none; +} +:not(.is-collapsed)>.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{ + left:0; } .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{ @@ -2025,10 +2096,8 @@ button.wp-block-navigation-item__content{ font-size:inherit; font-weight:inherit; } -@media (min-width:600px){ - .wp-block-navigation__responsive-container-open:not(.always-shown){ - display:none; - } +:not(.is-collapsed)>.wp-block-navigation__responsive-container-open{ + display:none; } .wp-block-navigation__responsive-container-close{ @@ -2365,12 +2434,21 @@ p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[ .wp-block-pullquote{ box-sizing:border-box; overflow-wrap:break-word; - padding:3em 0; + padding:4em 0; text-align:center; } .wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{ color:inherit; } +.wp-block-pullquote blockquote{ + margin:0; +} +.wp-block-pullquote p{ + margin-top:0; +} +.wp-block-pullquote p:last-child{ + margin-bottom:0; +} .wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{ max-width:420px; } @@ -2459,26 +2537,20 @@ p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[ } } .wp-block-post-template-is-layout-constrained>li>.alignright,.wp-block-post-template-is-layout-flow>li>.alignright{ - -webkit-margin-start:2em; - -webkit-margin-end:0; float:right; - margin-inline-end:0; - margin-inline-start:2em; + margin-inline-end:0; + margin-inline-start:2em; } .wp-block-post-template-is-layout-constrained>li>.alignleft,.wp-block-post-template-is-layout-flow>li>.alignleft{ - -webkit-margin-start:0; - -webkit-margin-end:2em; float:left; - margin-inline-end:2em; - margin-inline-start:0; + margin-inline-end:2em; + margin-inline-start:0; } .wp-block-post-template-is-layout-constrained>li>.aligncenter,.wp-block-post-template-is-layout-flow>li>.aligncenter{ - -webkit-margin-start:auto; - -webkit-margin-end:auto; - margin-inline-end:auto; - margin-inline-start:auto; + margin-inline-end:auto; + margin-inline-start:auto; } .wp-block-query-pagination>.wp-block-query-pagination-next,.wp-block-query-pagination>.wp-block-query-pagination-numbers,.wp-block-query-pagination>.wp-block-query-pagination-previous{ @@ -2489,12 +2561,10 @@ p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[ margin-right:0; } .wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-next:last-of-type{ - -webkit-margin-start:auto; - margin-inline-start:auto; + margin-inline-start:auto; } .wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-previous:first-child{ - -webkit-margin-end:auto; - margin-inline-end:auto; + margin-inline-end:auto; } .wp-block-query-pagination .wp-block-query-pagination-previous-arrow{ display:inline-block; @@ -2534,13 +2604,19 @@ p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[ font-size:1.125em; text-align:right; } +.wp-block-quote>cite{ + display:block; +} .wp-block-read-more{ display:block; width:-moz-fit-content; width:fit-content; } -.wp-block-read-more:not([style*=text-decoration]),.wp-block-read-more:not([style*=text-decoration]):active,.wp-block-read-more:not([style*=text-decoration]):focus{ +.wp-block-read-more:where(:not([style*=text-decoration])){ + text-decoration:none; +} +.wp-block-read-more:where(:not([style*=text-decoration])):active,.wp-block-read-more:where(:not([style*=text-decoration])):focus{ text-decoration:none; } @@ -2635,8 +2711,33 @@ ul.wp-block-rss.is-grid li{ .wp-block-search.wp-block-search__button-only .wp-block-search__button{ flex-shrink:0; margin-left:0; + max-width:100%; +} +.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{ max-width:calc(100% - 100px); } +.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{ + min-width:0 !important; + transition-property:width; +} +.wp-block-search.wp-block-search__button-only .wp-block-search__input{ + flex-basis:100%; + transition-duration:.3s; +} +.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{ + overflow:hidden; +} +.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{ + border-left-width:0 !important; + border-right-width:0 !important; + flex-basis:0; + flex-grow:0; + margin:0; + min-width:0 !important; + padding-left:0 !important; + padding-right:0 !important; + width:0 !important; +} :where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){ border:1px solid #949494; @@ -2659,30 +2760,7 @@ ul.wp-block-rss.is-grid li{ margin:auto; } -.wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{ - min-width:0 !important; - transition-property:width; -} -.wp-block-search__button-behavior-expand .wp-block-search__input{ - flex-basis:100%; - transition-duration:.3s; -} -.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{ - overflow:hidden; -} -.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__input{ - border-left-width:0 !important; - border-right-width:0 !important; - flex-basis:0; - flex-grow:0; - margin:0; - min-width:0 !important; - padding-left:0 !important; - padding-right:0 !important; - width:0 !important; -} - -.wp-block[data-align=right] .wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{ +.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{ float:right; } @@ -2806,7 +2884,12 @@ ul.wp-block-rss.is-grid li{ transform:scale(1.1); } -.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{ +.wp-block-social-links .wp-block-social-link.wp-social-link{ + display:inline-block; + margin:0; + padding:0; +} +.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{ fill:currentColor; color:currentColor; } @@ -2875,6 +2958,10 @@ ul.wp-block-rss.is-grid li{ background-color:#ea4434; color:#fff; } +.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar{ + background-color:#1d4fc4; + color:#fff; +} .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{ background-color:#f00075; color:#fff; @@ -3036,6 +3123,9 @@ ul.wp-block-rss.is-grid li{ .wp-block-social-links.is-style-logos-only .wp-social-link-google{ color:#ea4434; } +.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar{ + color:#1d4fc4; +} .wp-block-social-links.is-style-logos-only .wp-social-link-instagram{ color:#f00075; } diff --git a/wp-includes/css/dist/block-library/style.min.css b/wp-includes/css/dist/block-library/style.min.css index 797e8e250d..24a54dbbef 100644 --- a/wp-includes/css/dist/block-library/style.min.css +++ b/wp-includes/css/dist/block-library/style.min.css @@ -1,4 +1,4 @@ -@charset "UTF-8";.wp-block-archives{box-sizing:border-box}.wp-block-archives-dropdown label{display:block}.wp-block-avatar{line-height:0}.wp-block-avatar,.wp-block-avatar img{box-sizing:border-box}.wp-block-avatar.aligncenter{text-align:center}.wp-block-audio{box-sizing:border-box}.wp-block-audio figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-audio audio{min-width:300px;width:100%}.wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}.wp-block-button .wp-block-button__link.is-style-outline,.wp-block-button.is-style-outline>.wp-block-button__link{border:2px solid;padding:.667em 1.333em}.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color){color:currentColor}.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background),.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background){background-color:transparent;background-image:none}.wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-left-width:medium}.wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter,.wp-block-calendar{text-align:center}.wp-block-calendar td,.wp-block-calendar th{border:1px solid;padding:.25em}.wp-block-calendar th{font-weight:400}.wp-block-calendar caption{background-color:inherit}.wp-block-calendar table{border-collapse:collapse;width:100%}.wp-block-calendar table:where(:not(.has-text-color)){color:#40464d}.wp-block-calendar table:where(:not(.has-text-color)) td,.wp-block-calendar table:where(:not(.has-text-color)) th{border-color:#ddd}.wp-block-calendar table.has-background th{background-color:inherit}.wp-block-calendar table.has-text-color th{color:inherit}:where(.wp-block-calendar table:not(.has-background) th){background:#ddd}.wp-block-categories{box-sizing:border-box}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-categories.wp-block-categories-dropdown.aligncenter{text-align:center}.wp-block-code{box-sizing:border-box}.wp-block-code code{display:block;font-family:inherit;overflow-wrap:break-word;white-space:pre-wrap}.wp-block-columns{align-items:normal!important;box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}.wp-block-post-comments{box-sizing:border-box}.wp-block-post-comments .alignleft{float:left}.wp-block-post-comments .alignright{float:right}.wp-block-post-comments .navigation:after{clear:both;content:"";display:table}.wp-block-post-comments .commentlist{clear:both;list-style:none;margin:0;padding:0}.wp-block-post-comments .commentlist .comment{min-height:2.25em;padding-left:3.25em}.wp-block-post-comments .commentlist .comment p{font-size:1em;line-height:1.8;margin:1em 0}.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-post-comments .comment-author{line-height:1.5}.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;margin-top:.5em;width:2.5em}.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-post-comments .comment-meta{font-size:.875em;line-height:1.5}.wp-block-post-comments .comment-meta b{font-weight:400}.wp-block-post-comments .comment-meta .comment-awaiting-moderation{display:block;margin-bottom:1em;margin-top:1em}.wp-block-post-comments .comment-body .commentmetadata{font-size:.875em}.wp-block-post-comments .comment-form-author label,.wp-block-post-comments .comment-form-comment label,.wp-block-post-comments .comment-form-email label,.wp-block-post-comments .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments .comment-reply-title{margin-bottom:0}.wp-block-post-comments .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-left:.5em}.wp-block-post-comments .reply{font-size:.875em;margin-bottom:1.4em}.wp-block-post-comments input:not([type=submit]),.wp-block-post-comments textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-post-comments input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments textarea{padding:calc(.667em + 2px)}:where(.wp-block-post-comments input[type=submit]){border:none}.wp-block-comments-pagination>.wp-block-comments-pagination-next,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers,.wp-block-comments-pagination>.wp-block-comments-pagination-previous{margin-bottom:.5em;margin-right:.5em}.wp-block-comments-pagination>.wp-block-comments-pagination-next:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-previous:last-child{margin-right:0}.wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow{display:inline-block;margin-right:1ch}.wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-comments-pagination .wp-block-comments-pagination-next-arrow{display:inline-block;margin-left:1ch}.wp-block-comments-pagination .wp-block-comments-pagination-next-arrow:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-comments-pagination.aligncenter{justify-content:center}.wp-block-comment-template{box-sizing:border-box;list-style:none;margin-bottom:0;max-width:100%;padding:0}.wp-block-comment-template li{clear:both}.wp-block-comment-template ol{list-style:none;margin-bottom:0;max-width:100%;padding-left:2rem}.wp-block-comment-template.alignleft{float:left}.wp-block-comment-template.aligncenter{margin-left:auto;margin-right:auto;width:-moz-fit-content;width:fit-content}.wp-block-comment-template.alignright{float:right}.wp-block-cover,.wp-block-cover-image{align-items:center;background-position:50%;box-sizing:border-box;display:flex;justify-content:center;min-height:430px;overflow:hidden;overflow:clip;padding:1em;position:relative}.wp-block-cover .has-background-dim:not([class*=-background-color]),.wp-block-cover-image .has-background-dim:not([class*=-background-color]),.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{background-color:transparent}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{background-color:inherit;content:""}.wp-block-cover .wp-block-cover__background,.wp-block-cover .wp-block-cover__gradient-background,.wp-block-cover-image .wp-block-cover__background,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover.has-background-dim:not(.has-background-gradient):before{bottom:0;left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:420px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{content:"";display:block;font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover-image .wp-block-cover__inner-container{color:inherit;width:100%;z-index:1}.wp-block-cover h1:where(:not(.has-text-color)),.wp-block-cover h2:where(:not(.has-text-color)),.wp-block-cover h3:where(:not(.has-text-color)),.wp-block-cover h4:where(:not(.has-text-color)),.wp-block-cover h5:where(:not(.has-text-color)),.wp-block-cover h6:where(:not(.has-text-color)),.wp-block-cover p:where(:not(.has-text-color)),.wp-block-cover-image h1:where(:not(.has-text-color)),.wp-block-cover-image h2:where(:not(.has-text-color)),.wp-block-cover-image h3:where(:not(.has-text-color)),.wp-block-cover-image h4:where(:not(.has-text-color)),.wp-block-cover-image h5:where(:not(.has-text-color)),.wp-block-cover-image h6:where(:not(.has-text-color)),.wp-block-cover-image p:where(:not(.has-text-color)){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0}.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover .wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background,.wp-block-cover-image .wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background{border:none;bottom:0;box-shadow:none;height:100%;left:0;margin:0;max-height:none;max-width:none;object-fit:cover;outline:none;padding:0;position:absolute;right:0;top:0;width:100%}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:fixed;background-repeat:no-repeat;background-size:cover}@supports (-webkit-touch-callout:inherit){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated,.wp-block-cover__image-background.is-repeated,video.wp-block-cover__video-background.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover__image-background,.wp-block-cover__video-background{z-index:0}.wp-block-cover-image-text,.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-left:0;text-align:left}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-right:0;text-align:right}.wp-block-cover .wp-block-cover-text,.wp-block-cover-image .wp-block-cover-image-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;margin-bottom:0;max-width:840px;padding:.44em;text-align:center;z-index:1}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000}.wp-block-details{box-sizing:border-box;overflow:hidden}.wp-block-details summary{cursor:pointer}.wp-block-embed.alignleft,.wp-block-embed.alignright,.wp-block[data-align=left]>[data-type="core/embed"],.wp-block[data-align=right]>[data-type="core/embed"]{max-width:360px;width:100%}.wp-block-embed.alignleft .wp-block-embed__wrapper,.wp-block-embed.alignright .wp-block-embed__wrapper,.wp-block[data-align=left]>[data-type="core/embed"] .wp-block-embed__wrapper,.wp-block[data-align=right]>[data-type="core/embed"] .wp-block-embed__wrapper{min-width:280px}.wp-block-cover .wp-block-embed{min-height:240px;min-width:320px}.wp-block-embed{overflow-wrap:break-word}.wp-block-embed figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-embed iframe{max-width:100%}.wp-block-embed__wrapper{position:relative}.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before{content:"";display:block;padding-top:50%}.wp-embed-responsive .wp-has-aspect-ratio iframe{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{padding-top:42.85%}.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before{padding-top:50%}.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before{padding-top:56.25%}.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before{padding-top:75%}.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before{padding-top:100%}.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before{padding-top:177.77%}.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before{padding-top:200%}.wp-block-file{box-sizing:border-box}.wp-block-file:not(.wp-element-button){font-size:.8em}.wp-block-file.aligncenter{text-align:center}.wp-block-file.alignright{text-align:right}.wp-block-file *+.wp-block-file__button{margin-left:.75em}:where(.wp-block-file){margin-bottom:1.5em}.wp-block-file__embed{margin-bottom:1em}:where(.wp-block-file__button){border-radius:2em;display:inline-block;padding:.5em 1em}:where(.wp-block-file__button):is(a):active,:where(.wp-block-file__button):is(a):focus,:where(.wp-block-file__button):is(a):hover,:where(.wp-block-file__button):is(a):visited{box-shadow:none;color:#fff;opacity:.85;text-decoration:none}.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 1em 1em 0;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure{align-items:flex-end;display:flex;height:100%;justify-content:flex-start;margin:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img{display:block;height:auto;max-width:100%;width:auto}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption{flex-grow:1}.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img{flex:1;height:100%;object-fit:cover;width:100%}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item{margin-right:0;width:100%}@media (min-width:600px){.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item{margin-right:1em;width:calc(33.33333% - .66667em)}.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item{margin-right:1em;width:calc(25% - .75em)}.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item{margin-right:1em;width:calc(20% - .8em)}.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item{margin-right:1em;width:calc(16.66667% - .83333em)}.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item{margin-right:1em;width:calc(14.28571% - .85714em)}.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item{margin-right:1em;width:calc(12.5% - .875em)}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n){margin-right:0}}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child{margin-right:0}.blocks-gallery-grid:not(.has-nested-images).alignleft,.blocks-gallery-grid:not(.has-nested-images).alignright,.wp-block-gallery:not(.has-nested-images).alignleft,.wp-block-gallery:not(.has-nested-images).alignright{max-width:420px;width:100%}.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}figure.wp-block-gallery.has-nested-images{align-items:normal}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image{box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{flex-direction:column;flex-grow:1;margin:0}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%!important;width:auto}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:13px;left:0;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;text-align:center;width:100%}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a{color:inherit}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div{flex:1 1 auto}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption{background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-basis:100%;flex-grow:1;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-bottom:auto;margin-top:0}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){align-self:inherit}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone){display:flex}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{flex:1 0 0%;height:100%;object-fit:cover;width:100%}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){width:calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*.8)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){width:calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*.83333)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){width:calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*.85714)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){width:calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*.875)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image){width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child{width:100%}}.wp-block-gallery.has-nested-images.alignleft,.wp-block-gallery.has-nested-images.alignright{max-width:420px;width:100%}.wp-block-gallery.has-nested-images.aligncenter{justify-content:center}.wp-block-group{box-sizing:border-box}h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-left-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-left-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100vw;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:0;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active){animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc(-50vw + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc(-50vw + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}ol.wp-block-latest-comments{box-sizing:border-box;margin-left:0}:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment)){line-height:1.1}:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment-excerpt p)){line-height:1.8}.has-dates :where(.wp-block-latest-comments:not([style*=line-height])),.has-excerpts :where(.wp-block-latest-comments:not([style*=line-height])){line-height:1.5}.wp-block-latest-comments .wp-block-latest-comments{padding-left:0}.wp-block-latest-comments__comment{list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{list-style:none;min-height:2.25em}.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta{margin-left:3.25em}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;margin:.36em 0 1.4em}.wp-block-latest-comments__comment-date{display:block;font-size:.75em}.wp-block-latest-comments .avatar,.wp-block-latest-comments__comment-avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;width:2.5em}.wp-block-latest-comments[class*=-font-size] a,.wp-block-latest-comments[style*=font-size] a{font-size:inherit}.wp-block-latest-posts{box-sizing:border-box}.wp-block-latest-posts.alignleft{margin-right:2em}.wp-block-latest-posts.alignright{margin-left:2em}.wp-block-latest-posts.wp-block-latest-posts__list{list-style:none;padding-left:0}.wp-block-latest-posts.wp-block-latest-posts__list li{clear:both}.wp-block-latest-posts.is-grid{display:flex;flex-wrap:wrap;padding:0}.wp-block-latest-posts.is-grid li{margin:0 1.25em 1.25em 0;width:100%}@media (min-width:600px){.wp-block-latest-posts.columns-2 li{width:calc(50% - .625em)}.wp-block-latest-posts.columns-2 li:nth-child(2n){margin-right:0}.wp-block-latest-posts.columns-3 li{width:calc(33.33333% - .83333em)}.wp-block-latest-posts.columns-3 li:nth-child(3n){margin-right:0}.wp-block-latest-posts.columns-4 li{width:calc(25% - .9375em)}.wp-block-latest-posts.columns-4 li:nth-child(4n){margin-right:0}.wp-block-latest-posts.columns-5 li{width:calc(20% - 1em)}.wp-block-latest-posts.columns-5 li:nth-child(5n){margin-right:0}.wp-block-latest-posts.columns-6 li{width:calc(16.66667% - 1.04167em)}.wp-block-latest-posts.columns-6 li:nth-child(6n){margin-right:0}}.wp-block-latest-posts__post-author,.wp-block-latest-posts__post-date{display:block;font-size:.8125em}.wp-block-latest-posts__post-excerpt{margin-bottom:1em;margin-top:.5em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;max-width:100%;width:auto}.wp-block-latest-posts__featured-image.alignleft{float:left;margin-right:1em}.wp-block-latest-posts__featured-image.alignright{float:right;margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}ol,ul{box-sizing:border-box}ol.has-background,ul.has-background{padding:1.25em 2.375em}.wp-block-media-text{box-sizing:border-box; +@charset "UTF-8";.wp-block-archives{box-sizing:border-box}.wp-block-archives-dropdown label{display:block}.wp-block-avatar{line-height:0}.wp-block-avatar,.wp-block-avatar img{box-sizing:border-box}.wp-block-avatar.aligncenter{text-align:center}.wp-block-audio{box-sizing:border-box}.wp-block-audio figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-audio audio{min-width:300px;width:100%}.wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}.wp-block-button .wp-block-button__link:where(.is-style-outline),.wp-block-button:where(.is-style-outline)>.wp-block-button__link{border:2px solid;padding:.667em 1.333em}.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color){color:currentColor}.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background){background-color:transparent;background-image:none}.wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-left-width:medium}.wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter,.wp-block-calendar{text-align:center}.wp-block-calendar td,.wp-block-calendar th{border:1px solid;padding:.25em}.wp-block-calendar th{font-weight:400}.wp-block-calendar caption{background-color:inherit}.wp-block-calendar table{border-collapse:collapse;width:100%}.wp-block-calendar table:where(:not(.has-text-color)){color:#40464d}.wp-block-calendar table:where(:not(.has-text-color)) td,.wp-block-calendar table:where(:not(.has-text-color)) th{border-color:#ddd}.wp-block-calendar table.has-background th{background-color:inherit}.wp-block-calendar table.has-text-color th{color:inherit}:where(.wp-block-calendar table:not(.has-background) th){background:#ddd}.wp-block-categories{box-sizing:border-box}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-categories.wp-block-categories-dropdown.aligncenter{text-align:center}.wp-block-code{box-sizing:border-box}.wp-block-code code{display:block;font-family:inherit;overflow-wrap:break-word;white-space:pre-wrap}.wp-block-columns{align-items:normal!important;box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}.wp-block-post-comments{box-sizing:border-box}.wp-block-post-comments .alignleft{float:left}.wp-block-post-comments .alignright{float:right}.wp-block-post-comments .navigation:after{clear:both;content:"";display:table}.wp-block-post-comments .commentlist{clear:both;list-style:none;margin:0;padding:0}.wp-block-post-comments .commentlist .comment{min-height:2.25em;padding-left:3.25em}.wp-block-post-comments .commentlist .comment p{font-size:1em;line-height:1.8;margin:1em 0}.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-post-comments .comment-author{line-height:1.5}.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;margin-top:.5em;width:2.5em}.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-post-comments .comment-meta{font-size:.875em;line-height:1.5}.wp-block-post-comments .comment-meta b{font-weight:400}.wp-block-post-comments .comment-meta .comment-awaiting-moderation{display:block;margin-bottom:1em;margin-top:1em}.wp-block-post-comments .comment-body .commentmetadata{font-size:.875em}.wp-block-post-comments .comment-form-author label,.wp-block-post-comments .comment-form-comment label,.wp-block-post-comments .comment-form-email label,.wp-block-post-comments .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments .comment-reply-title{margin-bottom:0}.wp-block-post-comments .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-left:.5em}.wp-block-post-comments .reply{font-size:.875em;margin-bottom:1.4em}.wp-block-post-comments input:not([type=submit]),.wp-block-post-comments textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-post-comments input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments textarea{padding:calc(.667em + 2px)}:where(.wp-block-post-comments input[type=submit]){border:none}.wp-block-comments-pagination>.wp-block-comments-pagination-next,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers,.wp-block-comments-pagination>.wp-block-comments-pagination-previous{margin-bottom:.5em;margin-right:.5em}.wp-block-comments-pagination>.wp-block-comments-pagination-next:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-numbers:last-child,.wp-block-comments-pagination>.wp-block-comments-pagination-previous:last-child{margin-right:0}.wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow{display:inline-block;margin-right:1ch}.wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-comments-pagination .wp-block-comments-pagination-next-arrow{display:inline-block;margin-left:1ch}.wp-block-comments-pagination .wp-block-comments-pagination-next-arrow:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-comments-pagination.aligncenter{justify-content:center}.wp-block-comment-template{box-sizing:border-box;list-style:none;margin-bottom:0;max-width:100%;padding:0}.wp-block-comment-template li{clear:both}.wp-block-comment-template ol{list-style:none;margin-bottom:0;max-width:100%;padding-left:2rem}.wp-block-comment-template.alignleft{float:left}.wp-block-comment-template.aligncenter{margin-left:auto;margin-right:auto;width:-moz-fit-content;width:fit-content}.wp-block-comment-template.alignright{float:right}.wp-block-cover,.wp-block-cover-image{align-items:center;background-position:50%;box-sizing:border-box;display:flex;justify-content:center;min-height:430px;overflow-x:clip;padding:1em;position:relative}.wp-block-cover .has-background-dim:not([class*=-background-color]),.wp-block-cover-image .has-background-dim:not([class*=-background-color]),.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{background-color:transparent}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{background-color:inherit;content:""}.wp-block-cover .wp-block-cover__background,.wp-block-cover .wp-block-cover__gradient-background,.wp-block-cover-image .wp-block-cover__background,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover.has-background-dim:not(.has-background-gradient):before{bottom:0;left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:420px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{content:"";display:block;font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover-image .wp-block-cover__inner-container{color:inherit;width:100%;z-index:1}.wp-block-cover h1:where(:not(.has-text-color)),.wp-block-cover h2:where(:not(.has-text-color)),.wp-block-cover h3:where(:not(.has-text-color)),.wp-block-cover h4:where(:not(.has-text-color)),.wp-block-cover h5:where(:not(.has-text-color)),.wp-block-cover h6:where(:not(.has-text-color)),.wp-block-cover p:where(:not(.has-text-color)),.wp-block-cover-image h1:where(:not(.has-text-color)),.wp-block-cover-image h2:where(:not(.has-text-color)),.wp-block-cover-image h3:where(:not(.has-text-color)),.wp-block-cover-image h4:where(:not(.has-text-color)),.wp-block-cover-image h5:where(:not(.has-text-color)),.wp-block-cover-image h6:where(:not(.has-text-color)),.wp-block-cover-image p:where(:not(.has-text-color)){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0}.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover .wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background,.wp-block-cover-image .wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background{border:none;bottom:0;box-shadow:none;height:100%;left:0;margin:0;max-height:none;max-width:none;object-fit:cover;outline:none;padding:0;position:absolute;right:0;top:0;width:100%}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:fixed;background-repeat:no-repeat;background-size:cover}@supports (-webkit-touch-callout:inherit){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated,.wp-block-cover__image-background.is-repeated,video.wp-block-cover__video-background.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover__image-background,.wp-block-cover__video-background{z-index:0}.wp-block-cover-image-text,.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-left:0;text-align:left}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-right:0;text-align:right}.wp-block-cover .wp-block-cover-text,.wp-block-cover-image .wp-block-cover-image-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;margin-bottom:0;max-width:840px;padding:.44em;text-align:center;z-index:1}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000}.wp-block-details{box-sizing:border-box;overflow:hidden}.wp-block-details summary{cursor:pointer}.wp-block-embed.alignleft,.wp-block-embed.alignright,.wp-block[data-align=left]>[data-type="core/embed"],.wp-block[data-align=right]>[data-type="core/embed"]{max-width:360px;width:100%}.wp-block-embed.alignleft .wp-block-embed__wrapper,.wp-block-embed.alignright .wp-block-embed__wrapper,.wp-block[data-align=left]>[data-type="core/embed"] .wp-block-embed__wrapper,.wp-block[data-align=right]>[data-type="core/embed"] .wp-block-embed__wrapper{min-width:280px}.wp-block-cover .wp-block-embed{min-height:240px;min-width:320px}.wp-block-embed{overflow-wrap:break-word}.wp-block-embed figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-embed iframe{max-width:100%}.wp-block-embed__wrapper{position:relative}.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before{content:"";display:block;padding-top:50%}.wp-embed-responsive .wp-has-aspect-ratio iframe{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{padding-top:42.85%}.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before{padding-top:50%}.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before{padding-top:56.25%}.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before{padding-top:75%}.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before{padding-top:100%}.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before{padding-top:177.77%}.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before{padding-top:200%}.wp-block-file{box-sizing:border-box}.wp-block-file:not(.wp-element-button){font-size:.8em}.wp-block-file.aligncenter{text-align:center}.wp-block-file.alignright{text-align:right}.wp-block-file *+.wp-block-file__button{margin-left:.75em}:where(.wp-block-file){margin-bottom:1.5em}.wp-block-file__embed{margin-bottom:1em}:where(.wp-block-file__button){border-radius:2em;display:inline-block;padding:.5em 1em}:where(.wp-block-file__button):is(a):active,:where(.wp-block-file__button):is(a):focus,:where(.wp-block-file__button):is(a):hover,:where(.wp-block-file__button):is(a):visited{box-shadow:none;color:#fff;opacity:.85;text-decoration:none}.wp-block-form-input__label{display:flex;flex-direction:column;gap:.25em;margin-bottom:.5em;width:100%}.wp-block-form-input__label.is-label-inline{align-items:center;flex-direction:row;gap:.5em}.wp-block-form-input__label.is-label-inline .wp-block-form-input__label-content{margin-bottom:.5em}.wp-block-form-input__label:has(input[type=checkbox]){flex-direction:row-reverse;width:-moz-fit-content;width:fit-content}.wp-block-form-input__label-content{width:-moz-fit-content;width:fit-content}.wp-block-form-input__input{font-size:1em;margin-bottom:.5em;padding:0 .5em}.wp-block-form-input__input[type=date],.wp-block-form-input__input[type=datetime-local],.wp-block-form-input__input[type=datetime],.wp-block-form-input__input[type=email],.wp-block-form-input__input[type=month],.wp-block-form-input__input[type=number],.wp-block-form-input__input[type=password],.wp-block-form-input__input[type=search],.wp-block-form-input__input[type=tel],.wp-block-form-input__input[type=text],.wp-block-form-input__input[type=time],.wp-block-form-input__input[type=url],.wp-block-form-input__input[type=week]{border:1px solid;line-height:2;min-height:2em}textarea.wp-block-form-input__input{min-height:10em}.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 1em 1em 0;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure{align-items:flex-end;display:flex;height:100%;justify-content:flex-start;margin:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img{display:block;height:auto;max-width:100%;width:auto}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption{flex-grow:1}.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img{flex:1;height:100%;object-fit:cover;width:100%}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item{margin-right:0;width:100%}@media (min-width:600px){.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item{margin-right:1em;width:calc(33.33333% - .66667em)}.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item{margin-right:1em;width:calc(25% - .75em)}.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item{margin-right:1em;width:calc(20% - .8em)}.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item{margin-right:1em;width:calc(16.66667% - .83333em)}.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item{margin-right:1em;width:calc(14.28571% - .85714em)}.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item{margin-right:1em;width:calc(12.5% - .875em)}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n){margin-right:0}}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child{margin-right:0}.blocks-gallery-grid:not(.has-nested-images).alignleft,.blocks-gallery-grid:not(.has-nested-images).alignright,.wp-block-gallery:not(.has-nested-images).alignleft,.wp-block-gallery:not(.has-nested-images).alignright{max-width:420px;width:100%}.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}figure.wp-block-gallery.has-nested-images{align-items:normal}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image{box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{flex-direction:column;flex-grow:1;margin:0}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%!important;width:auto}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:13px;left:0;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-width:thin;text-align:center;width:100%;will-change:transform}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar{height:12px;width:12px}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track{background-color:transparent}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb{background-color:hsla(0,0%,100%,.8)}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover{scrollbar-color:hsla(0,0%,100%,.8) transparent}@media (hover:none){.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{scrollbar-color:hsla(0,0%,100%,.8) transparent}}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a{color:inherit}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div{flex:1 1 auto}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption{background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-basis:100%;flex-grow:1;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-bottom:auto;margin-top:0}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){align-self:inherit}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone){display:flex}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{flex:1 0 0%;height:100%;object-fit:cover;width:100%}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){width:calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*.8)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){width:calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*.83333)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){width:calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*.85714)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){width:calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*.875)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image){width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child{width:100%}}.wp-block-gallery.has-nested-images.alignleft,.wp-block-gallery.has-nested-images.alignright{max-width:420px;width:100%}.wp-block-gallery.has-nested-images.aligncenter{justify-content:center}.wp-block-group{box-sizing:border-box}h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-left-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-left-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:0;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active){animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}ol.wp-block-latest-comments{box-sizing:border-box;margin-left:0}:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment)){line-height:1.1}:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment-excerpt p)){line-height:1.8}.has-dates :where(.wp-block-latest-comments:not([style*=line-height])),.has-excerpts :where(.wp-block-latest-comments:not([style*=line-height])){line-height:1.5}.wp-block-latest-comments .wp-block-latest-comments{padding-left:0}.wp-block-latest-comments__comment{list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{list-style:none;min-height:2.25em}.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta{margin-left:3.25em}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;margin:.36em 0 1.4em}.wp-block-latest-comments__comment-date{display:block;font-size:.75em}.wp-block-latest-comments .avatar,.wp-block-latest-comments__comment-avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;width:2.5em}.wp-block-latest-comments[class*=-font-size] a,.wp-block-latest-comments[style*=font-size] a{font-size:inherit}.wp-block-latest-posts{box-sizing:border-box}.wp-block-latest-posts.alignleft{margin-right:2em}.wp-block-latest-posts.alignright{margin-left:2em}.wp-block-latest-posts.wp-block-latest-posts__list{list-style:none;padding-left:0}.wp-block-latest-posts.wp-block-latest-posts__list li{clear:both}.wp-block-latest-posts.is-grid{display:flex;flex-wrap:wrap;padding:0}.wp-block-latest-posts.is-grid li{margin:0 1.25em 1.25em 0;width:100%}@media (min-width:600px){.wp-block-latest-posts.columns-2 li{width:calc(50% - .625em)}.wp-block-latest-posts.columns-2 li:nth-child(2n){margin-right:0}.wp-block-latest-posts.columns-3 li{width:calc(33.33333% - .83333em)}.wp-block-latest-posts.columns-3 li:nth-child(3n){margin-right:0}.wp-block-latest-posts.columns-4 li{width:calc(25% - .9375em)}.wp-block-latest-posts.columns-4 li:nth-child(4n){margin-right:0}.wp-block-latest-posts.columns-5 li{width:calc(20% - 1em)}.wp-block-latest-posts.columns-5 li:nth-child(5n){margin-right:0}.wp-block-latest-posts.columns-6 li{width:calc(16.66667% - 1.04167em)}.wp-block-latest-posts.columns-6 li:nth-child(6n){margin-right:0}}.wp-block-latest-posts__post-author,.wp-block-latest-posts__post-date{display:block;font-size:.8125em}.wp-block-latest-posts__post-excerpt{margin-bottom:1em;margin-top:.5em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;max-width:100%;width:auto}.wp-block-latest-posts__featured-image.alignleft{float:left;margin-right:1em}.wp-block-latest-posts__featured-image.alignright{float:right;margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}ol,ul{box-sizing:border-box}ol.has-background,ul.has-background{padding:1.25em 2.375em}.wp-block-media-text{box-sizing:border-box; /*!rtl:begin:ignore*/direction:ltr; /*!rtl:end:ignore*/display:grid;grid-template-columns:50% 1fr;grid-template-rows:auto}.wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 50%}.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media{align-self:start}.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .wp-block-media-text__media,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media{align-self:center}.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media{align-self:end}.wp-block-media-text .wp-block-media-text__media{ /*!rtl:begin:ignore*/grid-column:1;grid-row:1; @@ -8,4 +8,4 @@ /*!rtl:begin:ignore*/grid-column:2;grid-row:1 /*!rtl:end:ignore*/}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{ /*!rtl:begin:ignore*/grid-column:1;grid-row:1 - /*!rtl:end:ignore*/}.wp-block-media-text__media img,.wp-block-media-text__media video{height:auto;max-width:unset;vertical-align:middle;width:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media{background-size:cover;height:100%;min-height:250px}.wp-block-media-text.is-image-fill .wp-block-media-text__media>a{display:block;height:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media img{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{grid-column:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{grid-column:1;grid-row:2}}.wp-block-navigation{--navigation-layout-justification-setting:flex-start;--navigation-layout-direction:row;--navigation-layout-wrap:wrap;--navigation-layout-justify:flex-start;--navigation-layout-align:center;position:relative}.wp-block-navigation ul{margin-bottom:0;margin-left:0;margin-top:0;padding-left:0}.wp-block-navigation ul,.wp-block-navigation ul li{list-style:none;padding:0}.wp-block-navigation .wp-block-navigation-item{align-items:center;display:flex;position:relative}.wp-block-navigation .wp-block-navigation-item .wp-block-navigation__submenu-container:empty{display:none}.wp-block-navigation .wp-block-navigation-item__content{display:block}.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{color:inherit}.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content,.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:active,.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:focus{text-decoration:underline}.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content,.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:active,.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:focus{text-decoration:line-through}.wp-block-navigation:where(:not([class*=has-text-decoration])) a{text-decoration:none}.wp-block-navigation:where(:not([class*=has-text-decoration])) a:active,.wp-block-navigation:where(:not([class*=has-text-decoration])) a:focus{text-decoration:none}.wp-block-navigation .wp-block-navigation__submenu-icon{align-self:center;background-color:inherit;border:none;color:currentColor;display:inline-block;font-size:inherit;height:.6em;line-height:0;margin-left:.25em;padding:0;width:.6em}.wp-block-navigation .wp-block-navigation__submenu-icon svg{stroke:currentColor;display:inline-block;height:inherit;margin-top:.075em;width:inherit}.wp-block-navigation.is-vertical{--navigation-layout-direction:column;--navigation-layout-justify:initial;--navigation-layout-align:flex-start}.wp-block-navigation.no-wrap{--navigation-layout-wrap:nowrap}.wp-block-navigation.items-justified-center{--navigation-layout-justification-setting:center;--navigation-layout-justify:center}.wp-block-navigation.items-justified-center.is-vertical{--navigation-layout-align:center}.wp-block-navigation.items-justified-right{--navigation-layout-justification-setting:flex-end;--navigation-layout-justify:flex-end}.wp-block-navigation.items-justified-right.is-vertical{--navigation-layout-align:flex-end}.wp-block-navigation.items-justified-space-between{--navigation-layout-justification-setting:space-between;--navigation-layout-justify:space-between}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{align-items:normal;background-color:inherit;color:inherit;display:flex;flex-direction:column;height:0;left:-1px;opacity:0;overflow:hidden;position:absolute;top:100%;transition:opacity .1s linear;visibility:hidden;width:0;z-index:2}.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content{display:flex;flex-grow:1}.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content .wp-block-navigation__submenu-icon{margin-left:auto;margin-right:0}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content{margin:0}@media (min-width:782px){.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:100%;top:-1px}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:transparent;content:"";display:block;height:100%;position:absolute;right:100%;width:.5em}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon{margin-right:.25em}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon svg{transform:rotate(-90deg)}}.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container{left:0;top:100%}@media (min-width:782px){.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:100%;top:0}}.wp-block-navigation-submenu{display:flex;position:relative}.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg{stroke:currentColor}button.wp-block-navigation-item__content{background-color:transparent;border:none;color:currentColor;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;text-align:left;text-transform:inherit}.wp-block-navigation-submenu__toggle{cursor:pointer}.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle{padding-right:.85em}.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle+.wp-block-navigation__submenu-icon{margin-left:-.6em;pointer-events:none}.wp-block-navigation .wp-block-page-list,.wp-block-navigation__container,.wp-block-navigation__responsive-close,.wp-block-navigation__responsive-container,.wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-dialog{gap:inherit}:where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation.has-background .wp-block-navigation-submenu a:not(.wp-element-button)){padding:.5em 1em}:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu button.wp-block-navigation-item__content),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content){padding:.5em 1em}.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container{left:auto;right:0}.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:-1px;right:-1px}@media (min-width:782px){.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:auto;right:100%}}.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container{background-color:#fff;border:1px solid rgba(0,0,0,.15)}.wp-block-navigation.has-background .wp-block-navigation__submenu-container{background-color:inherit}.wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container{color:#000}.wp-block-navigation__container{align-items:var(--navigation-layout-align,initial);display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial);list-style:none;margin:0;padding-left:0}.wp-block-navigation__container .is-responsive{display:none}.wp-block-navigation__container:only-child,.wp-block-page-list:only-child{flex-grow:1}@keyframes overlay-menu__fade-in-animation{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:translateY(0)}}.wp-block-navigation__responsive-container{bottom:0;display:none;left:0;position:fixed;right:0;top:0}.wp-block-navigation__responsive-container :where(.wp-block-navigation-item a){color:inherit}.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{align-items:var(--navigation-layout-align,initial);display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial)}.wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open){background-color:inherit!important;color:inherit!important}.wp-block-navigation__responsive-container.is-menu-open{animation:overlay-menu__fade-in-animation .1s ease-out;animation-fill-mode:forwards;background-color:inherit;display:flex;flex-direction:column;overflow:auto;padding:clamp(1rem,var(--wp--style--root--padding-top),20rem) clamp(1rem,var(--wp--style--root--padding-right),20rem) clamp(1rem,var(--wp--style--root--padding-bottom),20rem) clamp(1rem,var(--wp--style--root--padding-left),20em);z-index:100000}@media (prefers-reduced-motion:reduce){.wp-block-navigation__responsive-container.is-menu-open{animation-delay:0s;animation-duration:1ms}}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:var(--navigation-layout-justification-setting,inherit);display:flex;flex-direction:column;flex-wrap:nowrap;overflow:visible;padding-top:calc(2rem + 24px)}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list{justify-content:flex-start}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon{display:none}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container{border:none;height:auto;min-width:200px;opacity:1;overflow:initial;padding-left:2rem;padding-right:2rem;position:static;visibility:visible;width:auto}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{gap:inherit}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{padding-top:var(--wp--style--block-gap,2em)}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content{padding:0}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list{align-items:var(--navigation-layout-justification-setting,initial);display:flex;flex-direction:column}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation__submenu-container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list{background:transparent!important;color:inherit!important}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{left:auto;right:auto}@media (min-width:600px){.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){background-color:inherit;display:block;position:relative;width:100%;z-index:auto}.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close{display:none}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{left:0}}.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{background-color:#fff}.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open{color:#000}.wp-block-navigation__toggle_button_label{font-size:1rem;font-weight:700}.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{background:transparent;border:none;color:currentColor;cursor:pointer;margin:0;padding:0;text-transform:inherit;vertical-align:middle}.wp-block-navigation__responsive-container-close svg,.wp-block-navigation__responsive-container-open svg{fill:currentColor;display:block;height:24px;pointer-events:none;width:24px}.wp-block-navigation__responsive-container-open{display:flex}.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open{font-family:inherit;font-size:inherit;font-weight:inherit}@media (min-width:600px){.wp-block-navigation__responsive-container-open:not(.always-shown){display:none}}.wp-block-navigation__responsive-container-close{position:absolute;right:0;top:0;z-index:2}.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close{font-family:inherit;font-size:inherit;font-weight:inherit}.wp-block-navigation__responsive-close{width:100%}.has-modal-open .wp-block-navigation__responsive-close{margin-left:auto;margin-right:auto;max-width:var(--wp--style--global--wide-size,100%)}.wp-block-navigation__responsive-close:focus{outline:none}.is-menu-open .wp-block-navigation__responsive-close,.is-menu-open .wp-block-navigation__responsive-container-content,.is-menu-open .wp-block-navigation__responsive-dialog{box-sizing:border-box}.wp-block-navigation__responsive-dialog{position:relative}.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog{margin-top:46px}@media (min-width:782px){.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog{margin-top:32px}}html.has-modal-open{overflow:hidden}.wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word}.wp-block-navigation .wp-block-navigation-item__description{display:none}.wp-block-navigation .wp-block-page-list{align-items:var(--navigation-layout-align,initial);background-color:inherit;display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial)}.wp-block-navigation .wp-block-navigation-item{background-color:inherit}.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}p.has-background{padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}.wp-block-post-author{display:flex;flex-wrap:wrap}.wp-block-post-author__byline{font-size:.5em;margin-bottom:0;margin-top:0;width:100%}.wp-block-post-author__avatar{margin-right:1em}.wp-block-post-author__bio{font-size:.7em;margin-bottom:.7em}.wp-block-post-author__content{flex-basis:0;flex-grow:1}.wp-block-post-author__name{margin:0}.wp-block-post-comments-form{box-sizing:border-box}.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title){font-weight:inherit}.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title){font-family:inherit}.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title),.wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title){font-size:inherit}.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title){line-height:inherit}.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title){font-style:inherit}.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title){letter-spacing:inherit}.wp-block-post-comments-form input[type=submit]{box-shadow:none;cursor:pointer;display:inline-block;overflow-wrap:break-word;text-align:center}.wp-block-post-comments-form input:not([type=submit]),.wp-block-post-comments-form textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments-form textarea{padding:calc(.667em + 2px)}.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.wp-block-post-comments-form .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments-form .comment-form-author label,.wp-block-post-comments-form .comment-form-email label,.wp-block-post-comments-form .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments-form .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments-form .comment-reply-title{margin-bottom:0}.wp-block-post-comments-form .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-left:.5em}.wp-block-post-date{box-sizing:border-box}:where(.wp-block-post-excerpt){margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap)}.wp-block-post-excerpt__excerpt{margin-bottom:0;margin-top:0}.wp-block-post-excerpt__more-text{margin-bottom:0;margin-top:var(--wp--style--block-gap)}.wp-block-post-excerpt__more-link{display:inline-block}.wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:block;height:100%}.wp-block-post-featured-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom;width:100%}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim{background-color:#000;inset:0;position:absolute}.wp-block-post-featured-image{position:relative}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient{background-color:transparent}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0{opacity:0}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10{opacity:.1}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20{opacity:.2}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30{opacity:.3}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40{opacity:.4}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50{opacity:.5}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60{opacity:.6}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70{opacity:.7}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80{opacity:.8}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90{opacity:.9}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100{opacity:1}.wp-block-post-featured-image:where(.alignleft,.alignright){width:100%}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous{display:inline-block;margin-right:1ch}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next{display:inline-block;margin-left:1ch}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-post-navigation-link.has-text-align-left[style*="writing-mode: vertical-lr"],.wp-block-post-navigation-link.has-text-align-right[style*="writing-mode: vertical-rl"]{rotate:180deg}.wp-block-post-terms{box-sizing:border-box}.wp-block-post-terms .wp-block-post-terms__separator{white-space:pre-wrap}.wp-block-post-time-to-read,.wp-block-post-title{box-sizing:border-box}.wp-block-post-title{word-break:break-word}.wp-block-post-title a{display:inline-block}.wp-block-preformatted{box-sizing:border-box;white-space:pre-wrap}:where(.wp-block-preformatted.has-background){padding:1.25em 2.375em}.wp-block-pullquote{box-sizing:border-box;overflow-wrap:break-word;padding:3em 0;text-align:center}.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{color:inherit}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:420px}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}:where(.wp-block-pullquote){margin:0 0 1em}.wp-block-pullquote.has-text-align-left blockquote{text-align:left}.wp-block-pullquote.has-text-align-right blockquote{text-align:right}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-left:auto;margin-right:auto;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:2em;margin-bottom:0;margin-top:0}.wp-block-pullquote.is-style-solid-color blockquote cite{font-style:normal;text-transform:none}.wp-block-pullquote cite{color:inherit}.wp-block-post-template{list-style:none;margin-bottom:0;margin-top:0;max-width:100%;padding:0}.wp-block-post-template.wp-block-post-template{background:none}.wp-block-post-template.is-flex-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.25em}.wp-block-post-template.is-flex-container>li{margin:0;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li{width:calc(33.33333% - .83333em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}}@media (max-width:600px){.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid{grid-template-columns:1fr}}.wp-block-post-template-is-layout-constrained>li>.alignright,.wp-block-post-template-is-layout-flow>li>.alignright{-webkit-margin-start:2em;-webkit-margin-end:0;float:right;margin-inline-end:0;margin-inline-start:2em}.wp-block-post-template-is-layout-constrained>li>.alignleft,.wp-block-post-template-is-layout-flow>li>.alignleft{-webkit-margin-start:0;-webkit-margin-end:2em;float:left;margin-inline-end:2em;margin-inline-start:0}.wp-block-post-template-is-layout-constrained>li>.aligncenter,.wp-block-post-template-is-layout-flow>li>.aligncenter{-webkit-margin-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-inline-start:auto}.wp-block-query-pagination>.wp-block-query-pagination-next,.wp-block-query-pagination>.wp-block-query-pagination-numbers,.wp-block-query-pagination>.wp-block-query-pagination-previous{margin-bottom:.5em;margin-right:.5em}.wp-block-query-pagination>.wp-block-query-pagination-next:last-child,.wp-block-query-pagination>.wp-block-query-pagination-numbers:last-child,.wp-block-query-pagination>.wp-block-query-pagination-previous:last-child{margin-right:0}.wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-next:last-of-type{-webkit-margin-start:auto;margin-inline-start:auto}.wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-previous:first-child{-webkit-margin-end:auto;margin-inline-end:auto}.wp-block-query-pagination .wp-block-query-pagination-previous-arrow{display:inline-block;margin-right:1ch}.wp-block-query-pagination .wp-block-query-pagination-previous-arrow:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-query-pagination .wp-block-query-pagination-next-arrow{display:inline-block;margin-left:1ch}.wp-block-query-pagination .wp-block-query-pagination-next-arrow:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-query-pagination.aligncenter{justify-content:center}.wp-block-query-title,.wp-block-quote{box-sizing:border-box}.wp-block-quote{overflow-wrap:break-word}.wp-block-quote.is-large:where(:not(.is-style-plain)),.wp-block-quote.is-style-large:where(:not(.is-style-plain)){margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large:where(:not(.is-style-plain)) p,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-large:where(:not(.is-style-plain)) footer,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) footer{font-size:1.125em;text-align:right}.wp-block-read-more{display:block;width:-moz-fit-content;width:fit-content}.wp-block-read-more:not([style*=text-decoration]),.wp-block-read-more:not([style*=text-decoration]):active,.wp-block-read-more:not([style*=text-decoration]):focus{text-decoration:none}ul.wp-block-rss{list-style:none;padding:0}ul.wp-block-rss.wp-block-rss{box-sizing:border-box}ul.wp-block-rss.alignleft{margin-right:2em}ul.wp-block-rss.alignright{margin-left:2em}ul.wp-block-rss.is-grid{display:flex;flex-wrap:wrap;list-style:none;padding:0}ul.wp-block-rss.is-grid li{margin:0 1em 1em 0;width:100%}@media (min-width:600px){ul.wp-block-rss.columns-2 li{width:calc(50% - 1em)}ul.wp-block-rss.columns-3 li{width:calc(33.33333% - 1em)}ul.wp-block-rss.columns-4 li{width:calc(25% - 1em)}ul.wp-block-rss.columns-5 li{width:calc(20% - 1em)}ul.wp-block-rss.columns-6 li{width:calc(16.66667% - 1em)}}.wp-block-rss__item-author,.wp-block-rss__item-publish-date{display:block;font-size:.8125em}.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;min-height:24px;min-width:24px;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-left:0;max-width:calc(100% - 100px)}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search__button-behavior-expand .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}.wp-block[data-align=right] .wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{float:right}.wp-block-separator{border:1px solid;border-left:none;border-right:none}.wp-block-separator.is-style-dots{background:none!important;border:none;height:auto;line-height:1;text-align:center}.wp-block-separator.is-style-dots:before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}.wp-block-site-logo{box-sizing:border-box;line-height:0}.wp-block-site-logo a{display:inline-block;line-height:0}.wp-block-site-logo.is-default-size img{height:auto;width:120px}.wp-block-site-logo img{height:auto;max-width:100%}.wp-block-site-logo a,.wp-block-site-logo img{border-radius:inherit}.wp-block-site-logo.aligncenter{margin-left:auto;margin-right:auto;text-align:center}.wp-block-site-logo.is-style-rounded{border-radius:9999px}.wp-block-site-title a{color:inherit}.wp-block-social-links{background:none;box-sizing:border-box;margin-left:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#ff424d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads,.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#ff424d}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{stroke:#000;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-threads,.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-x{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000}.wp-block-spacer{clear:both}.wp-block-tag-cloud{box-sizing:border-box}.wp-block-tag-cloud.aligncenter{justify-content:center;text-align:center}.wp-block-tag-cloud.alignfull{padding-left:1em;padding-right:1em}.wp-block-tag-cloud a{display:inline-block;margin-right:5px}.wp-block-tag-cloud span{display:inline-block;margin-left:5px;text-decoration:none}.wp-block-tag-cloud.is-style-outline{display:flex;flex-wrap:wrap;gap:1ch}.wp-block-tag-cloud.is-style-outline a{border:1px solid;font-size:unset!important;margin-right:0;padding:1ch 2ch;text-decoration:none!important}.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:transparent;border-bottom:1px solid #f0f0f0;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:transparent}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:currentColor}.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{border-right-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:currentColor}.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{border-left-color:inherit}.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{border-style:inherit}.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{border-style:inherit;border-width:inherit}:where(.wp-block-term-description){margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap)}.wp-block-term-description p{margin-bottom:0;margin-top:0}.wp-block-text-columns,.wp-block-text-columns.aligncenter{display:flex}.wp-block-text-columns .wp-block-column{margin:0 1em;padding:0}.wp-block-text-columns .wp-block-column:first-child{margin-left:0}.wp-block-text-columns .wp-block-column:last-child{margin-right:0}.wp-block-text-columns.columns-2 .wp-block-column{width:50%}.wp-block-text-columns.columns-3 .wp-block-column{width:33.33333%}.wp-block-text-columns.columns-4 .wp-block-column{width:25%}pre.wp-block-verse{overflow:auto;white-space:pre-wrap}:where(pre.wp-block-verse){font-family:inherit}.wp-block-video{box-sizing:border-box}.wp-block-video video{vertical-align:middle;width:100%}@supports (position:sticky){.wp-block-video [poster]{object-fit:cover}}.wp-block-video.aligncenter{text-align:center}.wp-block-video figcaption{margin-bottom:1em;margin-top:.5em}.editor-styles-wrapper,.entry-content{counter-reset:footnotes}a[data-fn].fn{counter-increment:footnotes;display:inline-flex;font-size:smaller;text-decoration:none;text-indent:-9999999px;vertical-align:super}a[data-fn].fn:after{content:"[" counter(footnotes) "]";float:left;text-indent:0}.wp-element-button{cursor:pointer}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{clip:auto!important;background-color:#ddd;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} \ No newline at end of file + /*!rtl:end:ignore*/}.wp-block-media-text__media img,.wp-block-media-text__media video{height:auto;max-width:unset;vertical-align:middle;width:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media{background-size:cover;height:100%;min-height:250px}.wp-block-media-text.is-image-fill .wp-block-media-text__media>a{display:block;height:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media img{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{grid-column:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{grid-column:1;grid-row:2}}.wp-block-navigation{--navigation-layout-justification-setting:flex-start;--navigation-layout-direction:row;--navigation-layout-wrap:wrap;--navigation-layout-justify:flex-start;--navigation-layout-align:center;position:relative}.wp-block-navigation ul{margin-bottom:0;margin-left:0;margin-top:0;padding-left:0}.wp-block-navigation ul,.wp-block-navigation ul li{list-style:none;padding:0}.wp-block-navigation .wp-block-navigation-item{align-items:center;display:flex;position:relative}.wp-block-navigation .wp-block-navigation-item .wp-block-navigation__submenu-container:empty{display:none}.wp-block-navigation .wp-block-navigation-item__content{display:block}.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{color:inherit}.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content,.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:active,.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:focus{text-decoration:underline}.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content,.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:active,.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:focus{text-decoration:line-through}.wp-block-navigation:where(:not([class*=has-text-decoration])) a{text-decoration:none}.wp-block-navigation:where(:not([class*=has-text-decoration])) a:active,.wp-block-navigation:where(:not([class*=has-text-decoration])) a:focus{text-decoration:none}.wp-block-navigation .wp-block-navigation__submenu-icon{align-self:center;background-color:inherit;border:none;color:currentColor;display:inline-block;font-size:inherit;height:.6em;line-height:0;margin-left:.25em;padding:0;width:.6em}.wp-block-navigation .wp-block-navigation__submenu-icon svg{stroke:currentColor;display:inline-block;height:inherit;margin-top:.075em;width:inherit}.wp-block-navigation.is-vertical{--navigation-layout-direction:column;--navigation-layout-justify:initial;--navigation-layout-align:flex-start}.wp-block-navigation.no-wrap{--navigation-layout-wrap:nowrap}.wp-block-navigation.items-justified-center{--navigation-layout-justification-setting:center;--navigation-layout-justify:center}.wp-block-navigation.items-justified-center.is-vertical{--navigation-layout-align:center}.wp-block-navigation.items-justified-right{--navigation-layout-justification-setting:flex-end;--navigation-layout-justify:flex-end}.wp-block-navigation.items-justified-right.is-vertical{--navigation-layout-align:flex-end}.wp-block-navigation.items-justified-space-between{--navigation-layout-justification-setting:space-between;--navigation-layout-justify:space-between}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{align-items:normal;background-color:inherit;color:inherit;display:flex;flex-direction:column;height:0;left:-1px;opacity:0;overflow:hidden;position:absolute;top:100%;transition:opacity .1s linear;visibility:hidden;width:0;z-index:2}.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content{display:flex;flex-grow:1}.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content .wp-block-navigation__submenu-icon{margin-left:auto;margin-right:0}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content{margin:0}@media (min-width:782px){.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:100%;top:-1px}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:transparent;content:"";display:block;height:100%;position:absolute;right:100%;width:.5em}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon{margin-right:.25em}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon svg{transform:rotate(-90deg)}}.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container{left:0;top:100%}@media (min-width:782px){.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:100%;top:0}}.wp-block-navigation-submenu{display:flex;position:relative}.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg{stroke:currentColor}button.wp-block-navigation-item__content{background-color:transparent;border:none;color:currentColor;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;text-align:left;text-transform:inherit}.wp-block-navigation-submenu__toggle{cursor:pointer}.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle{padding-left:0;padding-right:.85em}.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle+.wp-block-navigation__submenu-icon{margin-left:-.6em;pointer-events:none}.wp-block-navigation-item.open-on-click button.wp-block-navigation-item__content:not(.wp-block-navigation-submenu__toggle){padding:0}.wp-block-navigation .wp-block-page-list,.wp-block-navigation__container,.wp-block-navigation__responsive-close,.wp-block-navigation__responsive-container,.wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-dialog{gap:inherit}:where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation.has-background .wp-block-navigation-submenu a:not(.wp-element-button)){padding:.5em 1em}:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu button.wp-block-navigation-item__content),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content){padding:.5em 1em}.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container{left:auto;right:0}.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:-1px;right:-1px}@media (min-width:782px){.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:auto;right:100%}}.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container{background-color:#fff;border:1px solid rgba(0,0,0,.15)}.wp-block-navigation.has-background .wp-block-navigation__submenu-container{background-color:inherit}.wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container{color:#000}.wp-block-navigation__container{align-items:var(--navigation-layout-align,initial);display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial);list-style:none;margin:0;padding-left:0}.wp-block-navigation__container .is-responsive{display:none}.wp-block-navigation__container:only-child,.wp-block-page-list:only-child{flex-grow:1}@keyframes overlay-menu__fade-in-animation{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:translateY(0)}}.wp-block-navigation__responsive-container{bottom:0;display:none;left:0;position:fixed;right:0;top:0}.wp-block-navigation__responsive-container :where(.wp-block-navigation-item a){color:inherit}.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{align-items:var(--navigation-layout-align,initial);display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial)}.wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open){background-color:inherit!important;color:inherit!important}.wp-block-navigation__responsive-container.is-menu-open{animation:overlay-menu__fade-in-animation .1s ease-out;animation-fill-mode:forwards;background-color:inherit;display:flex;flex-direction:column;overflow:auto;padding:clamp(1rem,var(--wp--style--root--padding-top),20rem) clamp(1rem,var(--wp--style--root--padding-right),20rem) clamp(1rem,var(--wp--style--root--padding-bottom),20rem) clamp(1rem,var(--wp--style--root--padding-left),20em);z-index:100000}@media (prefers-reduced-motion:reduce){.wp-block-navigation__responsive-container.is-menu-open{animation-delay:0s;animation-duration:1ms}}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:var(--navigation-layout-justification-setting,inherit);display:flex;flex-direction:column;flex-wrap:nowrap;overflow:visible;padding-top:calc(2rem + 24px)}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list{justify-content:flex-start}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon{display:none}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container{border:none;height:auto;min-width:200px;opacity:1;overflow:initial;padding-left:2rem;padding-right:2rem;position:static;visibility:visible;width:auto}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{gap:inherit}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{padding-top:var(--wp--style--block-gap,2em)}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content{padding:0}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list{align-items:var(--navigation-layout-justification-setting,initial);display:flex;flex-direction:column}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation__submenu-container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list{background:transparent!important;color:inherit!important}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{left:auto;right:auto}:not(.is-collapsed)>.wp-block-navigation__responsive-container:not(.is-menu-open){background-color:inherit;display:block;position:relative;width:100%;z-index:auto}:not(.is-collapsed)>.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close{display:none}:not(.is-collapsed)>.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{left:0}.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{background-color:#fff}.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open{color:#000}.wp-block-navigation__toggle_button_label{font-size:1rem;font-weight:700}.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{background:transparent;border:none;color:currentColor;cursor:pointer;margin:0;padding:0;text-transform:inherit;vertical-align:middle}.wp-block-navigation__responsive-container-close svg,.wp-block-navigation__responsive-container-open svg{fill:currentColor;display:block;height:24px;pointer-events:none;width:24px}.wp-block-navigation__responsive-container-open{display:flex}.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open{font-family:inherit;font-size:inherit;font-weight:inherit}:not(.is-collapsed)>.wp-block-navigation__responsive-container-open{display:none}.wp-block-navigation__responsive-container-close{position:absolute;right:0;top:0;z-index:2}.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close{font-family:inherit;font-size:inherit;font-weight:inherit}.wp-block-navigation__responsive-close{width:100%}.has-modal-open .wp-block-navigation__responsive-close{margin-left:auto;margin-right:auto;max-width:var(--wp--style--global--wide-size,100%)}.wp-block-navigation__responsive-close:focus{outline:none}.is-menu-open .wp-block-navigation__responsive-close,.is-menu-open .wp-block-navigation__responsive-container-content,.is-menu-open .wp-block-navigation__responsive-dialog{box-sizing:border-box}.wp-block-navigation__responsive-dialog{position:relative}.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog{margin-top:46px}@media (min-width:782px){.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog{margin-top:32px}}html.has-modal-open{overflow:hidden}.wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word}.wp-block-navigation .wp-block-navigation-item__description{display:none}.wp-block-navigation .wp-block-page-list{align-items:var(--navigation-layout-align,initial);background-color:inherit;display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial)}.wp-block-navigation .wp-block-navigation-item{background-color:inherit}.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}p.has-background{padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}.wp-block-post-author{display:flex;flex-wrap:wrap}.wp-block-post-author__byline{font-size:.5em;margin-bottom:0;margin-top:0;width:100%}.wp-block-post-author__avatar{margin-right:1em}.wp-block-post-author__bio{font-size:.7em;margin-bottom:.7em}.wp-block-post-author__content{flex-basis:0;flex-grow:1}.wp-block-post-author__name{margin:0}.wp-block-post-comments-form{box-sizing:border-box}.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title){font-weight:inherit}.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title){font-family:inherit}.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title),.wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title){font-size:inherit}.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title){line-height:inherit}.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title){font-style:inherit}.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title){letter-spacing:inherit}.wp-block-post-comments-form input[type=submit]{box-shadow:none;cursor:pointer;display:inline-block;overflow-wrap:break-word;text-align:center}.wp-block-post-comments-form input:not([type=submit]),.wp-block-post-comments-form textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments-form textarea{padding:calc(.667em + 2px)}.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.wp-block-post-comments-form .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments-form .comment-form-author label,.wp-block-post-comments-form .comment-form-email label,.wp-block-post-comments-form .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments-form .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments-form .comment-reply-title{margin-bottom:0}.wp-block-post-comments-form .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-left:.5em}.wp-block-post-date{box-sizing:border-box}:where(.wp-block-post-excerpt){margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap)}.wp-block-post-excerpt__excerpt{margin-bottom:0;margin-top:0}.wp-block-post-excerpt__more-text{margin-bottom:0;margin-top:var(--wp--style--block-gap)}.wp-block-post-excerpt__more-link{display:inline-block}.wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:block;height:100%}.wp-block-post-featured-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom;width:100%}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim{background-color:#000;inset:0;position:absolute}.wp-block-post-featured-image{position:relative}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient{background-color:transparent}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0{opacity:0}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10{opacity:.1}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20{opacity:.2}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30{opacity:.3}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40{opacity:.4}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50{opacity:.5}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60{opacity:.6}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70{opacity:.7}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80{opacity:.8}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90{opacity:.9}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100{opacity:1}.wp-block-post-featured-image:where(.alignleft,.alignright){width:100%}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous{display:inline-block;margin-right:1ch}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next{display:inline-block;margin-left:1ch}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-post-navigation-link.has-text-align-left[style*="writing-mode: vertical-lr"],.wp-block-post-navigation-link.has-text-align-right[style*="writing-mode: vertical-rl"]{rotate:180deg}.wp-block-post-terms{box-sizing:border-box}.wp-block-post-terms .wp-block-post-terms__separator{white-space:pre-wrap}.wp-block-post-time-to-read,.wp-block-post-title{box-sizing:border-box}.wp-block-post-title{word-break:break-word}.wp-block-post-title a{display:inline-block}.wp-block-preformatted{box-sizing:border-box;white-space:pre-wrap}:where(.wp-block-preformatted.has-background){padding:1.25em 2.375em}.wp-block-pullquote{box-sizing:border-box;overflow-wrap:break-word;padding:4em 0;text-align:center}.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{color:inherit}.wp-block-pullquote blockquote{margin:0}.wp-block-pullquote p{margin-top:0}.wp-block-pullquote p:last-child{margin-bottom:0}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:420px}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}:where(.wp-block-pullquote){margin:0 0 1em}.wp-block-pullquote.has-text-align-left blockquote{text-align:left}.wp-block-pullquote.has-text-align-right blockquote{text-align:right}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-left:auto;margin-right:auto;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:2em;margin-bottom:0;margin-top:0}.wp-block-pullquote.is-style-solid-color blockquote cite{font-style:normal;text-transform:none}.wp-block-pullquote cite{color:inherit}.wp-block-post-template{list-style:none;margin-bottom:0;margin-top:0;max-width:100%;padding:0}.wp-block-post-template.wp-block-post-template{background:none}.wp-block-post-template.is-flex-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.25em}.wp-block-post-template.is-flex-container>li{margin:0;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li{width:calc(33.33333% - .83333em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}}@media (max-width:600px){.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid{grid-template-columns:1fr}}.wp-block-post-template-is-layout-constrained>li>.alignright,.wp-block-post-template-is-layout-flow>li>.alignright{float:right;margin-inline-end:0;margin-inline-start:2em}.wp-block-post-template-is-layout-constrained>li>.alignleft,.wp-block-post-template-is-layout-flow>li>.alignleft{float:left;margin-inline-end:2em;margin-inline-start:0}.wp-block-post-template-is-layout-constrained>li>.aligncenter,.wp-block-post-template-is-layout-flow>li>.aligncenter{margin-inline-end:auto;margin-inline-start:auto}.wp-block-query-pagination>.wp-block-query-pagination-next,.wp-block-query-pagination>.wp-block-query-pagination-numbers,.wp-block-query-pagination>.wp-block-query-pagination-previous{margin-bottom:.5em;margin-right:.5em}.wp-block-query-pagination>.wp-block-query-pagination-next:last-child,.wp-block-query-pagination>.wp-block-query-pagination-numbers:last-child,.wp-block-query-pagination>.wp-block-query-pagination-previous:last-child{margin-right:0}.wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-next:last-of-type{margin-inline-start:auto}.wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-previous:first-child{margin-inline-end:auto}.wp-block-query-pagination .wp-block-query-pagination-previous-arrow{display:inline-block;margin-right:1ch}.wp-block-query-pagination .wp-block-query-pagination-previous-arrow:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-query-pagination .wp-block-query-pagination-next-arrow{display:inline-block;margin-left:1ch}.wp-block-query-pagination .wp-block-query-pagination-next-arrow:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-query-pagination.aligncenter{justify-content:center}.wp-block-query-title,.wp-block-quote{box-sizing:border-box}.wp-block-quote{overflow-wrap:break-word}.wp-block-quote.is-large:where(:not(.is-style-plain)),.wp-block-quote.is-style-large:where(:not(.is-style-plain)){margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large:where(:not(.is-style-plain)) p,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-large:where(:not(.is-style-plain)) footer,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) footer{font-size:1.125em;text-align:right}.wp-block-quote>cite{display:block}.wp-block-read-more{display:block;width:-moz-fit-content;width:fit-content}.wp-block-read-more:where(:not([style*=text-decoration])){text-decoration:none}.wp-block-read-more:where(:not([style*=text-decoration])):active,.wp-block-read-more:where(:not([style*=text-decoration])):focus{text-decoration:none}ul.wp-block-rss{list-style:none;padding:0}ul.wp-block-rss.wp-block-rss{box-sizing:border-box}ul.wp-block-rss.alignleft{margin-right:2em}ul.wp-block-rss.alignright{margin-left:2em}ul.wp-block-rss.is-grid{display:flex;flex-wrap:wrap;list-style:none;padding:0}ul.wp-block-rss.is-grid li{margin:0 1em 1em 0;width:100%}@media (min-width:600px){ul.wp-block-rss.columns-2 li{width:calc(50% - 1em)}ul.wp-block-rss.columns-3 li{width:calc(33.33333% - 1em)}ul.wp-block-rss.columns-4 li{width:calc(25% - 1em)}ul.wp-block-rss.columns-5 li{width:calc(20% - 1em)}ul.wp-block-rss.columns-6 li{width:calc(16.66667% - 1em)}}.wp-block-rss__item-author,.wp-block-rss__item-publish-date{display:block;font-size:.8125em}.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;min-height:24px;min-width:24px;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{max-width:calc(100% - 100px)}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right}.wp-block-separator{border:1px solid;border-left:none;border-right:none}.wp-block-separator.is-style-dots{background:none!important;border:none;height:auto;line-height:1;text-align:center}.wp-block-separator.is-style-dots:before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}.wp-block-site-logo{box-sizing:border-box;line-height:0}.wp-block-site-logo a{display:inline-block;line-height:0}.wp-block-site-logo.is-default-size img{height:auto;width:120px}.wp-block-site-logo img{height:auto;max-width:100%}.wp-block-site-logo a,.wp-block-site-logo img{border-radius:inherit}.wp-block-site-logo.aligncenter{margin-left:auto;margin-right:auto;text-align:center}.wp-block-site-logo.is-style-rounded{border-radius:9999px}.wp-block-site-title a{color:inherit}.wp-block-social-links{background:none;box-sizing:border-box;margin-left:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link.wp-social-link{display:inline-block;margin:0;padding:0}.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar{background-color:#1d4fc4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#ff424d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads,.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar{color:#1d4fc4}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#ff424d}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{stroke:#000;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-threads,.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-x{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000}.wp-block-spacer{clear:both}.wp-block-tag-cloud{box-sizing:border-box}.wp-block-tag-cloud.aligncenter{justify-content:center;text-align:center}.wp-block-tag-cloud.alignfull{padding-left:1em;padding-right:1em}.wp-block-tag-cloud a{display:inline-block;margin-right:5px}.wp-block-tag-cloud span{display:inline-block;margin-left:5px;text-decoration:none}.wp-block-tag-cloud.is-style-outline{display:flex;flex-wrap:wrap;gap:1ch}.wp-block-tag-cloud.is-style-outline a{border:1px solid;font-size:unset!important;margin-right:0;padding:1ch 2ch;text-decoration:none!important}.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:transparent;border-bottom:1px solid #f0f0f0;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:transparent}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:currentColor}.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{border-right-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:currentColor}.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{border-left-color:inherit}.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{border-style:inherit}.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{border-style:inherit;border-width:inherit}:where(.wp-block-term-description){margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap)}.wp-block-term-description p{margin-bottom:0;margin-top:0}.wp-block-text-columns,.wp-block-text-columns.aligncenter{display:flex}.wp-block-text-columns .wp-block-column{margin:0 1em;padding:0}.wp-block-text-columns .wp-block-column:first-child{margin-left:0}.wp-block-text-columns .wp-block-column:last-child{margin-right:0}.wp-block-text-columns.columns-2 .wp-block-column{width:50%}.wp-block-text-columns.columns-3 .wp-block-column{width:33.33333%}.wp-block-text-columns.columns-4 .wp-block-column{width:25%}pre.wp-block-verse{overflow:auto;white-space:pre-wrap}:where(pre.wp-block-verse){font-family:inherit}.wp-block-video{box-sizing:border-box}.wp-block-video video{vertical-align:middle;width:100%}@supports (position:sticky){.wp-block-video [poster]{object-fit:cover}}.wp-block-video.aligncenter{text-align:center}.wp-block-video figcaption{margin-bottom:1em;margin-top:.5em}.editor-styles-wrapper,.entry-content{counter-reset:footnotes}a[data-fn].fn{counter-increment:footnotes;display:inline-flex;font-size:smaller;text-decoration:none;text-indent:-9999999px;vertical-align:super}a[data-fn].fn:after{content:"[" counter(footnotes) "]";float:left;text-indent:0}.wp-element-button{cursor:pointer}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{clip:auto!important;background-color:#ddd;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} \ No newline at end of file diff --git a/wp-includes/css/dist/components/style-rtl.css b/wp-includes/css/dist/components/style-rtl.css index 28e5bf323b..3f82a8c288 100644 --- a/wp-includes/css/dist/components/style-rtl.css +++ b/wp-includes/css/dist/components/style-rtl.css @@ -206,12 +206,14 @@ } .components-button.is-secondary:disabled,.components-button.is-secondary[aria-disabled=true],.components-button.is-secondary[aria-disabled=true]:hover,.components-button.is-tertiary:disabled,.components-button.is-tertiary[aria-disabled=true],.components-button.is-tertiary[aria-disabled=true]:hover{ background:transparent; - box-shadow:none; color:#949494; opacity:1; - outline:none; transform:none; } +.components-button.is-secondary:disabled:not(:focus),.components-button.is-secondary[aria-disabled=true]:hover:not(:focus),.components-button.is-secondary[aria-disabled=true]:not(:focus),.components-button.is-tertiary:disabled:not(:focus),.components-button.is-tertiary[aria-disabled=true]:hover:not(:focus),.components-button.is-tertiary[aria-disabled=true]:not(:focus){ + box-shadow:none; + outline:none; +} .components-button.is-secondary{ background:transparent; box-shadow:inset 0 0 0 1px var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); @@ -219,7 +221,7 @@ outline:1px solid transparent; white-space:nowrap; } -.components-button.is-secondary:hover:not(:disabled){ +.components-button.is-secondary:hover:not(:disabled,[aria-disabled=true]){ box-shadow:inset 0 0 0 1px var(--wp-components-color-accent-darker-10, var(--wp-admin-theme-color-darker-10, #2145e6)); } .components-button.is-tertiary{ @@ -291,6 +293,11 @@ p+.components-button.is-tertiary{ background-size:100px 100%; opacity:1; } +@media (prefers-reduced-motion:reduce){ + .components-button.is-busy,.components-button.is-secondary.is-busy,.components-button.is-secondary.is-busy:disabled,.components-button.is-secondary.is-busy[aria-disabled=true]{ + animation-duration:0s; + } +} .components-button.is-compact{ height:32px; } @@ -588,13 +595,13 @@ svg.components-checkbox-control__checked,svg.components-checkbox-control__indete .components-circular-option-picker__option:hover{ box-shadow:inset 0 0 0 14px !important; } -.components-circular-option-picker__option.is-pressed{ +.components-circular-option-picker__option[aria-pressed=true],.components-circular-option-picker__option[aria-selected=true]{ box-shadow:inset 0 0 0 4px; overflow:visible; position:relative; z-index:1; } -.components-circular-option-picker__option.is-pressed+svg{ +.components-circular-option-picker__option[aria-pressed=true]+svg,.components-circular-option-picker__option[aria-selected=true]+svg{ border-radius:50%; pointer-events:none; position:absolute; @@ -646,7 +653,7 @@ svg.components-checkbox-control__checked,svg.components-checkbox-control__indete .components-palette-edit__popover-gradient-picker{ padding:8px; - width:280px; + width:260px; } .components-dropdown-menu__menu .components-palette-edit__menu-button{ @@ -935,7 +942,7 @@ input.components-combobox-control__input[type=text]:focus{ list-style-type:none; padding:8px 16px; } -.components-custom-select-control__item:not(.is-next-36px-default-size){ +.components-custom-select-control__item:not(.is-next-40px-default-size){ padding:8px; } .components-custom-select-control__item.has-hint{ @@ -1053,6 +1060,10 @@ body.is-dragging-components-draggable{ white-space:nowrap; } +.components-dropdown-menu__toggle{ + vertical-align:top; +} + .components-dropdown-menu__menu{ font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif; font-size:13px; @@ -1156,7 +1167,9 @@ body.is-dragging-components-draggable{ content:""; display:inline-block; height:18px; - transition:background .2s ease; + overflow:hidden; + position:relative; + transition:background-color .2s ease,border-color .2s ease; vertical-align:top; width:36px; } @@ -1166,9 +1179,24 @@ body.is-dragging-components-draggable{ transition-duration:0s; } } +.components-form-toggle .components-form-toggle__track:after{ + border-top:18px solid transparent; + box-sizing:border-box; + content:""; + inset:0; + opacity:0; + position:absolute; + transition:opacity .2s ease; +} +@media (prefers-reduced-motion:reduce){ + .components-form-toggle .components-form-toggle__track:after{ + transition-delay:0s; + transition-duration:0s; + } +} .components-form-toggle .components-form-toggle__thumb{ background-color:#1e1e1e; - border:5px solid #1e1e1e; + border:6px solid transparent; border-radius:50%; box-sizing:border-box; display:block; @@ -1176,7 +1204,7 @@ body.is-dragging-components-draggable{ position:absolute; right:3px; top:3px; - transition:transform .1s ease; + transition:transform .2s ease,background-color .2s ease-out; width:12px; } @media (prefers-reduced-motion:reduce){ @@ -1187,7 +1215,10 @@ body.is-dragging-components-draggable{ } .components-form-toggle.is-checked .components-form-toggle__track{ background-color:var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); - border:9px solid transparent; + border-color:var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); +} +.components-form-toggle.is-checked .components-form-toggle__track:after{ + opacity:1; } .components-form-toggle .components-form-toggle__input:focus+.components-form-toggle__track{ box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff, 0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); @@ -1390,6 +1421,7 @@ body.is-dragging-components-draggable{ max-height:128px; min-width:100%; overflow-y:auto; + padding:0; transition:all .15s ease-in-out; } @media (prefers-reduced-motion:reduce){ @@ -1400,6 +1432,7 @@ body.is-dragging-components-draggable{ } .components-form-token-field__suggestion{ + box-sizing:border-box; color:#1e1e1e; cursor:pointer; display:block; @@ -1685,6 +1718,20 @@ body.is-dragging-components-draggable{ width:calc(100% - 80px); } } +@media (min-width:600px){ + .components-modal__frame.has-size-large,.components-modal__frame.has-size-medium,.components-modal__frame.has-size-small{ + width:100%; + } + .components-modal__frame.has-size-small{ + max-width:384px; + } + .components-modal__frame.has-size-medium{ + max-width:512px; + } + .components-modal__frame.has-size-large{ + max-width:840px; + } +} @media (min-width:960px){ .components-modal__frame{ max-height:70%; @@ -1773,7 +1820,6 @@ body.is-dragging-components-draggable{ display:flex; font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif; font-size:13px; - margin:5px 15px 2px; padding:8px 12px; } .components-notice.is-dismissible{ @@ -2312,18 +2358,33 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right stroke:#1e1e1e; } +.components-popover-pointer-events-trap{ + background-color:transparent; + inset:0; + position:fixed; + z-index:1000000; +} + +.components-radio-control__option{ + align-items:center; + display:flex; +} + .components-radio-control__input[type=radio]{ + -webkit-appearance:none; + appearance:none; border:1px solid #1e1e1e; border-radius:2px; border-radius:50%; box-shadow:0 0 0 transparent; + cursor:pointer; + display:inline-flex; font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif; font-size:16px; height:24px; line-height:normal; - margin-left:6px; - margin-top:0; - padding:6px 8px; + margin:0 0 0 6px; + padding:0; transition:box-shadow .1s linear; transition:none; width:24px; @@ -2382,6 +2443,21 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right background:var(--wp-admin-theme-color); border-color:var(--wp-admin-theme-color); } +.components-radio-control__input[type=radio]:focus{ + box-shadow:0 0 0 2px var(--wp-components-color-background, #fff), 0 0 0 4px var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); +} +.components-radio-control__input[type=radio]:checked{ + background:var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); + border-color:var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); +} +.components-radio-control__input[type=radio]:checked:before{ + border-radius:50%; + content:""; +} + +.components-radio-control__label{ + cursor:pointer; +} .components-resizable-box__handle{ display:none; @@ -2608,6 +2684,8 @@ body.lockscroll,html.lockscroll{ } .components-search-control.is-size-compact input[type=search].components-search-control__input{ height:32px; + padding-left:32px; + padding-right:8px; } .components-search-control__icon{ @@ -2620,6 +2698,9 @@ body.lockscroll,html.lockscroll{ transform:translateY(-50%); width:24px; } +.is-size-compact .components-search-control__icon{ + left:4px; +} .components-search-control__input-wrapper{ position:relative; @@ -2664,12 +2745,13 @@ body.lockscroll,html.lockscroll{ cursor:default; } .components-snackbar .components-snackbar__content-with-icon{ - margin-right:24px; + padding-right:24px; + position:relative; } .components-snackbar .components-snackbar__icon{ position:absolute; - right:28px; - top:24px; + right:-8px; + top:-2.9px; } .components-snackbar .components-snackbar__dismiss-button{ cursor:pointer; @@ -2796,6 +2878,7 @@ body.lockscroll,html.lockscroll{ box-shadow:0 0 0 transparent; font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif; font-size:16px; + height:32px; line-height:normal; padding:6px 8px; transition:box-shadow .1s linear; @@ -2828,6 +2911,9 @@ body.lockscroll,html.lockscroll{ .components-text-control__input:-ms-input-placeholder,.components-text-control__input[type=color]:-ms-input-placeholder,.components-text-control__input[type=date]:-ms-input-placeholder,.components-text-control__input[type=datetime-local]:-ms-input-placeholder,.components-text-control__input[type=datetime]:-ms-input-placeholder,.components-text-control__input[type=email]:-ms-input-placeholder,.components-text-control__input[type=month]:-ms-input-placeholder,.components-text-control__input[type=number]:-ms-input-placeholder,.components-text-control__input[type=password]:-ms-input-placeholder,.components-text-control__input[type=tel]:-ms-input-placeholder,.components-text-control__input[type=text]:-ms-input-placeholder,.components-text-control__input[type=time]:-ms-input-placeholder,.components-text-control__input[type=url]:-ms-input-placeholder,.components-text-control__input[type=week]:-ms-input-placeholder{ color:rgba(30,30,30,.62); } +.components-text-control__input.is-next-40px-default-size,.components-text-control__input[type=color].is-next-40px-default-size,.components-text-control__input[type=date].is-next-40px-default-size,.components-text-control__input[type=datetime-local].is-next-40px-default-size,.components-text-control__input[type=datetime].is-next-40px-default-size,.components-text-control__input[type=email].is-next-40px-default-size,.components-text-control__input[type=month].is-next-40px-default-size,.components-text-control__input[type=number].is-next-40px-default-size,.components-text-control__input[type=password].is-next-40px-default-size,.components-text-control__input[type=tel].is-next-40px-default-size,.components-text-control__input[type=text].is-next-40px-default-size,.components-text-control__input[type=time].is-next-40px-default-size,.components-text-control__input[type=url].is-next-40px-default-size,.components-text-control__input[type=week].is-next-40px-default-size{ + height:40px; +} .components-tip{ color:#757575; @@ -2852,6 +2938,12 @@ body.lockscroll,html.lockscroll{ .components-accessible-toolbar>.components-toolbar-group:last-child{ border-left:none; } +.components-accessible-toolbar.is-unstyled{ + border:none; +} +.components-accessible-toolbar.is-unstyled>.components-toolbar-group{ + border-left:none; +} .components-accessible-toolbar .components-button,.components-toolbar .components-button{ height:48px; @@ -2894,7 +2986,7 @@ body.lockscroll,html.lockscroll{ background:#1e1e1e; } .components-accessible-toolbar .components-button:focus:before,.components-toolbar .components-button:focus:before{ - box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 4px #fff; + box-shadow:inset 0 0 0 1px var(--wp-components-color-background, #fff), 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); outline:2px solid transparent; } .components-accessible-toolbar .components-button.has-icon.has-icon,.components-toolbar .components-button.has-icon.has-icon{ @@ -2936,9 +3028,6 @@ body.lockscroll,html.lockscroll{ line-height:12px; position:absolute; } -.components-toolbar__control.components-button:active:before{ - display:none; -} .components-toolbar__control.components-button:not(:disabled).is-pressed[data-subscript]:after{ color:#fff; } diff --git a/wp-includes/css/dist/components/style-rtl.min.css b/wp-includes/css/dist/components/style-rtl.min.css index cc7a56459a..b63d82afe7 100644 --- a/wp-includes/css/dist/components/style-rtl.min.css +++ b/wp-includes/css/dist/components/style-rtl.min.css @@ -1 +1 @@ -@charset "UTF-8";:root{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-animate__appear{animation:components-animate__appear-animation .1s cubic-bezier(0,0,.2,1) 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-animate__appear{animation-delay:0s;animation-duration:1ms}}.components-animate__appear.is-from-top,.components-animate__appear.is-from-top.is-from-left{transform-origin:top right}.components-animate__appear.is-from-top.is-from-right{transform-origin:top left}.components-animate__appear.is-from-bottom,.components-animate__appear.is-from-bottom.is-from-left{transform-origin:bottom right}.components-animate__appear.is-from-bottom.is-from-right{transform-origin:bottom left}@keyframes components-animate__appear-animation{0%{transform:translateY(-2em) scaleY(0) scaleX(0)}to{transform:translateY(0) scaleY(1) scaleX(1)}}.components-animate__slide-in{animation:components-animate__slide-in-animation .1s cubic-bezier(0,0,.2,1);animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-animate__slide-in{animation-delay:0s;animation-duration:1ms}}.components-animate__slide-in.is-from-left{transform:translateX(-100%)}.components-animate__slide-in.is-from-right{transform:translateX(100%)}@keyframes components-animate__slide-in-animation{to{transform:translateX(0)}}.components-animate__loading{animation:components-animate__loading 1.6s ease-in-out infinite}@keyframes components-animate__loading{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.components-autocomplete__popover .components-popover__content{min-width:220px;padding:16px}.components-autocomplete__result.components-button{display:flex;height:auto;min-height:36px;text-align:right;width:100%}.components-autocomplete__result.components-button.is-selected{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button-group{display:inline-block}.components-button-group .components-button{border-radius:0;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;display:inline-flex}.components-button-group .components-button+.components-button{margin-right:-1px}.components-button-group .components-button:first-child{border-radius:0 2px 2px 0}.components-button-group .components-button:last-child{border-radius:2px 0 0 2px}.components-button-group .components-button.is-primary,.components-button-group .components-button:focus{position:relative;z-index:1}.components-button-group .components-button.is-primary{box-shadow:inset 0 0 0 1px #1e1e1e}.components-button{align-items:center;-webkit-appearance:none;background:none;border:0;border-radius:2px;box-sizing:border-box;color:var(--wp-components-color-foreground,#1e1e1e);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:400;height:36px;margin:0;padding:6px 12px;text-decoration:none;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.components-button{transition-delay:0s;transition-duration:0s}}.components-button.is-next-40px-default-size{height:40px}.components-button:hover,.components-button[aria-expanded=true]{color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button:disabled:hover,.components-button[aria-disabled=true]:hover{color:initial}.components-button:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:3px solid transparent}.components-button.is-primary{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent-inverted,#fff);outline:1px solid transparent;text-decoration:none;text-shadow:none;white-space:nowrap}.components-button.is-primary:hover:not(:disabled){background:var(--wp-components-color-accent-darker-10,var(--wp-admin-theme-color-darker-10,#2145e6));color:var(--wp-components-color-accent-inverted,#fff)}.components-button.is-primary:active:not(:disabled){background:var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6));border-color:var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6));color:var(--wp-components-color-accent-inverted,#fff)}.components-button.is-primary:focus:not(:disabled){box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button.is-primary:disabled,.components-button.is-primary:disabled:active:enabled,.components-button.is-primary[aria-disabled=true],.components-button.is-primary[aria-disabled=true]:active:enabled,.components-button.is-primary[aria-disabled=true]:enabled{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:hsla(0,0%,100%,.4);opacity:1;outline:none}.components-button.is-primary:disabled:active:enabled:focus:enabled,.components-button.is-primary:disabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:active:enabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:enabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:focus:enabled{box-shadow:0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 3px var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button.is-primary.is-busy,.components-button.is-primary.is-busy:disabled,.components-button.is-primary.is-busy[aria-disabled=true]{background-image:linear-gradient(45deg,var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9)) 33%,var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6)) 33%,var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6)) 70%,var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9)) 70%);background-size:100px 100%;border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent-inverted,#fff)}.components-button.is-secondary,.components-button.is-tertiary{outline:1px solid transparent}.components-button.is-secondary:active:not(:disabled),.components-button.is-tertiary:active:not(:disabled){box-shadow:none}.components-button.is-secondary:disabled,.components-button.is-secondary[aria-disabled=true],.components-button.is-secondary[aria-disabled=true]:hover,.components-button.is-tertiary:disabled,.components-button.is-tertiary[aria-disabled=true],.components-button.is-tertiary[aria-disabled=true]:hover{background:transparent;box-shadow:none;color:#949494;opacity:1;outline:none;transform:none}.components-button.is-secondary{background:transparent;box-shadow:inset 0 0 0 1px var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:1px solid transparent;white-space:nowrap}.components-button.is-secondary:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--wp-components-color-accent-darker-10,var(--wp-admin-theme-color-darker-10,#2145e6))}.components-button.is-tertiary{background:transparent;color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));white-space:nowrap}.components-button.is-tertiary:hover:not(:disabled,[aria-disabled=true]){background:rgba(var(--wp-admin-theme-color--rgb),.04)}.components-button.is-tertiary:active:not(:disabled,[aria-disabled=true]){background:rgba(var(--wp-admin-theme-color--rgb),.08)}p+.components-button.is-tertiary{margin-right:-6px}.components-button.is-destructive{--wp-components-color-accent:#cc1818;--wp-components-color-accent-darker-10:#9e1313;--wp-components-color-accent-darker-20:#710d0d}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link){color:#cc1818}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link):hover:not(:disabled){color:#710d0d}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link):focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) #cc1818}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link):active:not(:disabled){background:#ccc}.components-button.is-link{background:none;border:0;border-radius:0;box-shadow:none;color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));height:auto;margin:0;outline:none;padding:0;text-align:right;text-decoration:underline;transition-duration:.05s;transition-property:border,background,color;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.components-button.is-link{transition-delay:0s;transition-duration:0s}}.components-button.is-link:focus{border-radius:2px}.components-button:not(:disabled,[aria-disabled=true]):active{color:var(--wp-components-color-foreground,#1e1e1e)}.components-button:disabled,.components-button[aria-disabled=true]{cursor:default;opacity:.3}.components-button.is-busy,.components-button.is-secondary.is-busy,.components-button.is-secondary.is-busy:disabled,.components-button.is-secondary.is-busy[aria-disabled=true]{animation:components-button__busy-animation 2.5s linear infinite;background-image:linear-gradient(45deg,#fafafa 33%,#e0e0e0 0,#e0e0e0 70%,#fafafa 0);background-size:100px 100%;opacity:1}.components-button.is-compact{height:32px}.components-button.is-compact.has-icon:not(.has-text){min-width:32px;padding:0;width:32px}.components-button.is-small{font-size:11px;height:24px;line-height:22px;padding:0 8px}.components-button.is-small.has-icon:not(.has-text){min-width:24px;padding:0;width:24px}.components-button.has-icon{justify-content:center;min-width:36px;padding:6px}.components-button.has-icon.is-next-40px-default-size{min-width:40px}.components-button.has-icon .dashicon{align-items:center;box-sizing:content-box;display:inline-flex;justify-content:center;padding:2px}.components-button.has-icon.has-text{gap:4px;justify-content:start;padding-left:12px;padding-right:8px}.components-button.is-pressed{background:var(--wp-components-color-foreground,#1e1e1e);color:var(--wp-components-color-foreground-inverted,#fff)}.components-button.is-pressed:focus:not(:disabled){box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.components-button.is-pressed:hover:not(:disabled){background:var(--wp-components-color-foreground,#1e1e1e);color:var(--wp-components-color-foreground-inverted,#fff)}.components-button svg{fill:currentColor;outline:none}@media (forced-colors:active){.components-button svg{fill:CanvasText}}.components-button .components-visually-hidden{height:auto}@keyframes components-button__busy-animation{0%{background-position:right 200px top 0}}.components-checkbox-control__input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #1e1e1e;border-radius:2px;box-shadow:0 0 0 transparent;clear:none;color:#1e1e1e;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:24px;line-height:normal;line-height:0;margin:0 0 0 4px;outline:0;padding:6px 8px;padding:0!important;text-align:center;transition:box-shadow .1s linear;transition:none;transition:border-color .1s ease-in-out;vertical-align:top;width:24px}@media (min-width:600px){.components-checkbox-control__input[type=checkbox]{font-size:13px;line-height:normal}}.components-checkbox-control__input[type=checkbox]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-checkbox-control__input[type=checkbox]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox]:checked::-ms-check{opacity:0}.components-checkbox-control__input[type=checkbox]:checked:before,.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{color:#fff;margin:-3px -5px}@media (min-width:782px){.components-checkbox-control__input[type=checkbox]:checked:before,.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{margin:-4px -5px 0 0}}.components-checkbox-control__input[type=checkbox][aria-checked=mixed]{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";display:inline-block;float:right;font:normal 30px/1 dashicons;vertical-align:middle;width:16px}@media (min-width:782px){.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{float:none;font-size:21px}}@media (min-width:600px){.components-checkbox-control__input[type=checkbox]{height:20px;width:20px}}@media (prefers-reduced-motion:reduce){.components-checkbox-control__input[type=checkbox]{transition-delay:0s;transition-duration:0s}}.components-checkbox-control__input[type=checkbox]:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:2px}.components-checkbox-control__input[type=checkbox]:checked,.components-checkbox-control__input[type=checkbox]:indeterminate{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-checkbox-control__input[type=checkbox]:checked::-ms-check,.components-checkbox-control__input[type=checkbox]:indeterminate::-ms-check{opacity:0}.components-checkbox-control__input[type=checkbox]:checked:before{content:none}.components-checkbox-control__input-container{display:inline-block;height:24px;margin-left:12px;position:relative;vertical-align:middle;width:24px}@media (min-width:600px){.components-checkbox-control__input-container{height:20px;width:20px}}svg.components-checkbox-control__checked,svg.components-checkbox-control__indeterminate{fill:#fff;cursor:pointer;height:24px;pointer-events:none;position:absolute;right:0;top:0;-webkit-user-select:none;user-select:none;width:24px}@media (min-width:600px){svg.components-checkbox-control__checked,svg.components-checkbox-control__indeterminate{right:-2px;top:-2px}}.components-circular-option-picker{display:inline-block;min-width:188px;width:100%}.components-circular-option-picker .components-circular-option-picker__custom-clear-wrapper{display:flex;justify-content:flex-end;margin-top:12px}.components-circular-option-picker .components-circular-option-picker__swatches{display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:1}.components-circular-option-picker>:not(.components-circular-option-picker__swatches){position:relative;z-index:0}.components-circular-option-picker__option-wrapper{display:inline-block;height:28px;transform:scale(1);transition:transform .1s ease;vertical-align:top;width:28px;will-change:transform}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option-wrapper{transition-delay:0s;transition-duration:0s}}.components-circular-option-picker__option-wrapper:hover{transform:scale(1.2)}.components-circular-option-picker__option-wrapper>div{height:100%;width:100%}.components-circular-option-picker__option-wrapper:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none'%3E%3Cpath fill='%23555D65' d='M6 8V6H4v2h2zm2 0V6h2v2H8zm2 8H8v-2h2v2zm2 0v-2h2v2h-2zm0 2v-2h-2v2H8v2h2v-2h2zm2 0v2h-2v-2h2zm2 0h-2v-2h2v2z'/%3E%3Cpath fill='%23555D65' fill-rule='evenodd' d='M18 18h2v-2h-2v-2h2v-2h-2v-2h2V8h-2v2h-2V8h-2v2h2v2h-2v2h2v2h2v2zm-2-4v-2h2v2h-2z' clip-rule='evenodd'/%3E%3Cpath fill='%23555D65' d='M18 18v2h-2v-2h2z'/%3E%3Cpath fill='%23555D65' fill-rule='evenodd' d='M8 10V8H6v2H4v2h2v2H4v2h2v2H4v2h2v2H4v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2v2h-2V4h-2v2h-2V4h-2v2h-2V4h-2v2h2v2h-2v2H8zm0 2v-2H6v2h2zm2 0v-2h2v2h-2zm0 2v-2H8v2H6v2h2v2H6v2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h-2v2h-2V6h-2v2h-2v2h2v2h-2v2h-2z' clip-rule='evenodd'/%3E%3Cpath fill='%23555D65' fill-rule='evenodd' d='M4 0H2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2V2h2V0h-2v2h-2V0h-2v2h-2V0h-2v2h-2V0h-2v2h-2V0h-2v2H8V0H6v2H4V0zm0 4V2H2v2h2zm2 0V2h2v2H6zm0 2V4H4v2H2v2h2v2H2v2h2v2H2v2h2v2H2v2h2v2H2v2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2V2h-2v2h-2V2h-2v2h-2V2h-2v2h-2V2h-2v2H8v2H6z' clip-rule='evenodd'/%3E%3C/svg%3E");border-radius:50%;bottom:1px;content:"";left:1px;position:absolute;right:1px;top:1px;z-index:-1}.components-circular-option-picker__option{background:transparent;border:none;border-radius:50%;box-shadow:inset 0 0 0 14px;cursor:pointer;display:inline-block;height:100%;transition:box-shadow .1s ease;vertical-align:top;width:100%}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option{transition-delay:0s;transition-duration:0s}}.components-circular-option-picker__option:hover{box-shadow:inset 0 0 0 14px!important}.components-circular-option-picker__option.is-pressed{box-shadow:inset 0 0 0 4px;overflow:visible;position:relative;z-index:1}.components-circular-option-picker__option.is-pressed+svg{border-radius:50%;pointer-events:none;position:absolute;right:2px;top:2px;z-index:2}.components-circular-option-picker__option:after{border:1px solid transparent;border-radius:50%;bottom:-1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);box-sizing:inherit;content:"";left:-1px;position:absolute;right:-1px;top:-1px}.components-circular-option-picker__option:focus:after{border:2px solid #757575;border-radius:50%;box-shadow:inset 0 0 0 2px #fff;content:"";height:calc(100% + 4px);position:absolute;right:50%;top:50%;transform:translate(50%,-50%);width:calc(100% + 4px)}.components-circular-option-picker__option.components-button:focus{background-color:transparent;box-shadow:inset 0 0 0 14px;outline:none}.components-circular-option-picker__button-action .components-circular-option-picker__option{background:#fff;color:#fff}.components-circular-option-picker__dropdown-link-action{margin-left:16px}.components-circular-option-picker__dropdown-link-action .components-button{line-height:22px}.components-palette-edit__popover-gradient-picker{padding:8px;width:280px}.components-dropdown-menu__menu .components-palette-edit__menu-button{width:100%}.component-color-indicator{background:#fff linear-gradient(45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0);border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);display:inline-block;height:20px;padding:0;width:20px}.components-combobox-control{width:100%}input.components-combobox-control__input[type=text]{border:none;box-shadow:none;font-family:inherit;font-size:16px;line-height:inherit;margin:0;min-height:auto;padding:2px;width:100%}@media (min-width:600px){input.components-combobox-control__input[type=text]{font-size:13px}}input.components-combobox-control__input[type=text]:focus{box-shadow:none;outline:none}.components-combobox-control__suggestions-container{align-items:flex-start;border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;display:flex;flex-wrap:wrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:0;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-combobox-control__suggestions-container{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-combobox-control__suggestions-container{font-size:13px;line-height:normal}}.components-combobox-control__suggestions-container:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-combobox-control__suggestions-container::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-combobox-control__suggestions-container::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-combobox-control__suggestions-container:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-combobox-control__suggestions-container:focus-within{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-combobox-control__reset.components-button{display:flex;height:16px;min-width:16px;padding:0}.components-color-palette__custom-color-wrapper{position:relative;z-index:0}.components-color-palette__custom-color-button{background:none;border:none;border-radius:2px 2px 0 0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);box-sizing:border-box;cursor:pointer;height:64px;outline:1px solid transparent;position:relative;width:100%}.components-color-palette__custom-color-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-width:2px}.components-color-palette__custom-color-button:after{background-image:repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0),repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0);background-position:0 0,24px 24px;background-size:48px 48px;content:"";height:100%;position:absolute;right:0;top:0;width:100%;z-index:-1}.components-color-palette__custom-color-text-wrapper{border-radius:0 0 2px 2px;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2),inset -1px 0 0 0 rgba(0,0,0,.2),inset 1px 0 0 0 rgba(0,0,0,.2);font-size:13px;padding:12px 16px;position:relative}.components-color-palette__custom-color-name{color:var(--wp-components-color-foreground,#1e1e1e);margin:0 1px}.components-color-palette__custom-color-value{color:#757575}.components-color-palette__custom-color-value--is-hex{text-transform:uppercase}.components-color-palette__custom-color-value:empty:after{content:"​";visibility:hidden}.components-custom-gradient-picker:not(.is-next-has-no-margin){margin-bottom:24px;margin-top:12px}.components-custom-gradient-picker__gradient-bar{border-radius:2px;height:48px;position:relative;width:100%;z-index:1}.components-custom-gradient-picker__gradient-bar.has-gradient{background-image:repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0),repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0);background-position:0 0,12px 12px;background-size:24px 24px}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__gradient-bar-background{inset:0;position:absolute}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__markers-container{margin-left:auto;margin-right:auto;position:relative;width:calc(100% - 48px)}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-dropdown{display:flex;height:16px;position:absolute;top:16px;width:16px}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point-dropdown{background:#fff;border-radius:50%;color:#1e1e1e;height:inherit;min-width:16px;padding:2px;position:relative;width:inherit}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point-dropdown svg{height:100%;width:100%}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button{border-radius:50%;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 2px 0 rgba(0,0,0,.25);height:inherit;outline:2px solid transparent;padding:0;width:inherit}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button.is-active,.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button:focus{box-shadow:inset 0 0 0 calc(var(--wp-admin-border-width-focus)*2) #fff,0 0 2px 0 rgba(0,0,0,.25);outline:1.5px solid transparent}.components-custom-gradient-picker__remove-control-point-wrapper{padding-bottom:8px}.components-custom-gradient-picker__inserter{direction:ltr}.components-custom-gradient-picker__liner-gradient-indicator{display:inline-block;flex:0 auto;height:20px;width:20px}.components-custom-gradient-picker .components-custom-gradient-picker__toolbar{border:none}.components-custom-gradient-picker .components-custom-gradient-picker__toolbar>div+div{margin-right:1px}.components-custom-gradient-picker .components-custom-gradient-picker__toolbar button.is-pressed>svg{background:#fff;border:1px solid #949494;border-radius:2px}.components-custom-gradient-picker__ui-line{position:relative;z-index:0}.components-custom-select-control{font-size:13px;position:relative}.components-custom-select-control__button{outline:0;position:relative;text-align:right}.components-custom-select-control__hint{color:#949494;margin-right:10px}.components-custom-select-control__menu{background-color:#fff;border:1px solid #1e1e1e;border-radius:2px;max-height:400px;min-width:100%;outline:none;overflow:auto;padding:0;position:absolute;transition:none;z-index:1000000}.components-custom-select-control__menu[aria-hidden=true]{display:none}.components-custom-select-control__item{align-items:center;cursor:default;display:grid;grid-template-columns:auto auto;line-height:28px;list-style-type:none;padding:8px 16px}.components-custom-select-control__item:not(.is-next-36px-default-size){padding:8px}.components-custom-select-control__item.has-hint{grid-template-columns:auto auto 30px}.components-custom-select-control__item.is-highlighted{background:#ddd}.components-custom-select-control__item .components-custom-select-control__item-hint{color:#949494;padding-left:4px;text-align:left}.components-custom-select-control__item .components-custom-select-control__item-icon{margin-right:auto}.components-custom-select-control__item:last-child{margin-bottom:0}.block-editor-dimension-control .components-base-control__field{align-items:center;display:flex}.block-editor-dimension-control .components-base-control__label{align-items:center;display:flex;margin-bottom:0;margin-left:1em}.block-editor-dimension-control .components-base-control__label .dashicon{margin-left:.5em}.block-editor-dimension-control.is-manual .components-base-control__label{width:10em}body.is-dragging-components-draggable{cursor:move;cursor:grabbing!important}.components-draggable__invisible-drag-image{height:50px;position:fixed;right:-1000px;width:50px}.components-draggable__clone{background:transparent;padding:0;pointer-events:none;position:fixed;z-index:1000000000}.components-drop-zone{border-radius:2px;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;visibility:hidden;z-index:40}.components-drop-zone.is-active{opacity:1;visibility:visible}.components-drop-zone__content{align-items:center;background-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));bottom:0;color:#fff;display:flex;height:100%;justify-content:center;left:0;position:absolute;right:0;text-align:center;top:0;width:100%;z-index:50}.components-drop-zone__content-icon,.components-drop-zone__content-text{display:block}.components-drop-zone__content-icon{fill:currentColor;line-height:0;margin:0 auto 8px;pointer-events:none}.components-drop-zone__content-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-dropdown{display:inline-block}.components-dropdown__content .components-popover__content{padding:8px}.components-dropdown__content [role=menuitem]{white-space:nowrap}.components-dropdown-menu__menu{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.4;width:100%}.components-dropdown-menu__menu .components-dropdown-menu__menu-item,.components-dropdown-menu__menu .components-menu-item{cursor:pointer;outline:none;padding:6px;white-space:nowrap;width:100%}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator,.components-dropdown-menu__menu .components-menu-item.has-separator{margin-top:6px;overflow:visible;position:relative}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator:before,.components-dropdown-menu__menu .components-menu-item.has-separator:before{background-color:#ddd;box-sizing:content-box;content:"";display:block;height:1px;left:0;position:absolute;right:0;top:-3px}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-active .dashicon,.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-active svg,.components-dropdown-menu__menu .components-menu-item.is-active .dashicon,.components-dropdown-menu__menu .components-menu-item.is-active svg{background:#1e1e1e;border-radius:1px;box-shadow:0 0 0 1px #1e1e1e;color:#fff}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-icon-only,.components-dropdown-menu__menu .components-menu-item.is-icon-only{width:auto}.components-dropdown-menu__menu .components-menu-item__button,.components-dropdown-menu__menu .components-menu-item__button.components-button{height:auto;min-height:36px;padding-left:8px;padding-right:8px;text-align:right}.components-dropdown-menu__menu .components-menu-group{margin:0 -8px;padding:8px}.components-dropdown-menu__menu .components-menu-group:first-child{margin-top:-8px}.components-dropdown-menu__menu .components-menu-group:last-child{margin-bottom:-8px}.components-dropdown-menu__menu .components-menu-group+.components-menu-group{border-top:1px solid #ccc;margin-top:0;padding:8px}.is-alternate .components-dropdown-menu__menu .components-menu-group+.components-menu-group{border-color:#1e1e1e}.components-duotone-picker__color-indicator:before{background:transparent}.components-duotone-picker__color-indicator>.components-button,.components-duotone-picker__color-indicator>.components-button.is-pressed:hover:not(:disabled){background:linear-gradient(45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0);color:transparent}.components-duotone-picker__color-indicator>.components-button:not([aria-disabled=true]):active{color:transparent}.components-color-list-picker,.components-color-list-picker__swatch-button{width:100%}.components-color-list-picker__color-picker{margin:8px 0}.components-color-list-picker__swatch-button{padding:6px}.components-color-list-picker__swatch-color{margin:2px}.components-form-toggle{display:inline-block;position:relative}.components-form-toggle .components-form-toggle__track{background-color:#fff;border:1px solid #1e1e1e;border-radius:9px;box-sizing:border-box;content:"";display:inline-block;height:18px;transition:background .2s ease;vertical-align:top;width:36px}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__track{transition-delay:0s;transition-duration:0s}}.components-form-toggle .components-form-toggle__thumb{background-color:#1e1e1e;border:5px solid #1e1e1e;border-radius:50%;box-sizing:border-box;display:block;height:12px;position:absolute;right:3px;top:3px;transition:transform .1s ease;width:12px}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__thumb{transition-delay:0s;transition-duration:0s}}.components-form-toggle.is-checked .components-form-toggle__track{background-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border:9px solid transparent}.components-form-toggle .components-form-toggle__input:focus+.components-form-toggle__track{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent;outline-offset:2px}.components-form-toggle.is-checked .components-form-toggle__thumb{background-color:#fff;border-width:0;transform:translateX(-18px)}.components-disabled .components-form-toggle,.components-form-toggle.is-disabled{opacity:.3}.components-form-toggle input.components-form-toggle__input[type=checkbox]{border:none;height:100%;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0;width:100%;z-index:1}.components-form-toggle input.components-form-toggle__input[type=checkbox]:checked{background:none}.components-form-toggle input.components-form-toggle__input[type=checkbox]:before{content:""}.components-form-token-field__input-container{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;cursor:text;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:0;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-form-token-field__input-container{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-form-token-field__input-container{font-size:13px;line-height:normal}}.components-form-token-field__input-container:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-form-token-field__input-container::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-form-token-field__input-container::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-form-token-field__input-container:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-form-token-field__input-container.is-disabled{background:#ddd;border-color:#ddd}.components-form-token-field__input-container.is-active{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-form-token-field__input-container input[type=text].components-form-token-field__input{background:inherit;border:0;box-shadow:none;color:#1e1e1e;display:inline-block;flex:1;font-family:inherit;font-size:16px;margin-right:4px;max-width:100%;min-height:24px;min-width:50px;padding:0;width:100%}@media (min-width:600px){.components-form-token-field__input-container input[type=text].components-form-token-field__input{font-size:13px}}.components-form-token-field.is-active .components-form-token-field__input-container input[type=text].components-form-token-field__input,.components-form-token-field__input-container input[type=text].components-form-token-field__input:focus{box-shadow:none;outline:none}.components-form-token-field__input-container .components-form-token-field__token+input[type=text].components-form-token-field__input{width:auto}.components-form-token-field__token{color:#1e1e1e;display:flex;font-size:13px;max-width:100%}.components-form-token-field__token.is-success .components-form-token-field__remove-token,.components-form-token-field__token.is-success .components-form-token-field__token-text{background:#4ab866}.components-form-token-field__token.is-error .components-form-token-field__remove-token,.components-form-token-field__token.is-error .components-form-token-field__token-text{background:#cc1818}.components-form-token-field__token.is-validating .components-form-token-field__remove-token,.components-form-token-field__token.is-validating .components-form-token-field__token-text{color:#757575}.components-form-token-field__token.is-borderless{padding:0 0 0 24px;position:relative}.components-form-token-field__token.is-borderless .components-form-token-field__token-text{background:transparent;color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-form-token-field__token.is-borderless .components-form-token-field__remove-token{background:transparent;color:#757575;left:0;padding:0;position:absolute;top:1px}.components-form-token-field__token.is-borderless.is-success .components-form-token-field__token-text{color:#4ab866}.components-form-token-field__token.is-borderless.is-error .components-form-token-field__token-text{border-radius:0 4px 4px 0;color:#cc1818;padding:0 6px 0 4px}.components-form-token-field__token.is-borderless.is-validating .components-form-token-field__token-text{color:#1e1e1e}.components-form-token-field__token.is-disabled .components-form-token-field__remove-token{cursor:default}.components-form-token-field__remove-token.components-button,.components-form-token-field__token-text{background:#ddd;display:inline-block;height:auto;line-height:24px;min-width:unset;transition:all .2s cubic-bezier(.4,1,.4,1)}@media (prefers-reduced-motion:reduce){.components-form-token-field__remove-token.components-button,.components-form-token-field__token-text{animation-delay:0s;animation-duration:1ms;transition-delay:0s;transition-duration:0s}}.components-form-token-field__token-text{border-radius:0 2px 2px 0;overflow:hidden;padding:0 8px 0 0;text-overflow:ellipsis;white-space:nowrap}.components-form-token-field__remove-token.components-button{border-radius:2px 0 0 2px;color:#1e1e1e;cursor:pointer;line-height:10px;overflow:initial;padding:0 2px}.components-form-token-field__remove-token.components-button:hover{color:#1e1e1e}.components-form-token-field__suggestions-list{box-shadow:inset 0 1px 0 0 #949494;flex:1 0 100%;list-style:none;margin:0;max-height:128px;min-width:100%;overflow-y:auto;transition:all .15s ease-in-out}@media (prefers-reduced-motion:reduce){.components-form-token-field__suggestions-list{transition-delay:0s;transition-duration:0s}}.components-form-token-field__suggestion{color:#1e1e1e;cursor:pointer;display:block;font-size:13px;margin:0;min-height:32px;padding:8px 12px}.components-form-token-field__suggestion.is-selected{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:#fff}@media (min-width:600px){.components-guide{width:600px}}.components-guide .components-modal__content{border-radius:2px;margin-top:0;padding:0}.components-guide .components-modal__content:before{content:none}.components-guide .components-modal__header{border-bottom:none;height:60px;padding:0;position:sticky}.components-guide .components-modal__header .components-button{align-self:flex-start;margin:8px 0 0 8px;position:static}.components-guide .components-modal__header .components-button:hover svg{fill:#fff}.components-guide__container{display:flex;flex-direction:column;justify-content:space-between;margin-top:-60px;min-height:100%}.components-guide__page{display:flex;flex-direction:column;justify-content:center;position:relative}@media (min-width:600px){.components-guide__page{min-height:300px}}.components-guide__footer{align-content:center;display:flex;height:36px;justify-content:center;margin:0 0 24px;padding:0 32px;position:relative;width:100%}.components-guide__page-control{margin:0;text-align:center}.components-guide__page-control li{display:inline-block;margin:0}.components-guide__page-control .components-button{color:#e0e0e0;height:30px;margin:-6px 0;min-width:20px}.components-guide__page-control li[aria-current=step] .components-button{color:var(--wp-components-color-accent,var(--wp-admin-theme-color))}.components-modal__frame.components-guide{border:none;max-height:575px;min-width:312px}@media (max-width:600px){.components-modal__frame.components-guide{margin:auto;max-width:calc(100vw - 32px)}}.components-button.components-guide__back-button,.components-button.components-guide__finish-button,.components-button.components-guide__forward-button{position:absolute}.components-button.components-guide__back-button{right:32px}.components-button.components-guide__finish-button,.components-button.components-guide__forward-button{left:32px}[role=region]{position:relative}.is-focusing-regions [role=region]:focus:after{bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1000000}.is-focusing-regions .editor-post-publish-panel,.is-focusing-regions .interface-interface-skeleton__actions .edit-post-layout__toggle-entities-saved-states-panel,.is-focusing-regions .interface-interface-skeleton__actions .edit-post-layout__toggle-publish-panel,.is-focusing-regions .interface-interface-skeleton__sidebar .edit-post-layout__toggle-sidebar-panel,.is-focusing-regions [role=region]:focus:after,.is-focusing-regions.is-distraction-free .interface-interface-skeleton__header .edit-post-header{outline:4px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-offset:-4px}.components-menu-group+.components-menu-group{border-top:1px solid #1e1e1e;margin-top:8px;padding-top:8px}.components-menu-group+.components-menu-group.has-hidden-separator{border-top:none;margin-top:0;padding-top:0}.components-menu-group__label{color:#757575;font-size:11px;font-weight:500;margin-bottom:12px;margin-top:4px;padding:0 8px;text-transform:uppercase;white-space:nowrap}.components-menu-item__button,.components-menu-item__button.components-button{width:100%}.components-menu-item__button.components-button[role=menuitemcheckbox] .components-menu-item__item:only-child,.components-menu-item__button.components-button[role=menuitemradio] .components-menu-item__item:only-child,.components-menu-item__button[role=menuitemcheckbox] .components-menu-item__item:only-child,.components-menu-item__button[role=menuitemradio] .components-menu-item__item:only-child{box-sizing:initial;padding-left:48px}.components-menu-item__button .components-menu-items__item-icon,.components-menu-item__button.components-button .components-menu-items__item-icon{display:inline-block;flex:0 0 auto}.components-menu-item__button .components-menu-items__item-icon.has-icon-right,.components-menu-item__button.components-button .components-menu-items__item-icon.has-icon-right{margin-left:-2px;margin-right:24px}.components-menu-item__button .components-menu-item__shortcut+.components-menu-items__item-icon.has-icon-right,.components-menu-item__button.components-button .components-menu-item__shortcut+.components-menu-items__item-icon.has-icon-right{margin-right:8px}.components-menu-item__button .block-editor-block-icon,.components-menu-item__button.components-button .block-editor-block-icon{margin-left:8px;margin-right:-2px}.components-menu-item__button.components-button.is-primary,.components-menu-item__button.is-primary{justify-content:center}.components-menu-item__button.components-button.is-primary .components-menu-item__item,.components-menu-item__button.is-primary .components-menu-item__item{margin-left:0}.components-menu-item__button.components-button:disabled.is-tertiary,.components-menu-item__button.components-button[aria-disabled=true].is-tertiary,.components-menu-item__button:disabled.is-tertiary,.components-menu-item__button[aria-disabled=true].is-tertiary{background:none;color:var(--wp-components-color-accent-darker-10,var(--wp-admin-theme-color-darker-10,#2145e6));opacity:.3}.components-menu-item__info-wrapper{display:flex;flex-direction:column;margin-left:auto}.components-menu-item__info{color:#757575;font-size:12px;margin-top:4px;white-space:normal}.components-menu-item__item{align-items:center;display:inline-flex;margin-left:auto;min-width:160px;white-space:nowrap}.components-menu-item__shortcut{align-self:center;color:currentColor;display:none;margin-left:0;margin-right:auto;padding-right:24px}@media (min-width:480px){.components-menu-item__shortcut{display:inline}}.components-menu-items-choice svg,.components-menu-items-choice.components-button svg{margin-left:12px}.components-menu-items-choice.components-button.has-icon,.components-menu-items-choice.has-icon{padding-right:12px}.components-modal__screen-overlay{animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards;background-color:rgba(0,0,0,.35);bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:100000}@media (prefers-reduced-motion:reduce){.components-modal__screen-overlay{animation-delay:0s;animation-duration:1ms}}.components-modal__frame{animation:components-modal__appear-animation .1s ease-out;animation-fill-mode:forwards;background:#fff;border-radius:4px 4px 0 0;box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),-.1px 11.5px 16.4px -.5px rgba(0,0,0,.15);display:flex;margin:40px 0 0;overflow:hidden;width:100%}@media (prefers-reduced-motion:reduce){.components-modal__frame{animation-delay:0s;animation-duration:1ms}}@media (min-width:600px){.components-modal__frame{border-radius:4px;margin:auto;max-height:calc(100% - 120px);max-width:calc(100% - 32px);min-width:350px;width:auto}}@media (min-width:600px) and (min-width:600px){.components-modal__frame.is-full-screen{height:calc(100% - 32px);max-height:none;width:calc(100% - 32px)}}@media (min-width:600px) and (min-width:782px){.components-modal__frame.is-full-screen{height:calc(100% - 80px);max-width:none;width:calc(100% - 80px)}}@media (min-width:960px){.components-modal__frame{max-height:70%}}@keyframes components-modal__appear-animation{0%{transform:translateY(32px)}to{transform:translateY(0)}}.components-modal__header{align-items:center;border-bottom:1px solid transparent;box-sizing:border-box;display:flex;flex-direction:row;height:72px;justify-content:space-between;padding:24px 32px 8px;position:absolute;right:0;top:0;width:100%;z-index:10}.components-modal__header .components-modal__header-heading{font-size:1.2rem;font-weight:600}.components-modal__header h1{line-height:1;margin:0}.components-modal__header .components-button{position:relative;right:8px}.components-modal__content.has-scrolled-content:not(.hide-header) .components-modal__header{border-bottom-color:#ddd}.components-modal__header+p{margin-top:0}.components-modal__header-heading-container{align-items:center;display:flex;flex-direction:row;flex-grow:1;justify-content:right}.components-modal__header-icon-container{display:inline-block}.components-modal__header-icon-container svg{max-height:36px;max-width:36px;padding:8px}.components-modal__content{flex:1;margin-top:72px;overflow:auto;padding:4px 32px 32px}.components-modal__content.hide-header{margin-top:0;padding-top:32px}.components-modal__content.is-scrollable:focus-visible{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.components-notice{align-items:center;background-color:#fff;border-right:4px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;margin:5px 15px 2px;padding:8px 12px}.components-notice.is-dismissible{position:relative}.components-notice.is-success{background-color:#eff9f1;border-right-color:#4ab866}.components-notice.is-warning{background-color:#fef8ee;border-right-color:#f0b849}.components-notice.is-error{background-color:#f4a2a2;border-right-color:#cc1818}.components-notice__content{flex-grow:1;margin:4px 0 4px 25px}.components-notice__actions{display:flex;flex-wrap:wrap}.components-notice__action.components-button{margin-left:8px}.components-notice__action.components-button,.components-notice__action.components-button.is-link{margin-right:12px}.components-notice__action.components-button.is-secondary{vertical-align:initial}.components-notice__dismiss{align-self:flex-start;color:#757575;flex-shrink:0}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):focus,.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):active,.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{background-color:transparent;color:#1e1e1e}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{box-shadow:none}.components-notice-list{box-sizing:border-box;max-width:100vw}.components-notice-list .components-notice__content{line-height:2;margin-bottom:12px;margin-top:12px}.components-notice-list .components-notice__action.components-button{display:block;margin-right:0;margin-top:8px}.components-panel{background:#fff;border:1px solid #e0e0e0}.components-panel>.components-panel__body:first-child,.components-panel>.components-panel__header:first-child{margin-top:-1px}.components-panel>.components-panel__body:last-child,.components-panel>.components-panel__header:last-child{border-bottom-width:0}.components-panel+.components-panel{margin-top:-1px}.components-panel__body{border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0}.components-panel__body h3{margin:0 0 .5em}.components-panel__body.is-opened{padding:16px}.components-panel__header{align-items:center;border-bottom:1px solid #ddd;box-sizing:content-box;display:flex;height:47px;justify-content:space-between;padding:0 16px}.components-panel__header h2{color:inherit;font-size:inherit;margin:0}.components-panel__body+.components-panel__body,.components-panel__body+.components-panel__header,.components-panel__header+.components-panel__body,.components-panel__header+.components-panel__header{margin-top:-1px}.components-panel__body>.components-panel__body-title{display:block;font-size:inherit;margin-bottom:0;margin-top:0;padding:0;transition:background .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body>.components-panel__body-title{transition-delay:0s;transition-duration:0s}}.components-panel__body.is-opened>.components-panel__body-title{margin:-16px -16px 5px}.components-panel__body>.components-panel__body-title:hover{background:#f0f0f0;border:none}.components-panel__body-toggle.components-button{border:none;box-shadow:none;color:#1e1e1e;font-weight:500;height:auto;outline:none;padding:16px 16px 16px 48px;position:relative;text-align:right;transition:background .1s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button{transition-delay:0s;transition-duration:0s}}.components-panel__body-toggle.components-button:focus{border-radius:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-panel__body-toggle.components-button .components-panel__arrow{fill:currentColor;color:#1e1e1e;left:16px;position:absolute;top:50%;transform:translateY(-50%);transition:color .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button .components-panel__arrow{transition-delay:0s;transition-duration:0s}}body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right{-ms-filter:fliph;filter:FlipH;margin-top:-10px;transform:scaleX(-1)}.components-panel__icon{color:#757575;margin:-2px 6px -2px 0}.components-panel__body-toggle-icon{margin-left:-5px}.components-panel__color-title{float:right;height:19px}.components-panel__row{align-items:center;display:flex;justify-content:space-between;margin-top:8px;min-height:36px}.components-panel__row select{min-width:0}.components-panel__row label{flex-shrink:0;margin-left:12px;max-width:75%}.components-panel__row:empty,.components-panel__row:first-of-type{margin-top:0}.components-panel .circle-picker{padding-bottom:20px}.components-placeholder.components-placeholder{-moz-font-smoothing:subpixel-antialiased;-webkit-font-smoothing:subpixel-antialiased;background-color:#fff;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;box-sizing:border-box;color:#1e1e1e;margin:0;outline:1px solid transparent;padding:1em;position:relative;text-align:right;width:100%}@supports (position:sticky){.components-placeholder.components-placeholder{align-items:flex-start;display:flex;flex-direction:column;justify-content:top}}.components-placeholder__error,.components-placeholder__fieldset,.components-placeholder__instructions,.components-placeholder__label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-placeholder__label{align-items:center;display:flex;font-weight:600;margin-bottom:16px}.components-placeholder__label .block-editor-block-icon,.components-placeholder__label .dashicon,.components-placeholder__label>svg{fill:currentColor;margin-left:12px}@media (forced-colors:active){.components-placeholder__label .block-editor-block-icon,.components-placeholder__label .dashicon,.components-placeholder__label>svg{fill:CanvasText}}.components-placeholder__label:empty{display:none}.components-placeholder__fieldset,.components-placeholder__fieldset form{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.components-placeholder__fieldset form p,.components-placeholder__fieldset p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-placeholder__fieldset.is-column-layout,.components-placeholder__fieldset.is-column-layout form{flex-direction:column}.components-placeholder__input[type=url]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;flex:1 1 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;margin:0 0 0 8px;padding:6px 8px;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.components-placeholder__input[type=url]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-placeholder__input[type=url]{font-size:13px;line-height:normal}}.components-placeholder__input[type=url]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-placeholder__input[type=url]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-placeholder__input[type=url]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-placeholder__input[type=url]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-placeholder__instructions{margin-bottom:1em}.components-placeholder__error{margin-top:1em;width:100%}.components-placeholder__fieldset .components-button{margin-bottom:12px;margin-left:12px}.components-placeholder__fieldset .components-button:last-child{margin-bottom:0;margin-left:0}.components-placeholder__fieldset .components-button:not(.is-link)~.components-button.is-link{margin-left:10px;margin-right:10px}.components-placeholder__fieldset .components-button:not(.is-link)~.components-button.is-link:last-child{margin-left:0}.components-placeholder.is-large .components-placeholder__label{font-size:18pt;font-weight:400}.components-placeholder.is-medium .components-placeholder__instructions,.components-placeholder.is-small .components-placeholder__instructions{display:none}.components-placeholder.is-medium .components-placeholder__fieldset,.components-placeholder.is-medium .components-placeholder__fieldset form,.components-placeholder.is-small .components-placeholder__fieldset,.components-placeholder.is-small .components-placeholder__fieldset form{flex-direction:column}.components-placeholder.is-medium .components-placeholder__fieldset .components-button,.components-placeholder.is-small .components-placeholder__fieldset .components-button{margin-left:auto}.components-placeholder.is-small .components-button{padding:0 8px 2px}.components-placeholder .components-placeholder__learn-more .components-external-link{color:var(--wp-admin-theme-color)}.components-placeholder.has-illustration{-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);backface-visibility:hidden;background-color:transparent;border-radius:2px;box-shadow:none;color:inherit;display:flex;overflow:auto}.is-dark-theme .components-placeholder.has-illustration{background-color:rgba(0,0,0,.1)}.components-placeholder.has-illustration .components-placeholder__fieldset{margin-left:0;margin-right:0;width:auto}.components-placeholder.has-illustration .components-button,.components-placeholder.has-illustration .components-placeholder__instructions,.components-placeholder.has-illustration .components-placeholder__label{opacity:0;pointer-events:none;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.components-placeholder.has-illustration .components-button,.components-placeholder.has-illustration .components-placeholder__instructions,.components-placeholder.has-illustration .components-placeholder__label{transition-delay:0s;transition-duration:0s}}.is-selected>.components-placeholder.has-illustration .components-button,.is-selected>.components-placeholder.has-illustration .components-placeholder__instructions,.is-selected>.components-placeholder.has-illustration .components-placeholder__label{opacity:1;pointer-events:auto}.components-placeholder.has-illustration:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.components-placeholder__preview{display:flex;justify-content:center}.components-placeholder__illustration{stroke:currentColor;box-sizing:content-box;height:100%;opacity:.25;position:absolute;right:50%;top:50%;transform:translate(50%,-50%);width:100%}.components-popover{will-change:transform;z-index:1000000}.components-popover.is-expanded{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000000!important}.components-popover__content{background:#fff;border-radius:2px;box-shadow:0 0 0 1px #ccc,0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);box-sizing:border-box;width:min-content}.is-alternate .components-popover__content{box-shadow:0 0 0 1px #1e1e1e}.is-unstyled .components-popover__content{background:none;border-radius:0;box-shadow:none}.components-popover.is-expanded .components-popover__content{box-shadow:0 -1px 0 0 #ccc;height:calc(100% - 48px);overflow-y:visible;position:static;width:auto}.components-popover.is-expanded.is-alternate .components-popover__content{box-shadow:0 -1px 0 #1e1e1e}.components-popover__header{align-items:center;background:#fff;display:flex;height:48px;justify-content:space-between;padding:0 16px 0 8px}.components-popover__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.components-popover__close.components-button{z-index:5}.components-popover__arrow{display:flex;height:14px;pointer-events:none;position:absolute;width:14px}.components-popover__arrow:before{background-color:#fff;content:"";height:2px;left:1px;position:absolute;right:1px;top:-1px}.components-popover__arrow.is-top{bottom:-14px!important;transform:rotate(0)}.components-popover__arrow.is-right{left:-14px!important;transform:rotate(90deg)}.components-popover__arrow.is-bottom{top:-14px!important;transform:rotate(180deg)}.components-popover__arrow.is-left{right:-14px!important;transform:rotate(-90deg)}.components-popover__triangle{display:block;flex:1}.components-popover__triangle-bg{fill:#fff}.components-popover__triangle-border{fill:transparent;stroke-width:1px;stroke:#ccc}.is-alternate .components-popover__triangle-border{stroke:#1e1e1e}.components-radio-control__input[type=radio]{border:1px solid #1e1e1e;border-radius:2px;border-radius:50%;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:24px;line-height:normal;margin-left:6px;margin-top:0;padding:6px 8px;transition:box-shadow .1s linear;transition:none;width:24px}@media (prefers-reduced-motion:reduce){.components-radio-control__input[type=radio]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-radio-control__input[type=radio]{font-size:13px;line-height:normal}}.components-radio-control__input[type=radio]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color)}.components-radio-control__input[type=radio]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-radio-control__input[type=radio]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-radio-control__input[type=radio]:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.components-radio-control__input[type=radio]{height:20px;width:20px}}.components-radio-control__input[type=radio]:checked:before{background-color:#fff;border:4px solid #fff;box-sizing:inherit;height:8px;margin:0;transform:translate(-7px,7px);width:8px}@media (min-width:600px){.components-radio-control__input[type=radio]:checked:before{transform:translate(-5px,5px)}}.components-radio-control__input[type=radio]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.components-radio-control__input[type=radio]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.components-resizable-box__handle{display:none;height:23px;width:23px;z-index:2}.components-resizable-box__container.has-show-handle .components-resizable-box__handle{display:block}.components-resizable-box__container>img{width:inherit}.components-resizable-box__handle:after{background:#fff;border-radius:50%;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));content:"";cursor:inherit;display:block;height:15px;left:calc(50% - 8px);outline:2px solid transparent;position:absolute;top:calc(50% - 8px);width:15px}.components-resizable-box__side-handle:before{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-radius:2px;content:"";cursor:inherit;display:block;height:3px;left:calc(50% - 1px);opacity:0;position:absolute;top:calc(50% - 1px);transition:transform .1s ease-in;width:3px;will-change:transform}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle:before{transition-delay:0s;transition-duration:0s}}.components-resizable-box__corner-handle,.components-resizable-box__side-handle{z-index:2}.components-resizable-box__side-handle.components-resizable-box__handle-bottom,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:before,.components-resizable-box__side-handle.components-resizable-box__handle-top,.components-resizable-box__side-handle.components-resizable-box__handle-top:before{border-left:0;border-right:0;right:0;width:100%}.components-resizable-box__side-handle.components-resizable-box__handle-left,.components-resizable-box__side-handle.components-resizable-box__handle-left:before,.components-resizable-box__side-handle.components-resizable-box__handle-right,.components-resizable-box__side-handle.components-resizable-box__handle-right:before{border-bottom:0;border-top:0;height:100%;top:0}.components-resizable-box__side-handle.components-resizable-box__handle-bottom:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:hover:before{animation:components-resizable-box__top-bottom-animation .1s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle.components-resizable-box__handle-bottom:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:hover:before{animation-delay:0s;animation-duration:1ms}}.components-resizable-box__side-handle.components-resizable-box__handle-left:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:hover:before{animation:components-resizable-box__left-right-animation .1s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle.components-resizable-box__handle-left:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:hover:before{animation-delay:0s;animation-duration:1ms}}@media not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none){.components-resizable-box__side-handle.components-resizable-box__handle-bottom:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:hover:before{animation:none}}}@keyframes components-resizable-box__top-bottom-animation{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes components-resizable-box__left-right-animation{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.components-resizable-box__handle-right{right:-11.5px}.components-resizable-box__handle-left{left:-11.5px}.components-resizable-box__handle-top{top:-11.5px}.components-resizable-box__handle-bottom{bottom:-11.5px}.components-responsive-wrapper{align-items:center;display:flex;justify-content:center;max-width:100%;position:relative}.components-responsive-wrapper__content{display:block;max-width:100%;width:100%}.components-sandbox{overflow:hidden}iframe.components-sandbox{width:100%}body.lockscroll,html.lockscroll{overflow:hidden}.components-search-control{position:relative}.components-search-control input[type=search].components-search-control__input{background:#f0f0f0;border:none;border-radius:2px;box-shadow:0 0 0 transparent;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:48px;line-height:normal;margin-left:0;margin-right:0;padding:0 16px 0 48px;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-search-control input[type=search].components-search-control__input{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-search-control input[type=search].components-search-control__input{font-size:13px;line-height:normal}}.components-search-control input[type=search].components-search-control__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-search-control input[type=search].components-search-control__input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-search-control input[type=search].components-search-control__input::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-search-control input[type=search].components-search-control__input:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.components-search-control input[type=search].components-search-control__input{font-size:13px}}.components-search-control input[type=search].components-search-control__input:focus{background:#fff;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-search-control input[type=search].components-search-control__input::placeholder{color:#757575}.components-search-control input[type=search].components-search-control__input::-webkit-search-cancel-button,.components-search-control input[type=search].components-search-control__input::-webkit-search-decoration,.components-search-control input[type=search].components-search-control__input::-webkit-search-results-button,.components-search-control input[type=search].components-search-control__input::-webkit-search-results-decoration{-webkit-appearance:none}.components-search-control.is-next-40px-default-size input[type=search].components-search-control__input{height:40px}.components-search-control.is-size-compact input[type=search].components-search-control__input{height:32px}.components-search-control__icon{align-items:center;display:flex;justify-content:center;left:12px;position:absolute;top:50%;transform:translateY(-50%);width:24px}.components-search-control__input-wrapper{position:relative}.components-select-control__input{-webkit-tap-highlight-color:rgba(0,0,0,0)!important;outline:0}@media (max-width:782px){.components-base-control .components-base-control__field .components-select-control__input{font-size:16px}}.components-snackbar{-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background:rgba(0,0,0,.85);border-radius:2px;box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);box-sizing:border-box;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;max-width:600px;padding:12px 20px;pointer-events:auto;width:100%}@media (min-width:600px){.components-snackbar{width:-moz-fit-content;width:fit-content}}.components-snackbar:focus{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-snackbar.components-snackbar-explicit-dismiss{cursor:default}.components-snackbar .components-snackbar__content-with-icon{margin-right:24px}.components-snackbar .components-snackbar__icon{position:absolute;right:28px;top:24px}.components-snackbar .components-snackbar__dismiss-button{cursor:pointer;margin-right:24px}.components-snackbar__action.components-button{color:#fff;flex-shrink:0;height:auto;line-height:1.4;margin-right:32px;padding:0}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary){background-color:transparent;text-decoration:underline}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):focus{box-shadow:none;color:#fff;outline:1px dotted #fff}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{color:#fff;text-decoration:none}.components-snackbar__content{align-items:baseline;display:flex;justify-content:space-between;line-height:1.4}.components-snackbar-list{box-sizing:border-box;pointer-events:none;position:absolute;width:100%;z-index:100000}.components-snackbar-list__notice-container{padding-top:8px;position:relative}.components-tab-panel__tabs{align-items:stretch;display:flex;flex-direction:row}.components-tab-panel__tabs[aria-orientation=vertical]{flex-direction:column}.components-tab-panel__tabs-item{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-right:0;padding:3px 16px;position:relative}.components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-tab-panel__tabs-item:after{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-tab-panel__tabs-item:after{transition-delay:0s;transition-duration:0s}}.components-tab-panel__tabs-item.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-tab-panel__tabs-item:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-tab-panel__tabs-item:before{transition-delay:0s;transition-duration:0s}}.components-tab-panel__tabs-item:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.components-text-control__input,.components-text-control__input[type=color],.components-text-control__input[type=date],.components-text-control__input[type=datetime-local],.components-text-control__input[type=datetime],.components-text-control__input[type=email],.components-text-control__input[type=month],.components-text-control__input[type=number],.components-text-control__input[type=password],.components-text-control__input[type=tel],.components-text-control__input[type=text],.components-text-control__input[type=time],.components-text-control__input[type=url],.components-text-control__input[type=week]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:6px 8px;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-text-control__input,.components-text-control__input[type=color],.components-text-control__input[type=date],.components-text-control__input[type=datetime-local],.components-text-control__input[type=datetime],.components-text-control__input[type=email],.components-text-control__input[type=month],.components-text-control__input[type=number],.components-text-control__input[type=password],.components-text-control__input[type=tel],.components-text-control__input[type=text],.components-text-control__input[type=time],.components-text-control__input[type=url],.components-text-control__input[type=week]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-text-control__input,.components-text-control__input[type=color],.components-text-control__input[type=date],.components-text-control__input[type=datetime-local],.components-text-control__input[type=datetime],.components-text-control__input[type=email],.components-text-control__input[type=month],.components-text-control__input[type=number],.components-text-control__input[type=password],.components-text-control__input[type=tel],.components-text-control__input[type=text],.components-text-control__input[type=time],.components-text-control__input[type=url],.components-text-control__input[type=week]{font-size:13px;line-height:normal}}.components-text-control__input:focus,.components-text-control__input[type=color]:focus,.components-text-control__input[type=date]:focus,.components-text-control__input[type=datetime-local]:focus,.components-text-control__input[type=datetime]:focus,.components-text-control__input[type=email]:focus,.components-text-control__input[type=month]:focus,.components-text-control__input[type=number]:focus,.components-text-control__input[type=password]:focus,.components-text-control__input[type=tel]:focus,.components-text-control__input[type=text]:focus,.components-text-control__input[type=time]:focus,.components-text-control__input[type=url]:focus,.components-text-control__input[type=week]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-text-control__input::-webkit-input-placeholder,.components-text-control__input[type=color]::-webkit-input-placeholder,.components-text-control__input[type=date]::-webkit-input-placeholder,.components-text-control__input[type=datetime-local]::-webkit-input-placeholder,.components-text-control__input[type=datetime]::-webkit-input-placeholder,.components-text-control__input[type=email]::-webkit-input-placeholder,.components-text-control__input[type=month]::-webkit-input-placeholder,.components-text-control__input[type=number]::-webkit-input-placeholder,.components-text-control__input[type=password]::-webkit-input-placeholder,.components-text-control__input[type=tel]::-webkit-input-placeholder,.components-text-control__input[type=text]::-webkit-input-placeholder,.components-text-control__input[type=time]::-webkit-input-placeholder,.components-text-control__input[type=url]::-webkit-input-placeholder,.components-text-control__input[type=week]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-text-control__input::-moz-placeholder,.components-text-control__input[type=color]::-moz-placeholder,.components-text-control__input[type=date]::-moz-placeholder,.components-text-control__input[type=datetime-local]::-moz-placeholder,.components-text-control__input[type=datetime]::-moz-placeholder,.components-text-control__input[type=email]::-moz-placeholder,.components-text-control__input[type=month]::-moz-placeholder,.components-text-control__input[type=number]::-moz-placeholder,.components-text-control__input[type=password]::-moz-placeholder,.components-text-control__input[type=tel]::-moz-placeholder,.components-text-control__input[type=text]::-moz-placeholder,.components-text-control__input[type=time]::-moz-placeholder,.components-text-control__input[type=url]::-moz-placeholder,.components-text-control__input[type=week]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-text-control__input:-ms-input-placeholder,.components-text-control__input[type=color]:-ms-input-placeholder,.components-text-control__input[type=date]:-ms-input-placeholder,.components-text-control__input[type=datetime-local]:-ms-input-placeholder,.components-text-control__input[type=datetime]:-ms-input-placeholder,.components-text-control__input[type=email]:-ms-input-placeholder,.components-text-control__input[type=month]:-ms-input-placeholder,.components-text-control__input[type=number]:-ms-input-placeholder,.components-text-control__input[type=password]:-ms-input-placeholder,.components-text-control__input[type=tel]:-ms-input-placeholder,.components-text-control__input[type=text]:-ms-input-placeholder,.components-text-control__input[type=time]:-ms-input-placeholder,.components-text-control__input[type=url]:-ms-input-placeholder,.components-text-control__input[type=week]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-tip{color:#757575;display:flex}.components-tip svg{fill:#f0b849;align-self:center;flex-shrink:0;margin-left:16px}.components-tip p{margin:0}.components-accessible-toolbar{border:1px solid #1e1e1e;border-radius:2px;display:inline-flex;flex-shrink:0}.components-accessible-toolbar>.components-toolbar-group:last-child{border-left:none}.components-accessible-toolbar .components-button,.components-toolbar .components-button{height:48px;padding-left:16px;padding-right:16px;position:relative;z-index:1}.components-accessible-toolbar .components-button:focus:not(:disabled),.components-toolbar .components-button:focus:not(:disabled){box-shadow:none;outline:none}.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards;border-radius:2px;content:"";display:block;height:32px;left:8px;position:absolute;right:8px;z-index:-1}@media (prefers-reduced-motion:reduce){.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{animation-delay:0s;animation-duration:1ms}}.components-accessible-toolbar .components-button svg,.components-toolbar .components-button svg{margin-left:auto;margin-right:auto;position:relative}.components-accessible-toolbar .components-button.is-pressed,.components-accessible-toolbar .components-button.is-pressed:hover,.components-toolbar .components-button.is-pressed,.components-toolbar .components-button.is-pressed:hover{background:transparent}.components-accessible-toolbar .components-button.is-pressed:before,.components-toolbar .components-button.is-pressed:before{background:#1e1e1e}.components-accessible-toolbar .components-button:focus:before,.components-toolbar .components-button:focus:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 4px #fff;outline:2px solid transparent}.components-accessible-toolbar .components-button.has-icon.has-icon,.components-toolbar .components-button.has-icon.has-icon{min-width:48px;padding-left:12px;padding-right:12px}.components-accessible-toolbar .components-button.components-tab-button,.components-toolbar .components-button.components-tab-button{font-weight:500}.components-accessible-toolbar .components-button.components-tab-button span,.components-toolbar .components-button.components-tab-button span{display:inline-block;padding-left:0;padding-right:0;position:relative}@keyframes components-button__appear-animation{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.components-toolbar__control.components-button{position:relative}.components-toolbar__control.components-button[data-subscript] svg{padding:5px 0 5px 10px}.components-toolbar__control.components-button[data-subscript]:after{bottom:10px;content:attr(data-subscript);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:600;left:8px;line-height:12px;position:absolute}.components-toolbar__control.components-button:active:before{display:none}.components-toolbar__control.components-button:not(:disabled).is-pressed[data-subscript]:after{color:#fff}.components-toolbar-group{background-color:#fff;border-left:1px solid #1e1e1e;display:inline-flex;flex-shrink:0;flex-wrap:wrap;line-height:0;min-height:48px;padding-left:6px;padding-right:6px}.components-toolbar-group .components-toolbar-group.components-toolbar-group{border-width:0;margin:0}.components-toolbar-group .components-button.components-button,.components-toolbar-group .components-button.has-icon.has-icon{min-width:36px;padding-left:6px;padding-right:6px}.components-toolbar-group .components-button.components-button svg,.components-toolbar-group .components-button.has-icon.has-icon svg{min-width:24px}.components-toolbar-group .components-button.components-button:before,.components-toolbar-group .components-button.has-icon.has-icon:before{left:2px;right:2px}.components-toolbar{background-color:#fff;border:1px solid #1e1e1e;display:inline-flex;flex-shrink:0;flex-wrap:wrap;margin:0;min-height:48px}.components-toolbar .components-toolbar.components-toolbar{border-width:0;margin:0}div.components-toolbar>div{display:block;margin:0}@supports (position:sticky){div.components-toolbar>div{display:flex}}div.components-toolbar>div+div.has-left-divider{margin-right:6px;overflow:visible;position:relative}div.components-toolbar>div+div.has-left-divider:before{background-color:#ddd;box-sizing:content-box;content:"";display:inline-block;height:20px;position:absolute;right:-3px;top:8px;width:1px}.components-tooltip{background:#000;border-radius:2px;color:#f0f0f0;font-size:12px;line-height:1.4;padding:4px 8px;text-align:center;z-index:1000002}.components-tooltip__shortcut{margin-right:8px} \ No newline at end of file +@charset "UTF-8";:root{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-animate__appear{animation:components-animate__appear-animation .1s cubic-bezier(0,0,.2,1) 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-animate__appear{animation-delay:0s;animation-duration:1ms}}.components-animate__appear.is-from-top,.components-animate__appear.is-from-top.is-from-left{transform-origin:top right}.components-animate__appear.is-from-top.is-from-right{transform-origin:top left}.components-animate__appear.is-from-bottom,.components-animate__appear.is-from-bottom.is-from-left{transform-origin:bottom right}.components-animate__appear.is-from-bottom.is-from-right{transform-origin:bottom left}@keyframes components-animate__appear-animation{0%{transform:translateY(-2em) scaleY(0) scaleX(0)}to{transform:translateY(0) scaleY(1) scaleX(1)}}.components-animate__slide-in{animation:components-animate__slide-in-animation .1s cubic-bezier(0,0,.2,1);animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-animate__slide-in{animation-delay:0s;animation-duration:1ms}}.components-animate__slide-in.is-from-left{transform:translateX(-100%)}.components-animate__slide-in.is-from-right{transform:translateX(100%)}@keyframes components-animate__slide-in-animation{to{transform:translateX(0)}}.components-animate__loading{animation:components-animate__loading 1.6s ease-in-out infinite}@keyframes components-animate__loading{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.components-autocomplete__popover .components-popover__content{min-width:220px;padding:16px}.components-autocomplete__result.components-button{display:flex;height:auto;min-height:36px;text-align:right;width:100%}.components-autocomplete__result.components-button.is-selected{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button-group{display:inline-block}.components-button-group .components-button{border-radius:0;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;display:inline-flex}.components-button-group .components-button+.components-button{margin-right:-1px}.components-button-group .components-button:first-child{border-radius:0 2px 2px 0}.components-button-group .components-button:last-child{border-radius:2px 0 0 2px}.components-button-group .components-button.is-primary,.components-button-group .components-button:focus{position:relative;z-index:1}.components-button-group .components-button.is-primary{box-shadow:inset 0 0 0 1px #1e1e1e}.components-button{align-items:center;-webkit-appearance:none;background:none;border:0;border-radius:2px;box-sizing:border-box;color:var(--wp-components-color-foreground,#1e1e1e);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:400;height:36px;margin:0;padding:6px 12px;text-decoration:none;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.components-button{transition-delay:0s;transition-duration:0s}}.components-button.is-next-40px-default-size{height:40px}.components-button:hover,.components-button[aria-expanded=true]{color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button:disabled:hover,.components-button[aria-disabled=true]:hover{color:initial}.components-button:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:3px solid transparent}.components-button.is-primary{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent-inverted,#fff);outline:1px solid transparent;text-decoration:none;text-shadow:none;white-space:nowrap}.components-button.is-primary:hover:not(:disabled){background:var(--wp-components-color-accent-darker-10,var(--wp-admin-theme-color-darker-10,#2145e6));color:var(--wp-components-color-accent-inverted,#fff)}.components-button.is-primary:active:not(:disabled){background:var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6));border-color:var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6));color:var(--wp-components-color-accent-inverted,#fff)}.components-button.is-primary:focus:not(:disabled){box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button.is-primary:disabled,.components-button.is-primary:disabled:active:enabled,.components-button.is-primary[aria-disabled=true],.components-button.is-primary[aria-disabled=true]:active:enabled,.components-button.is-primary[aria-disabled=true]:enabled{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:hsla(0,0%,100%,.4);opacity:1;outline:none}.components-button.is-primary:disabled:active:enabled:focus:enabled,.components-button.is-primary:disabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:active:enabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:enabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:focus:enabled{box-shadow:0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 3px var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button.is-primary.is-busy,.components-button.is-primary.is-busy:disabled,.components-button.is-primary.is-busy[aria-disabled=true]{background-image:linear-gradient(45deg,var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9)) 33%,var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6)) 33%,var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6)) 70%,var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9)) 70%);background-size:100px 100%;border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent-inverted,#fff)}.components-button.is-secondary,.components-button.is-tertiary{outline:1px solid transparent}.components-button.is-secondary:active:not(:disabled),.components-button.is-tertiary:active:not(:disabled){box-shadow:none}.components-button.is-secondary:disabled,.components-button.is-secondary[aria-disabled=true],.components-button.is-secondary[aria-disabled=true]:hover,.components-button.is-tertiary:disabled,.components-button.is-tertiary[aria-disabled=true],.components-button.is-tertiary[aria-disabled=true]:hover{background:transparent;color:#949494;opacity:1;transform:none}.components-button.is-secondary:disabled:not(:focus),.components-button.is-secondary[aria-disabled=true]:hover:not(:focus),.components-button.is-secondary[aria-disabled=true]:not(:focus),.components-button.is-tertiary:disabled:not(:focus),.components-button.is-tertiary[aria-disabled=true]:hover:not(:focus),.components-button.is-tertiary[aria-disabled=true]:not(:focus){box-shadow:none;outline:none}.components-button.is-secondary{background:transparent;box-shadow:inset 0 0 0 1px var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:1px solid transparent;white-space:nowrap}.components-button.is-secondary:hover:not(:disabled,[aria-disabled=true]){box-shadow:inset 0 0 0 1px var(--wp-components-color-accent-darker-10,var(--wp-admin-theme-color-darker-10,#2145e6))}.components-button.is-tertiary{background:transparent;color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));white-space:nowrap}.components-button.is-tertiary:hover:not(:disabled,[aria-disabled=true]){background:rgba(var(--wp-admin-theme-color--rgb),.04)}.components-button.is-tertiary:active:not(:disabled,[aria-disabled=true]){background:rgba(var(--wp-admin-theme-color--rgb),.08)}p+.components-button.is-tertiary{margin-right:-6px}.components-button.is-destructive{--wp-components-color-accent:#cc1818;--wp-components-color-accent-darker-10:#9e1313;--wp-components-color-accent-darker-20:#710d0d}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link){color:#cc1818}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link):hover:not(:disabled){color:#710d0d}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link):focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) #cc1818}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link):active:not(:disabled){background:#ccc}.components-button.is-link{background:none;border:0;border-radius:0;box-shadow:none;color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));height:auto;margin:0;outline:none;padding:0;text-align:right;text-decoration:underline;transition-duration:.05s;transition-property:border,background,color;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.components-button.is-link{transition-delay:0s;transition-duration:0s}}.components-button.is-link:focus{border-radius:2px}.components-button:not(:disabled,[aria-disabled=true]):active{color:var(--wp-components-color-foreground,#1e1e1e)}.components-button:disabled,.components-button[aria-disabled=true]{cursor:default;opacity:.3}.components-button.is-busy,.components-button.is-secondary.is-busy,.components-button.is-secondary.is-busy:disabled,.components-button.is-secondary.is-busy[aria-disabled=true]{animation:components-button__busy-animation 2.5s linear infinite;background-image:linear-gradient(45deg,#fafafa 33%,#e0e0e0 0,#e0e0e0 70%,#fafafa 0);background-size:100px 100%;opacity:1}@media (prefers-reduced-motion:reduce){.components-button.is-busy,.components-button.is-secondary.is-busy,.components-button.is-secondary.is-busy:disabled,.components-button.is-secondary.is-busy[aria-disabled=true]{animation-duration:0s}}.components-button.is-compact{height:32px}.components-button.is-compact.has-icon:not(.has-text){min-width:32px;padding:0;width:32px}.components-button.is-small{font-size:11px;height:24px;line-height:22px;padding:0 8px}.components-button.is-small.has-icon:not(.has-text){min-width:24px;padding:0;width:24px}.components-button.has-icon{justify-content:center;min-width:36px;padding:6px}.components-button.has-icon.is-next-40px-default-size{min-width:40px}.components-button.has-icon .dashicon{align-items:center;box-sizing:content-box;display:inline-flex;justify-content:center;padding:2px}.components-button.has-icon.has-text{gap:4px;justify-content:start;padding-left:12px;padding-right:8px}.components-button.is-pressed{background:var(--wp-components-color-foreground,#1e1e1e);color:var(--wp-components-color-foreground-inverted,#fff)}.components-button.is-pressed:focus:not(:disabled){box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.components-button.is-pressed:hover:not(:disabled){background:var(--wp-components-color-foreground,#1e1e1e);color:var(--wp-components-color-foreground-inverted,#fff)}.components-button svg{fill:currentColor;outline:none}@media (forced-colors:active){.components-button svg{fill:CanvasText}}.components-button .components-visually-hidden{height:auto}@keyframes components-button__busy-animation{0%{background-position:right 200px top 0}}.components-checkbox-control__input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #1e1e1e;border-radius:2px;box-shadow:0 0 0 transparent;clear:none;color:#1e1e1e;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:24px;line-height:normal;line-height:0;margin:0 0 0 4px;outline:0;padding:6px 8px;padding:0!important;text-align:center;transition:box-shadow .1s linear;transition:none;transition:border-color .1s ease-in-out;vertical-align:top;width:24px}@media (min-width:600px){.components-checkbox-control__input[type=checkbox]{font-size:13px;line-height:normal}}.components-checkbox-control__input[type=checkbox]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-checkbox-control__input[type=checkbox]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox]:checked::-ms-check{opacity:0}.components-checkbox-control__input[type=checkbox]:checked:before,.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{color:#fff;margin:-3px -5px}@media (min-width:782px){.components-checkbox-control__input[type=checkbox]:checked:before,.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{margin:-4px -5px 0 0}}.components-checkbox-control__input[type=checkbox][aria-checked=mixed]{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";display:inline-block;float:right;font:normal 30px/1 dashicons;vertical-align:middle;width:16px}@media (min-width:782px){.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{float:none;font-size:21px}}@media (min-width:600px){.components-checkbox-control__input[type=checkbox]{height:20px;width:20px}}@media (prefers-reduced-motion:reduce){.components-checkbox-control__input[type=checkbox]{transition-delay:0s;transition-duration:0s}}.components-checkbox-control__input[type=checkbox]:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:2px}.components-checkbox-control__input[type=checkbox]:checked,.components-checkbox-control__input[type=checkbox]:indeterminate{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-checkbox-control__input[type=checkbox]:checked::-ms-check,.components-checkbox-control__input[type=checkbox]:indeterminate::-ms-check{opacity:0}.components-checkbox-control__input[type=checkbox]:checked:before{content:none}.components-checkbox-control__input-container{display:inline-block;height:24px;margin-left:12px;position:relative;vertical-align:middle;width:24px}@media (min-width:600px){.components-checkbox-control__input-container{height:20px;width:20px}}svg.components-checkbox-control__checked,svg.components-checkbox-control__indeterminate{fill:#fff;cursor:pointer;height:24px;pointer-events:none;position:absolute;right:0;top:0;-webkit-user-select:none;user-select:none;width:24px}@media (min-width:600px){svg.components-checkbox-control__checked,svg.components-checkbox-control__indeterminate{right:-2px;top:-2px}}.components-circular-option-picker{display:inline-block;min-width:188px;width:100%}.components-circular-option-picker .components-circular-option-picker__custom-clear-wrapper{display:flex;justify-content:flex-end;margin-top:12px}.components-circular-option-picker .components-circular-option-picker__swatches{display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:1}.components-circular-option-picker>:not(.components-circular-option-picker__swatches){position:relative;z-index:0}.components-circular-option-picker__option-wrapper{display:inline-block;height:28px;transform:scale(1);transition:transform .1s ease;vertical-align:top;width:28px;will-change:transform}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option-wrapper{transition-delay:0s;transition-duration:0s}}.components-circular-option-picker__option-wrapper:hover{transform:scale(1.2)}.components-circular-option-picker__option-wrapper>div{height:100%;width:100%}.components-circular-option-picker__option-wrapper:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none'%3E%3Cpath fill='%23555D65' d='M6 8V6H4v2h2zm2 0V6h2v2H8zm2 8H8v-2h2v2zm2 0v-2h2v2h-2zm0 2v-2h-2v2H8v2h2v-2h2zm2 0v2h-2v-2h2zm2 0h-2v-2h2v2z'/%3E%3Cpath fill='%23555D65' fill-rule='evenodd' d='M18 18h2v-2h-2v-2h2v-2h-2v-2h2V8h-2v2h-2V8h-2v2h2v2h-2v2h2v2h2v2zm-2-4v-2h2v2h-2z' clip-rule='evenodd'/%3E%3Cpath fill='%23555D65' d='M18 18v2h-2v-2h2z'/%3E%3Cpath fill='%23555D65' fill-rule='evenodd' d='M8 10V8H6v2H4v2h2v2H4v2h2v2H4v2h2v2H4v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2v2h-2V4h-2v2h-2V4h-2v2h-2V4h-2v2h2v2h-2v2H8zm0 2v-2H6v2h2zm2 0v-2h2v2h-2zm0 2v-2H8v2H6v2h2v2H6v2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h-2v2h-2V6h-2v2h-2v2h2v2h-2v2h-2z' clip-rule='evenodd'/%3E%3Cpath fill='%23555D65' fill-rule='evenodd' d='M4 0H2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2V2h2V0h-2v2h-2V0h-2v2h-2V0h-2v2h-2V0h-2v2h-2V0h-2v2H8V0H6v2H4V0zm0 4V2H2v2h2zm2 0V2h2v2H6zm0 2V4H4v2H2v2h2v2H2v2h2v2H2v2h2v2H2v2h2v2H2v2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2V2h-2v2h-2V2h-2v2h-2V2h-2v2h-2V2h-2v2H8v2H6z' clip-rule='evenodd'/%3E%3C/svg%3E");border-radius:50%;bottom:1px;content:"";left:1px;position:absolute;right:1px;top:1px;z-index:-1}.components-circular-option-picker__option{background:transparent;border:none;border-radius:50%;box-shadow:inset 0 0 0 14px;cursor:pointer;display:inline-block;height:100%;transition:box-shadow .1s ease;vertical-align:top;width:100%}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option{transition-delay:0s;transition-duration:0s}}.components-circular-option-picker__option:hover{box-shadow:inset 0 0 0 14px!important}.components-circular-option-picker__option[aria-pressed=true],.components-circular-option-picker__option[aria-selected=true]{box-shadow:inset 0 0 0 4px;overflow:visible;position:relative;z-index:1}.components-circular-option-picker__option[aria-pressed=true]+svg,.components-circular-option-picker__option[aria-selected=true]+svg{border-radius:50%;pointer-events:none;position:absolute;right:2px;top:2px;z-index:2}.components-circular-option-picker__option:after{border:1px solid transparent;border-radius:50%;bottom:-1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);box-sizing:inherit;content:"";left:-1px;position:absolute;right:-1px;top:-1px}.components-circular-option-picker__option:focus:after{border:2px solid #757575;border-radius:50%;box-shadow:inset 0 0 0 2px #fff;content:"";height:calc(100% + 4px);position:absolute;right:50%;top:50%;transform:translate(50%,-50%);width:calc(100% + 4px)}.components-circular-option-picker__option.components-button:focus{background-color:transparent;box-shadow:inset 0 0 0 14px;outline:none}.components-circular-option-picker__button-action .components-circular-option-picker__option{background:#fff;color:#fff}.components-circular-option-picker__dropdown-link-action{margin-left:16px}.components-circular-option-picker__dropdown-link-action .components-button{line-height:22px}.components-palette-edit__popover-gradient-picker{padding:8px;width:260px}.components-dropdown-menu__menu .components-palette-edit__menu-button{width:100%}.component-color-indicator{background:#fff linear-gradient(45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0);border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);display:inline-block;height:20px;padding:0;width:20px}.components-combobox-control{width:100%}input.components-combobox-control__input[type=text]{border:none;box-shadow:none;font-family:inherit;font-size:16px;line-height:inherit;margin:0;min-height:auto;padding:2px;width:100%}@media (min-width:600px){input.components-combobox-control__input[type=text]{font-size:13px}}input.components-combobox-control__input[type=text]:focus{box-shadow:none;outline:none}.components-combobox-control__suggestions-container{align-items:flex-start;border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;display:flex;flex-wrap:wrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:0;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-combobox-control__suggestions-container{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-combobox-control__suggestions-container{font-size:13px;line-height:normal}}.components-combobox-control__suggestions-container:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-combobox-control__suggestions-container::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-combobox-control__suggestions-container::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-combobox-control__suggestions-container:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-combobox-control__suggestions-container:focus-within{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-combobox-control__reset.components-button{display:flex;height:16px;min-width:16px;padding:0}.components-color-palette__custom-color-wrapper{position:relative;z-index:0}.components-color-palette__custom-color-button{background:none;border:none;border-radius:2px 2px 0 0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);box-sizing:border-box;cursor:pointer;height:64px;outline:1px solid transparent;position:relative;width:100%}.components-color-palette__custom-color-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-width:2px}.components-color-palette__custom-color-button:after{background-image:repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0),repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0);background-position:0 0,24px 24px;background-size:48px 48px;content:"";height:100%;position:absolute;right:0;top:0;width:100%;z-index:-1}.components-color-palette__custom-color-text-wrapper{border-radius:0 0 2px 2px;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2),inset -1px 0 0 0 rgba(0,0,0,.2),inset 1px 0 0 0 rgba(0,0,0,.2);font-size:13px;padding:12px 16px;position:relative}.components-color-palette__custom-color-name{color:var(--wp-components-color-foreground,#1e1e1e);margin:0 1px}.components-color-palette__custom-color-value{color:#757575}.components-color-palette__custom-color-value--is-hex{text-transform:uppercase}.components-color-palette__custom-color-value:empty:after{content:"​";visibility:hidden}.components-custom-gradient-picker:not(.is-next-has-no-margin){margin-bottom:24px;margin-top:12px}.components-custom-gradient-picker__gradient-bar{border-radius:2px;height:48px;position:relative;width:100%;z-index:1}.components-custom-gradient-picker__gradient-bar.has-gradient{background-image:repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0),repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0);background-position:0 0,12px 12px;background-size:24px 24px}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__gradient-bar-background{inset:0;position:absolute}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__markers-container{margin-left:auto;margin-right:auto;position:relative;width:calc(100% - 48px)}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-dropdown{display:flex;height:16px;position:absolute;top:16px;width:16px}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point-dropdown{background:#fff;border-radius:50%;color:#1e1e1e;height:inherit;min-width:16px;padding:2px;position:relative;width:inherit}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point-dropdown svg{height:100%;width:100%}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button{border-radius:50%;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 2px 0 rgba(0,0,0,.25);height:inherit;outline:2px solid transparent;padding:0;width:inherit}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button.is-active,.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button:focus{box-shadow:inset 0 0 0 calc(var(--wp-admin-border-width-focus)*2) #fff,0 0 2px 0 rgba(0,0,0,.25);outline:1.5px solid transparent}.components-custom-gradient-picker__remove-control-point-wrapper{padding-bottom:8px}.components-custom-gradient-picker__inserter{direction:ltr}.components-custom-gradient-picker__liner-gradient-indicator{display:inline-block;flex:0 auto;height:20px;width:20px}.components-custom-gradient-picker .components-custom-gradient-picker__toolbar{border:none}.components-custom-gradient-picker .components-custom-gradient-picker__toolbar>div+div{margin-right:1px}.components-custom-gradient-picker .components-custom-gradient-picker__toolbar button.is-pressed>svg{background:#fff;border:1px solid #949494;border-radius:2px}.components-custom-gradient-picker__ui-line{position:relative;z-index:0}.components-custom-select-control{font-size:13px;position:relative}.components-custom-select-control__button{outline:0;position:relative;text-align:right}.components-custom-select-control__hint{color:#949494;margin-right:10px}.components-custom-select-control__menu{background-color:#fff;border:1px solid #1e1e1e;border-radius:2px;max-height:400px;min-width:100%;outline:none;overflow:auto;padding:0;position:absolute;transition:none;z-index:1000000}.components-custom-select-control__menu[aria-hidden=true]{display:none}.components-custom-select-control__item{align-items:center;cursor:default;display:grid;grid-template-columns:auto auto;line-height:28px;list-style-type:none;padding:8px 16px}.components-custom-select-control__item:not(.is-next-40px-default-size){padding:8px}.components-custom-select-control__item.has-hint{grid-template-columns:auto auto 30px}.components-custom-select-control__item.is-highlighted{background:#ddd}.components-custom-select-control__item .components-custom-select-control__item-hint{color:#949494;padding-left:4px;text-align:left}.components-custom-select-control__item .components-custom-select-control__item-icon{margin-right:auto}.components-custom-select-control__item:last-child{margin-bottom:0}.block-editor-dimension-control .components-base-control__field{align-items:center;display:flex}.block-editor-dimension-control .components-base-control__label{align-items:center;display:flex;margin-bottom:0;margin-left:1em}.block-editor-dimension-control .components-base-control__label .dashicon{margin-left:.5em}.block-editor-dimension-control.is-manual .components-base-control__label{width:10em}body.is-dragging-components-draggable{cursor:move;cursor:grabbing!important}.components-draggable__invisible-drag-image{height:50px;position:fixed;right:-1000px;width:50px}.components-draggable__clone{background:transparent;padding:0;pointer-events:none;position:fixed;z-index:1000000000}.components-drop-zone{border-radius:2px;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;visibility:hidden;z-index:40}.components-drop-zone.is-active{opacity:1;visibility:visible}.components-drop-zone__content{align-items:center;background-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));bottom:0;color:#fff;display:flex;height:100%;justify-content:center;left:0;position:absolute;right:0;text-align:center;top:0;width:100%;z-index:50}.components-drop-zone__content-icon,.components-drop-zone__content-text{display:block}.components-drop-zone__content-icon{fill:currentColor;line-height:0;margin:0 auto 8px;pointer-events:none}.components-drop-zone__content-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-dropdown{display:inline-block}.components-dropdown__content .components-popover__content{padding:8px}.components-dropdown__content [role=menuitem]{white-space:nowrap}.components-dropdown-menu__toggle{vertical-align:top}.components-dropdown-menu__menu{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.4;width:100%}.components-dropdown-menu__menu .components-dropdown-menu__menu-item,.components-dropdown-menu__menu .components-menu-item{cursor:pointer;outline:none;padding:6px;white-space:nowrap;width:100%}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator,.components-dropdown-menu__menu .components-menu-item.has-separator{margin-top:6px;overflow:visible;position:relative}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator:before,.components-dropdown-menu__menu .components-menu-item.has-separator:before{background-color:#ddd;box-sizing:content-box;content:"";display:block;height:1px;left:0;position:absolute;right:0;top:-3px}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-active .dashicon,.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-active svg,.components-dropdown-menu__menu .components-menu-item.is-active .dashicon,.components-dropdown-menu__menu .components-menu-item.is-active svg{background:#1e1e1e;border-radius:1px;box-shadow:0 0 0 1px #1e1e1e;color:#fff}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-icon-only,.components-dropdown-menu__menu .components-menu-item.is-icon-only{width:auto}.components-dropdown-menu__menu .components-menu-item__button,.components-dropdown-menu__menu .components-menu-item__button.components-button{height:auto;min-height:36px;padding-left:8px;padding-right:8px;text-align:right}.components-dropdown-menu__menu .components-menu-group{margin:0 -8px;padding:8px}.components-dropdown-menu__menu .components-menu-group:first-child{margin-top:-8px}.components-dropdown-menu__menu .components-menu-group:last-child{margin-bottom:-8px}.components-dropdown-menu__menu .components-menu-group+.components-menu-group{border-top:1px solid #ccc;margin-top:0;padding:8px}.is-alternate .components-dropdown-menu__menu .components-menu-group+.components-menu-group{border-color:#1e1e1e}.components-duotone-picker__color-indicator:before{background:transparent}.components-duotone-picker__color-indicator>.components-button,.components-duotone-picker__color-indicator>.components-button.is-pressed:hover:not(:disabled){background:linear-gradient(45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0);color:transparent}.components-duotone-picker__color-indicator>.components-button:not([aria-disabled=true]):active{color:transparent}.components-color-list-picker,.components-color-list-picker__swatch-button{width:100%}.components-color-list-picker__color-picker{margin:8px 0}.components-color-list-picker__swatch-button{padding:6px}.components-color-list-picker__swatch-color{margin:2px}.components-form-toggle{display:inline-block;position:relative}.components-form-toggle .components-form-toggle__track{background-color:#fff;border:1px solid #1e1e1e;border-radius:9px;box-sizing:border-box;content:"";display:inline-block;height:18px;overflow:hidden;position:relative;transition:background-color .2s ease,border-color .2s ease;vertical-align:top;width:36px}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__track{transition-delay:0s;transition-duration:0s}}.components-form-toggle .components-form-toggle__track:after{border-top:18px solid transparent;box-sizing:border-box;content:"";inset:0;opacity:0;position:absolute;transition:opacity .2s ease}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__track:after{transition-delay:0s;transition-duration:0s}}.components-form-toggle .components-form-toggle__thumb{background-color:#1e1e1e;border:6px solid transparent;border-radius:50%;box-sizing:border-box;display:block;height:12px;position:absolute;right:3px;top:3px;transition:transform .2s ease,background-color .2s ease-out;width:12px}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__thumb{transition-delay:0s;transition-duration:0s}}.components-form-toggle.is-checked .components-form-toggle__track{background-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-form-toggle.is-checked .components-form-toggle__track:after{opacity:1}.components-form-toggle .components-form-toggle__input:focus+.components-form-toggle__track{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent;outline-offset:2px}.components-form-toggle.is-checked .components-form-toggle__thumb{background-color:#fff;border-width:0;transform:translateX(-18px)}.components-disabled .components-form-toggle,.components-form-toggle.is-disabled{opacity:.3}.components-form-toggle input.components-form-toggle__input[type=checkbox]{border:none;height:100%;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0;width:100%;z-index:1}.components-form-toggle input.components-form-toggle__input[type=checkbox]:checked{background:none}.components-form-toggle input.components-form-toggle__input[type=checkbox]:before{content:""}.components-form-token-field__input-container{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;cursor:text;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:0;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-form-token-field__input-container{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-form-token-field__input-container{font-size:13px;line-height:normal}}.components-form-token-field__input-container:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-form-token-field__input-container::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-form-token-field__input-container::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-form-token-field__input-container:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-form-token-field__input-container.is-disabled{background:#ddd;border-color:#ddd}.components-form-token-field__input-container.is-active{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-form-token-field__input-container input[type=text].components-form-token-field__input{background:inherit;border:0;box-shadow:none;color:#1e1e1e;display:inline-block;flex:1;font-family:inherit;font-size:16px;margin-right:4px;max-width:100%;min-height:24px;min-width:50px;padding:0;width:100%}@media (min-width:600px){.components-form-token-field__input-container input[type=text].components-form-token-field__input{font-size:13px}}.components-form-token-field.is-active .components-form-token-field__input-container input[type=text].components-form-token-field__input,.components-form-token-field__input-container input[type=text].components-form-token-field__input:focus{box-shadow:none;outline:none}.components-form-token-field__input-container .components-form-token-field__token+input[type=text].components-form-token-field__input{width:auto}.components-form-token-field__token{color:#1e1e1e;display:flex;font-size:13px;max-width:100%}.components-form-token-field__token.is-success .components-form-token-field__remove-token,.components-form-token-field__token.is-success .components-form-token-field__token-text{background:#4ab866}.components-form-token-field__token.is-error .components-form-token-field__remove-token,.components-form-token-field__token.is-error .components-form-token-field__token-text{background:#cc1818}.components-form-token-field__token.is-validating .components-form-token-field__remove-token,.components-form-token-field__token.is-validating .components-form-token-field__token-text{color:#757575}.components-form-token-field__token.is-borderless{padding:0 0 0 24px;position:relative}.components-form-token-field__token.is-borderless .components-form-token-field__token-text{background:transparent;color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-form-token-field__token.is-borderless .components-form-token-field__remove-token{background:transparent;color:#757575;left:0;padding:0;position:absolute;top:1px}.components-form-token-field__token.is-borderless.is-success .components-form-token-field__token-text{color:#4ab866}.components-form-token-field__token.is-borderless.is-error .components-form-token-field__token-text{border-radius:0 4px 4px 0;color:#cc1818;padding:0 6px 0 4px}.components-form-token-field__token.is-borderless.is-validating .components-form-token-field__token-text{color:#1e1e1e}.components-form-token-field__token.is-disabled .components-form-token-field__remove-token{cursor:default}.components-form-token-field__remove-token.components-button,.components-form-token-field__token-text{background:#ddd;display:inline-block;height:auto;line-height:24px;min-width:unset;transition:all .2s cubic-bezier(.4,1,.4,1)}@media (prefers-reduced-motion:reduce){.components-form-token-field__remove-token.components-button,.components-form-token-field__token-text{animation-delay:0s;animation-duration:1ms;transition-delay:0s;transition-duration:0s}}.components-form-token-field__token-text{border-radius:0 2px 2px 0;overflow:hidden;padding:0 8px 0 0;text-overflow:ellipsis;white-space:nowrap}.components-form-token-field__remove-token.components-button{border-radius:2px 0 0 2px;color:#1e1e1e;cursor:pointer;line-height:10px;overflow:initial;padding:0 2px}.components-form-token-field__remove-token.components-button:hover{color:#1e1e1e}.components-form-token-field__suggestions-list{box-shadow:inset 0 1px 0 0 #949494;flex:1 0 100%;list-style:none;margin:0;max-height:128px;min-width:100%;overflow-y:auto;padding:0;transition:all .15s ease-in-out}@media (prefers-reduced-motion:reduce){.components-form-token-field__suggestions-list{transition-delay:0s;transition-duration:0s}}.components-form-token-field__suggestion{box-sizing:border-box;color:#1e1e1e;cursor:pointer;display:block;font-size:13px;margin:0;min-height:32px;padding:8px 12px}.components-form-token-field__suggestion.is-selected{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:#fff}@media (min-width:600px){.components-guide{width:600px}}.components-guide .components-modal__content{border-radius:2px;margin-top:0;padding:0}.components-guide .components-modal__content:before{content:none}.components-guide .components-modal__header{border-bottom:none;height:60px;padding:0;position:sticky}.components-guide .components-modal__header .components-button{align-self:flex-start;margin:8px 0 0 8px;position:static}.components-guide .components-modal__header .components-button:hover svg{fill:#fff}.components-guide__container{display:flex;flex-direction:column;justify-content:space-between;margin-top:-60px;min-height:100%}.components-guide__page{display:flex;flex-direction:column;justify-content:center;position:relative}@media (min-width:600px){.components-guide__page{min-height:300px}}.components-guide__footer{align-content:center;display:flex;height:36px;justify-content:center;margin:0 0 24px;padding:0 32px;position:relative;width:100%}.components-guide__page-control{margin:0;text-align:center}.components-guide__page-control li{display:inline-block;margin:0}.components-guide__page-control .components-button{color:#e0e0e0;height:30px;margin:-6px 0;min-width:20px}.components-guide__page-control li[aria-current=step] .components-button{color:var(--wp-components-color-accent,var(--wp-admin-theme-color))}.components-modal__frame.components-guide{border:none;max-height:575px;min-width:312px}@media (max-width:600px){.components-modal__frame.components-guide{margin:auto;max-width:calc(100vw - 32px)}}.components-button.components-guide__back-button,.components-button.components-guide__finish-button,.components-button.components-guide__forward-button{position:absolute}.components-button.components-guide__back-button{right:32px}.components-button.components-guide__finish-button,.components-button.components-guide__forward-button{left:32px}[role=region]{position:relative}.is-focusing-regions [role=region]:focus:after{bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1000000}.is-focusing-regions .editor-post-publish-panel,.is-focusing-regions .interface-interface-skeleton__actions .edit-post-layout__toggle-entities-saved-states-panel,.is-focusing-regions .interface-interface-skeleton__actions .edit-post-layout__toggle-publish-panel,.is-focusing-regions .interface-interface-skeleton__sidebar .edit-post-layout__toggle-sidebar-panel,.is-focusing-regions [role=region]:focus:after,.is-focusing-regions.is-distraction-free .interface-interface-skeleton__header .edit-post-header{outline:4px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-offset:-4px}.components-menu-group+.components-menu-group{border-top:1px solid #1e1e1e;margin-top:8px;padding-top:8px}.components-menu-group+.components-menu-group.has-hidden-separator{border-top:none;margin-top:0;padding-top:0}.components-menu-group__label{color:#757575;font-size:11px;font-weight:500;margin-bottom:12px;margin-top:4px;padding:0 8px;text-transform:uppercase;white-space:nowrap}.components-menu-item__button,.components-menu-item__button.components-button{width:100%}.components-menu-item__button.components-button[role=menuitemcheckbox] .components-menu-item__item:only-child,.components-menu-item__button.components-button[role=menuitemradio] .components-menu-item__item:only-child,.components-menu-item__button[role=menuitemcheckbox] .components-menu-item__item:only-child,.components-menu-item__button[role=menuitemradio] .components-menu-item__item:only-child{box-sizing:initial;padding-left:48px}.components-menu-item__button .components-menu-items__item-icon,.components-menu-item__button.components-button .components-menu-items__item-icon{display:inline-block;flex:0 0 auto}.components-menu-item__button .components-menu-items__item-icon.has-icon-right,.components-menu-item__button.components-button .components-menu-items__item-icon.has-icon-right{margin-left:-2px;margin-right:24px}.components-menu-item__button .components-menu-item__shortcut+.components-menu-items__item-icon.has-icon-right,.components-menu-item__button.components-button .components-menu-item__shortcut+.components-menu-items__item-icon.has-icon-right{margin-right:8px}.components-menu-item__button .block-editor-block-icon,.components-menu-item__button.components-button .block-editor-block-icon{margin-left:8px;margin-right:-2px}.components-menu-item__button.components-button.is-primary,.components-menu-item__button.is-primary{justify-content:center}.components-menu-item__button.components-button.is-primary .components-menu-item__item,.components-menu-item__button.is-primary .components-menu-item__item{margin-left:0}.components-menu-item__button.components-button:disabled.is-tertiary,.components-menu-item__button.components-button[aria-disabled=true].is-tertiary,.components-menu-item__button:disabled.is-tertiary,.components-menu-item__button[aria-disabled=true].is-tertiary{background:none;color:var(--wp-components-color-accent-darker-10,var(--wp-admin-theme-color-darker-10,#2145e6));opacity:.3}.components-menu-item__info-wrapper{display:flex;flex-direction:column;margin-left:auto}.components-menu-item__info{color:#757575;font-size:12px;margin-top:4px;white-space:normal}.components-menu-item__item{align-items:center;display:inline-flex;margin-left:auto;min-width:160px;white-space:nowrap}.components-menu-item__shortcut{align-self:center;color:currentColor;display:none;margin-left:0;margin-right:auto;padding-right:24px}@media (min-width:480px){.components-menu-item__shortcut{display:inline}}.components-menu-items-choice svg,.components-menu-items-choice.components-button svg{margin-left:12px}.components-menu-items-choice.components-button.has-icon,.components-menu-items-choice.has-icon{padding-right:12px}.components-modal__screen-overlay{animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards;background-color:rgba(0,0,0,.35);bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:100000}@media (prefers-reduced-motion:reduce){.components-modal__screen-overlay{animation-delay:0s;animation-duration:1ms}}.components-modal__frame{animation:components-modal__appear-animation .1s ease-out;animation-fill-mode:forwards;background:#fff;border-radius:4px 4px 0 0;box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),-.1px 11.5px 16.4px -.5px rgba(0,0,0,.15);display:flex;margin:40px 0 0;overflow:hidden;width:100%}@media (prefers-reduced-motion:reduce){.components-modal__frame{animation-delay:0s;animation-duration:1ms}}@media (min-width:600px){.components-modal__frame{border-radius:4px;margin:auto;max-height:calc(100% - 120px);max-width:calc(100% - 32px);min-width:350px;width:auto}}@media (min-width:600px) and (min-width:600px){.components-modal__frame.is-full-screen{height:calc(100% - 32px);max-height:none;width:calc(100% - 32px)}}@media (min-width:600px) and (min-width:782px){.components-modal__frame.is-full-screen{height:calc(100% - 80px);max-width:none;width:calc(100% - 80px)}}@media (min-width:600px){.components-modal__frame.has-size-large,.components-modal__frame.has-size-medium,.components-modal__frame.has-size-small{width:100%}.components-modal__frame.has-size-small{max-width:384px}.components-modal__frame.has-size-medium{max-width:512px}.components-modal__frame.has-size-large{max-width:840px}}@media (min-width:960px){.components-modal__frame{max-height:70%}}@keyframes components-modal__appear-animation{0%{transform:translateY(32px)}to{transform:translateY(0)}}.components-modal__header{align-items:center;border-bottom:1px solid transparent;box-sizing:border-box;display:flex;flex-direction:row;height:72px;justify-content:space-between;padding:24px 32px 8px;position:absolute;right:0;top:0;width:100%;z-index:10}.components-modal__header .components-modal__header-heading{font-size:1.2rem;font-weight:600}.components-modal__header h1{line-height:1;margin:0}.components-modal__header .components-button{position:relative;right:8px}.components-modal__content.has-scrolled-content:not(.hide-header) .components-modal__header{border-bottom-color:#ddd}.components-modal__header+p{margin-top:0}.components-modal__header-heading-container{align-items:center;display:flex;flex-direction:row;flex-grow:1;justify-content:right}.components-modal__header-icon-container{display:inline-block}.components-modal__header-icon-container svg{max-height:36px;max-width:36px;padding:8px}.components-modal__content{flex:1;margin-top:72px;overflow:auto;padding:4px 32px 32px}.components-modal__content.hide-header{margin-top:0;padding-top:32px}.components-modal__content.is-scrollable:focus-visible{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.components-notice{align-items:center;background-color:#fff;border-right:4px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;padding:8px 12px}.components-notice.is-dismissible{position:relative}.components-notice.is-success{background-color:#eff9f1;border-right-color:#4ab866}.components-notice.is-warning{background-color:#fef8ee;border-right-color:#f0b849}.components-notice.is-error{background-color:#f4a2a2;border-right-color:#cc1818}.components-notice__content{flex-grow:1;margin:4px 0 4px 25px}.components-notice__actions{display:flex;flex-wrap:wrap}.components-notice__action.components-button{margin-left:8px}.components-notice__action.components-button,.components-notice__action.components-button.is-link{margin-right:12px}.components-notice__action.components-button.is-secondary{vertical-align:initial}.components-notice__dismiss{align-self:flex-start;color:#757575;flex-shrink:0}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):focus,.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):active,.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{background-color:transparent;color:#1e1e1e}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{box-shadow:none}.components-notice-list{box-sizing:border-box;max-width:100vw}.components-notice-list .components-notice__content{line-height:2;margin-bottom:12px;margin-top:12px}.components-notice-list .components-notice__action.components-button{display:block;margin-right:0;margin-top:8px}.components-panel{background:#fff;border:1px solid #e0e0e0}.components-panel>.components-panel__body:first-child,.components-panel>.components-panel__header:first-child{margin-top:-1px}.components-panel>.components-panel__body:last-child,.components-panel>.components-panel__header:last-child{border-bottom-width:0}.components-panel+.components-panel{margin-top:-1px}.components-panel__body{border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0}.components-panel__body h3{margin:0 0 .5em}.components-panel__body.is-opened{padding:16px}.components-panel__header{align-items:center;border-bottom:1px solid #ddd;box-sizing:content-box;display:flex;height:47px;justify-content:space-between;padding:0 16px}.components-panel__header h2{color:inherit;font-size:inherit;margin:0}.components-panel__body+.components-panel__body,.components-panel__body+.components-panel__header,.components-panel__header+.components-panel__body,.components-panel__header+.components-panel__header{margin-top:-1px}.components-panel__body>.components-panel__body-title{display:block;font-size:inherit;margin-bottom:0;margin-top:0;padding:0;transition:background .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body>.components-panel__body-title{transition-delay:0s;transition-duration:0s}}.components-panel__body.is-opened>.components-panel__body-title{margin:-16px -16px 5px}.components-panel__body>.components-panel__body-title:hover{background:#f0f0f0;border:none}.components-panel__body-toggle.components-button{border:none;box-shadow:none;color:#1e1e1e;font-weight:500;height:auto;outline:none;padding:16px 16px 16px 48px;position:relative;text-align:right;transition:background .1s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button{transition-delay:0s;transition-duration:0s}}.components-panel__body-toggle.components-button:focus{border-radius:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-panel__body-toggle.components-button .components-panel__arrow{fill:currentColor;color:#1e1e1e;left:16px;position:absolute;top:50%;transform:translateY(-50%);transition:color .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button .components-panel__arrow{transition-delay:0s;transition-duration:0s}}body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right{-ms-filter:fliph;filter:FlipH;margin-top:-10px;transform:scaleX(-1)}.components-panel__icon{color:#757575;margin:-2px 6px -2px 0}.components-panel__body-toggle-icon{margin-left:-5px}.components-panel__color-title{float:right;height:19px}.components-panel__row{align-items:center;display:flex;justify-content:space-between;margin-top:8px;min-height:36px}.components-panel__row select{min-width:0}.components-panel__row label{flex-shrink:0;margin-left:12px;max-width:75%}.components-panel__row:empty,.components-panel__row:first-of-type{margin-top:0}.components-panel .circle-picker{padding-bottom:20px}.components-placeholder.components-placeholder{-moz-font-smoothing:subpixel-antialiased;-webkit-font-smoothing:subpixel-antialiased;background-color:#fff;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;box-sizing:border-box;color:#1e1e1e;margin:0;outline:1px solid transparent;padding:1em;position:relative;text-align:right;width:100%}@supports (position:sticky){.components-placeholder.components-placeholder{align-items:flex-start;display:flex;flex-direction:column;justify-content:top}}.components-placeholder__error,.components-placeholder__fieldset,.components-placeholder__instructions,.components-placeholder__label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-placeholder__label{align-items:center;display:flex;font-weight:600;margin-bottom:16px}.components-placeholder__label .block-editor-block-icon,.components-placeholder__label .dashicon,.components-placeholder__label>svg{fill:currentColor;margin-left:12px}@media (forced-colors:active){.components-placeholder__label .block-editor-block-icon,.components-placeholder__label .dashicon,.components-placeholder__label>svg{fill:CanvasText}}.components-placeholder__label:empty{display:none}.components-placeholder__fieldset,.components-placeholder__fieldset form{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.components-placeholder__fieldset form p,.components-placeholder__fieldset p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-placeholder__fieldset.is-column-layout,.components-placeholder__fieldset.is-column-layout form{flex-direction:column}.components-placeholder__input[type=url]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;flex:1 1 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;margin:0 0 0 8px;padding:6px 8px;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.components-placeholder__input[type=url]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-placeholder__input[type=url]{font-size:13px;line-height:normal}}.components-placeholder__input[type=url]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-placeholder__input[type=url]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-placeholder__input[type=url]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-placeholder__input[type=url]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-placeholder__instructions{margin-bottom:1em}.components-placeholder__error{margin-top:1em;width:100%}.components-placeholder__fieldset .components-button{margin-bottom:12px;margin-left:12px}.components-placeholder__fieldset .components-button:last-child{margin-bottom:0;margin-left:0}.components-placeholder__fieldset .components-button:not(.is-link)~.components-button.is-link{margin-left:10px;margin-right:10px}.components-placeholder__fieldset .components-button:not(.is-link)~.components-button.is-link:last-child{margin-left:0}.components-placeholder.is-large .components-placeholder__label{font-size:18pt;font-weight:400}.components-placeholder.is-medium .components-placeholder__instructions,.components-placeholder.is-small .components-placeholder__instructions{display:none}.components-placeholder.is-medium .components-placeholder__fieldset,.components-placeholder.is-medium .components-placeholder__fieldset form,.components-placeholder.is-small .components-placeholder__fieldset,.components-placeholder.is-small .components-placeholder__fieldset form{flex-direction:column}.components-placeholder.is-medium .components-placeholder__fieldset .components-button,.components-placeholder.is-small .components-placeholder__fieldset .components-button{margin-left:auto}.components-placeholder.is-small .components-button{padding:0 8px 2px}.components-placeholder .components-placeholder__learn-more .components-external-link{color:var(--wp-admin-theme-color)}.components-placeholder.has-illustration{-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);backface-visibility:hidden;background-color:transparent;border-radius:2px;box-shadow:none;color:inherit;display:flex;overflow:auto}.is-dark-theme .components-placeholder.has-illustration{background-color:rgba(0,0,0,.1)}.components-placeholder.has-illustration .components-placeholder__fieldset{margin-left:0;margin-right:0;width:auto}.components-placeholder.has-illustration .components-button,.components-placeholder.has-illustration .components-placeholder__instructions,.components-placeholder.has-illustration .components-placeholder__label{opacity:0;pointer-events:none;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.components-placeholder.has-illustration .components-button,.components-placeholder.has-illustration .components-placeholder__instructions,.components-placeholder.has-illustration .components-placeholder__label{transition-delay:0s;transition-duration:0s}}.is-selected>.components-placeholder.has-illustration .components-button,.is-selected>.components-placeholder.has-illustration .components-placeholder__instructions,.is-selected>.components-placeholder.has-illustration .components-placeholder__label{opacity:1;pointer-events:auto}.components-placeholder.has-illustration:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.components-placeholder__preview{display:flex;justify-content:center}.components-placeholder__illustration{stroke:currentColor;box-sizing:content-box;height:100%;opacity:.25;position:absolute;right:50%;top:50%;transform:translate(50%,-50%);width:100%}.components-popover{will-change:transform;z-index:1000000}.components-popover.is-expanded{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000000!important}.components-popover__content{background:#fff;border-radius:2px;box-shadow:0 0 0 1px #ccc,0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);box-sizing:border-box;width:min-content}.is-alternate .components-popover__content{box-shadow:0 0 0 1px #1e1e1e}.is-unstyled .components-popover__content{background:none;border-radius:0;box-shadow:none}.components-popover.is-expanded .components-popover__content{box-shadow:0 -1px 0 0 #ccc;height:calc(100% - 48px);overflow-y:visible;position:static;width:auto}.components-popover.is-expanded.is-alternate .components-popover__content{box-shadow:0 -1px 0 #1e1e1e}.components-popover__header{align-items:center;background:#fff;display:flex;height:48px;justify-content:space-between;padding:0 16px 0 8px}.components-popover__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.components-popover__close.components-button{z-index:5}.components-popover__arrow{display:flex;height:14px;pointer-events:none;position:absolute;width:14px}.components-popover__arrow:before{background-color:#fff;content:"";height:2px;left:1px;position:absolute;right:1px;top:-1px}.components-popover__arrow.is-top{bottom:-14px!important;transform:rotate(0)}.components-popover__arrow.is-right{left:-14px!important;transform:rotate(90deg)}.components-popover__arrow.is-bottom{top:-14px!important;transform:rotate(180deg)}.components-popover__arrow.is-left{right:-14px!important;transform:rotate(-90deg)}.components-popover__triangle{display:block;flex:1}.components-popover__triangle-bg{fill:#fff}.components-popover__triangle-border{fill:transparent;stroke-width:1px;stroke:#ccc}.is-alternate .components-popover__triangle-border{stroke:#1e1e1e}.components-popover-pointer-events-trap{background-color:transparent;inset:0;position:fixed;z-index:1000000}.components-radio-control__option{align-items:center;display:flex}.components-radio-control__input[type=radio]{-webkit-appearance:none;appearance:none;border:1px solid #1e1e1e;border-radius:2px;border-radius:50%;box-shadow:0 0 0 transparent;cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:24px;line-height:normal;margin:0 0 0 6px;padding:0;transition:box-shadow .1s linear;transition:none;width:24px}@media (prefers-reduced-motion:reduce){.components-radio-control__input[type=radio]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-radio-control__input[type=radio]{font-size:13px;line-height:normal}}.components-radio-control__input[type=radio]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color)}.components-radio-control__input[type=radio]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-radio-control__input[type=radio]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-radio-control__input[type=radio]:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.components-radio-control__input[type=radio]{height:20px;width:20px}}.components-radio-control__input[type=radio]:checked:before{background-color:#fff;border:4px solid #fff;box-sizing:inherit;height:8px;margin:0;transform:translate(-7px,7px);width:8px}@media (min-width:600px){.components-radio-control__input[type=radio]:checked:before{transform:translate(-5px,5px)}}.components-radio-control__input[type=radio]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.components-radio-control__input[type=radio]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.components-radio-control__input[type=radio]:focus{box-shadow:0 0 0 2px var(--wp-components-color-background,#fff),0 0 0 4px var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-radio-control__input[type=radio]:checked{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-radio-control__input[type=radio]:checked:before{border-radius:50%;content:""}.components-radio-control__label{cursor:pointer}.components-resizable-box__handle{display:none;height:23px;width:23px;z-index:2}.components-resizable-box__container.has-show-handle .components-resizable-box__handle{display:block}.components-resizable-box__container>img{width:inherit}.components-resizable-box__handle:after{background:#fff;border-radius:50%;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));content:"";cursor:inherit;display:block;height:15px;left:calc(50% - 8px);outline:2px solid transparent;position:absolute;top:calc(50% - 8px);width:15px}.components-resizable-box__side-handle:before{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-radius:2px;content:"";cursor:inherit;display:block;height:3px;left:calc(50% - 1px);opacity:0;position:absolute;top:calc(50% - 1px);transition:transform .1s ease-in;width:3px;will-change:transform}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle:before{transition-delay:0s;transition-duration:0s}}.components-resizable-box__corner-handle,.components-resizable-box__side-handle{z-index:2}.components-resizable-box__side-handle.components-resizable-box__handle-bottom,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:before,.components-resizable-box__side-handle.components-resizable-box__handle-top,.components-resizable-box__side-handle.components-resizable-box__handle-top:before{border-left:0;border-right:0;right:0;width:100%}.components-resizable-box__side-handle.components-resizable-box__handle-left,.components-resizable-box__side-handle.components-resizable-box__handle-left:before,.components-resizable-box__side-handle.components-resizable-box__handle-right,.components-resizable-box__side-handle.components-resizable-box__handle-right:before{border-bottom:0;border-top:0;height:100%;top:0}.components-resizable-box__side-handle.components-resizable-box__handle-bottom:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:hover:before{animation:components-resizable-box__top-bottom-animation .1s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle.components-resizable-box__handle-bottom:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:hover:before{animation-delay:0s;animation-duration:1ms}}.components-resizable-box__side-handle.components-resizable-box__handle-left:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:hover:before{animation:components-resizable-box__left-right-animation .1s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle.components-resizable-box__handle-left:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:hover:before{animation-delay:0s;animation-duration:1ms}}@media not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none){.components-resizable-box__side-handle.components-resizable-box__handle-bottom:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:hover:before{animation:none}}}@keyframes components-resizable-box__top-bottom-animation{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes components-resizable-box__left-right-animation{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.components-resizable-box__handle-right{right:-11.5px}.components-resizable-box__handle-left{left:-11.5px}.components-resizable-box__handle-top{top:-11.5px}.components-resizable-box__handle-bottom{bottom:-11.5px}.components-responsive-wrapper{align-items:center;display:flex;justify-content:center;max-width:100%;position:relative}.components-responsive-wrapper__content{display:block;max-width:100%;width:100%}.components-sandbox{overflow:hidden}iframe.components-sandbox{width:100%}body.lockscroll,html.lockscroll{overflow:hidden}.components-search-control{position:relative}.components-search-control input[type=search].components-search-control__input{background:#f0f0f0;border:none;border-radius:2px;box-shadow:0 0 0 transparent;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:48px;line-height:normal;margin-left:0;margin-right:0;padding:0 16px 0 48px;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-search-control input[type=search].components-search-control__input{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-search-control input[type=search].components-search-control__input{font-size:13px;line-height:normal}}.components-search-control input[type=search].components-search-control__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-search-control input[type=search].components-search-control__input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-search-control input[type=search].components-search-control__input::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-search-control input[type=search].components-search-control__input:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.components-search-control input[type=search].components-search-control__input{font-size:13px}}.components-search-control input[type=search].components-search-control__input:focus{background:#fff;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-search-control input[type=search].components-search-control__input::placeholder{color:#757575}.components-search-control input[type=search].components-search-control__input::-webkit-search-cancel-button,.components-search-control input[type=search].components-search-control__input::-webkit-search-decoration,.components-search-control input[type=search].components-search-control__input::-webkit-search-results-button,.components-search-control input[type=search].components-search-control__input::-webkit-search-results-decoration{-webkit-appearance:none}.components-search-control.is-next-40px-default-size input[type=search].components-search-control__input{height:40px}.components-search-control.is-size-compact input[type=search].components-search-control__input{height:32px;padding-left:32px;padding-right:8px}.components-search-control__icon{align-items:center;display:flex;justify-content:center;left:12px;position:absolute;top:50%;transform:translateY(-50%);width:24px}.is-size-compact .components-search-control__icon{left:4px}.components-search-control__input-wrapper{position:relative}.components-select-control__input{-webkit-tap-highlight-color:rgba(0,0,0,0)!important;outline:0}@media (max-width:782px){.components-base-control .components-base-control__field .components-select-control__input{font-size:16px}}.components-snackbar{-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background:rgba(0,0,0,.85);border-radius:2px;box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);box-sizing:border-box;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;max-width:600px;padding:12px 20px;pointer-events:auto;width:100%}@media (min-width:600px){.components-snackbar{width:-moz-fit-content;width:fit-content}}.components-snackbar:focus{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-snackbar.components-snackbar-explicit-dismiss{cursor:default}.components-snackbar .components-snackbar__content-with-icon{padding-right:24px;position:relative}.components-snackbar .components-snackbar__icon{position:absolute;right:-8px;top:-2.9px}.components-snackbar .components-snackbar__dismiss-button{cursor:pointer;margin-right:24px}.components-snackbar__action.components-button{color:#fff;flex-shrink:0;height:auto;line-height:1.4;margin-right:32px;padding:0}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary){background-color:transparent;text-decoration:underline}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):focus{box-shadow:none;color:#fff;outline:1px dotted #fff}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{color:#fff;text-decoration:none}.components-snackbar__content{align-items:baseline;display:flex;justify-content:space-between;line-height:1.4}.components-snackbar-list{box-sizing:border-box;pointer-events:none;position:absolute;width:100%;z-index:100000}.components-snackbar-list__notice-container{padding-top:8px;position:relative}.components-tab-panel__tabs{align-items:stretch;display:flex;flex-direction:row}.components-tab-panel__tabs[aria-orientation=vertical]{flex-direction:column}.components-tab-panel__tabs-item{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-right:0;padding:3px 16px;position:relative}.components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-tab-panel__tabs-item:after{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-tab-panel__tabs-item:after{transition-delay:0s;transition-duration:0s}}.components-tab-panel__tabs-item.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-tab-panel__tabs-item:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-tab-panel__tabs-item:before{transition-delay:0s;transition-duration:0s}}.components-tab-panel__tabs-item:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.components-text-control__input,.components-text-control__input[type=color],.components-text-control__input[type=date],.components-text-control__input[type=datetime-local],.components-text-control__input[type=datetime],.components-text-control__input[type=email],.components-text-control__input[type=month],.components-text-control__input[type=number],.components-text-control__input[type=password],.components-text-control__input[type=tel],.components-text-control__input[type=text],.components-text-control__input[type=time],.components-text-control__input[type=url],.components-text-control__input[type=week]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:32px;line-height:normal;padding:6px 8px;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-text-control__input,.components-text-control__input[type=color],.components-text-control__input[type=date],.components-text-control__input[type=datetime-local],.components-text-control__input[type=datetime],.components-text-control__input[type=email],.components-text-control__input[type=month],.components-text-control__input[type=number],.components-text-control__input[type=password],.components-text-control__input[type=tel],.components-text-control__input[type=text],.components-text-control__input[type=time],.components-text-control__input[type=url],.components-text-control__input[type=week]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-text-control__input,.components-text-control__input[type=color],.components-text-control__input[type=date],.components-text-control__input[type=datetime-local],.components-text-control__input[type=datetime],.components-text-control__input[type=email],.components-text-control__input[type=month],.components-text-control__input[type=number],.components-text-control__input[type=password],.components-text-control__input[type=tel],.components-text-control__input[type=text],.components-text-control__input[type=time],.components-text-control__input[type=url],.components-text-control__input[type=week]{font-size:13px;line-height:normal}}.components-text-control__input:focus,.components-text-control__input[type=color]:focus,.components-text-control__input[type=date]:focus,.components-text-control__input[type=datetime-local]:focus,.components-text-control__input[type=datetime]:focus,.components-text-control__input[type=email]:focus,.components-text-control__input[type=month]:focus,.components-text-control__input[type=number]:focus,.components-text-control__input[type=password]:focus,.components-text-control__input[type=tel]:focus,.components-text-control__input[type=text]:focus,.components-text-control__input[type=time]:focus,.components-text-control__input[type=url]:focus,.components-text-control__input[type=week]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-text-control__input::-webkit-input-placeholder,.components-text-control__input[type=color]::-webkit-input-placeholder,.components-text-control__input[type=date]::-webkit-input-placeholder,.components-text-control__input[type=datetime-local]::-webkit-input-placeholder,.components-text-control__input[type=datetime]::-webkit-input-placeholder,.components-text-control__input[type=email]::-webkit-input-placeholder,.components-text-control__input[type=month]::-webkit-input-placeholder,.components-text-control__input[type=number]::-webkit-input-placeholder,.components-text-control__input[type=password]::-webkit-input-placeholder,.components-text-control__input[type=tel]::-webkit-input-placeholder,.components-text-control__input[type=text]::-webkit-input-placeholder,.components-text-control__input[type=time]::-webkit-input-placeholder,.components-text-control__input[type=url]::-webkit-input-placeholder,.components-text-control__input[type=week]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-text-control__input::-moz-placeholder,.components-text-control__input[type=color]::-moz-placeholder,.components-text-control__input[type=date]::-moz-placeholder,.components-text-control__input[type=datetime-local]::-moz-placeholder,.components-text-control__input[type=datetime]::-moz-placeholder,.components-text-control__input[type=email]::-moz-placeholder,.components-text-control__input[type=month]::-moz-placeholder,.components-text-control__input[type=number]::-moz-placeholder,.components-text-control__input[type=password]::-moz-placeholder,.components-text-control__input[type=tel]::-moz-placeholder,.components-text-control__input[type=text]::-moz-placeholder,.components-text-control__input[type=time]::-moz-placeholder,.components-text-control__input[type=url]::-moz-placeholder,.components-text-control__input[type=week]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-text-control__input:-ms-input-placeholder,.components-text-control__input[type=color]:-ms-input-placeholder,.components-text-control__input[type=date]:-ms-input-placeholder,.components-text-control__input[type=datetime-local]:-ms-input-placeholder,.components-text-control__input[type=datetime]:-ms-input-placeholder,.components-text-control__input[type=email]:-ms-input-placeholder,.components-text-control__input[type=month]:-ms-input-placeholder,.components-text-control__input[type=number]:-ms-input-placeholder,.components-text-control__input[type=password]:-ms-input-placeholder,.components-text-control__input[type=tel]:-ms-input-placeholder,.components-text-control__input[type=text]:-ms-input-placeholder,.components-text-control__input[type=time]:-ms-input-placeholder,.components-text-control__input[type=url]:-ms-input-placeholder,.components-text-control__input[type=week]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-text-control__input.is-next-40px-default-size,.components-text-control__input[type=color].is-next-40px-default-size,.components-text-control__input[type=date].is-next-40px-default-size,.components-text-control__input[type=datetime-local].is-next-40px-default-size,.components-text-control__input[type=datetime].is-next-40px-default-size,.components-text-control__input[type=email].is-next-40px-default-size,.components-text-control__input[type=month].is-next-40px-default-size,.components-text-control__input[type=number].is-next-40px-default-size,.components-text-control__input[type=password].is-next-40px-default-size,.components-text-control__input[type=tel].is-next-40px-default-size,.components-text-control__input[type=text].is-next-40px-default-size,.components-text-control__input[type=time].is-next-40px-default-size,.components-text-control__input[type=url].is-next-40px-default-size,.components-text-control__input[type=week].is-next-40px-default-size{height:40px}.components-tip{color:#757575;display:flex}.components-tip svg{fill:#f0b849;align-self:center;flex-shrink:0;margin-left:16px}.components-tip p{margin:0}.components-accessible-toolbar{border:1px solid #1e1e1e;border-radius:2px;display:inline-flex;flex-shrink:0}.components-accessible-toolbar>.components-toolbar-group:last-child{border-left:none}.components-accessible-toolbar.is-unstyled{border:none}.components-accessible-toolbar.is-unstyled>.components-toolbar-group{border-left:none}.components-accessible-toolbar .components-button,.components-toolbar .components-button{height:48px;padding-left:16px;padding-right:16px;position:relative;z-index:1}.components-accessible-toolbar .components-button:focus:not(:disabled),.components-toolbar .components-button:focus:not(:disabled){box-shadow:none;outline:none}.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards;border-radius:2px;content:"";display:block;height:32px;left:8px;position:absolute;right:8px;z-index:-1}@media (prefers-reduced-motion:reduce){.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{animation-delay:0s;animation-duration:1ms}}.components-accessible-toolbar .components-button svg,.components-toolbar .components-button svg{margin-left:auto;margin-right:auto;position:relative}.components-accessible-toolbar .components-button.is-pressed,.components-accessible-toolbar .components-button.is-pressed:hover,.components-toolbar .components-button.is-pressed,.components-toolbar .components-button.is-pressed:hover{background:transparent}.components-accessible-toolbar .components-button.is-pressed:before,.components-toolbar .components-button.is-pressed:before{background:#1e1e1e}.components-accessible-toolbar .components-button:focus:before,.components-toolbar .components-button:focus:before{box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.components-accessible-toolbar .components-button.has-icon.has-icon,.components-toolbar .components-button.has-icon.has-icon{min-width:48px;padding-left:12px;padding-right:12px}.components-accessible-toolbar .components-button.components-tab-button,.components-toolbar .components-button.components-tab-button{font-weight:500}.components-accessible-toolbar .components-button.components-tab-button span,.components-toolbar .components-button.components-tab-button span{display:inline-block;padding-left:0;padding-right:0;position:relative}@keyframes components-button__appear-animation{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.components-toolbar__control.components-button{position:relative}.components-toolbar__control.components-button[data-subscript] svg{padding:5px 0 5px 10px}.components-toolbar__control.components-button[data-subscript]:after{bottom:10px;content:attr(data-subscript);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:600;left:8px;line-height:12px;position:absolute}.components-toolbar__control.components-button:not(:disabled).is-pressed[data-subscript]:after{color:#fff}.components-toolbar-group{background-color:#fff;border-left:1px solid #1e1e1e;display:inline-flex;flex-shrink:0;flex-wrap:wrap;line-height:0;min-height:48px;padding-left:6px;padding-right:6px}.components-toolbar-group .components-toolbar-group.components-toolbar-group{border-width:0;margin:0}.components-toolbar-group .components-button.components-button,.components-toolbar-group .components-button.has-icon.has-icon{min-width:36px;padding-left:6px;padding-right:6px}.components-toolbar-group .components-button.components-button svg,.components-toolbar-group .components-button.has-icon.has-icon svg{min-width:24px}.components-toolbar-group .components-button.components-button:before,.components-toolbar-group .components-button.has-icon.has-icon:before{left:2px;right:2px}.components-toolbar{background-color:#fff;border:1px solid #1e1e1e;display:inline-flex;flex-shrink:0;flex-wrap:wrap;margin:0;min-height:48px}.components-toolbar .components-toolbar.components-toolbar{border-width:0;margin:0}div.components-toolbar>div{display:block;margin:0}@supports (position:sticky){div.components-toolbar>div{display:flex}}div.components-toolbar>div+div.has-left-divider{margin-right:6px;overflow:visible;position:relative}div.components-toolbar>div+div.has-left-divider:before{background-color:#ddd;box-sizing:content-box;content:"";display:inline-block;height:20px;position:absolute;right:-3px;top:8px;width:1px}.components-tooltip{background:#000;border-radius:2px;color:#f0f0f0;font-size:12px;line-height:1.4;padding:4px 8px;text-align:center;z-index:1000002}.components-tooltip__shortcut{margin-right:8px} \ No newline at end of file diff --git a/wp-includes/css/dist/components/style.css b/wp-includes/css/dist/components/style.css index e1c0c18c06..307d9880cb 100644 --- a/wp-includes/css/dist/components/style.css +++ b/wp-includes/css/dist/components/style.css @@ -206,12 +206,14 @@ } .components-button.is-secondary:disabled,.components-button.is-secondary[aria-disabled=true],.components-button.is-secondary[aria-disabled=true]:hover,.components-button.is-tertiary:disabled,.components-button.is-tertiary[aria-disabled=true],.components-button.is-tertiary[aria-disabled=true]:hover{ background:transparent; - box-shadow:none; color:#949494; opacity:1; - outline:none; transform:none; } +.components-button.is-secondary:disabled:not(:focus),.components-button.is-secondary[aria-disabled=true]:hover:not(:focus),.components-button.is-secondary[aria-disabled=true]:not(:focus),.components-button.is-tertiary:disabled:not(:focus),.components-button.is-tertiary[aria-disabled=true]:hover:not(:focus),.components-button.is-tertiary[aria-disabled=true]:not(:focus){ + box-shadow:none; + outline:none; +} .components-button.is-secondary{ background:transparent; box-shadow:inset 0 0 0 1px var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); @@ -219,7 +221,7 @@ outline:1px solid transparent; white-space:nowrap; } -.components-button.is-secondary:hover:not(:disabled){ +.components-button.is-secondary:hover:not(:disabled,[aria-disabled=true]){ box-shadow:inset 0 0 0 1px var(--wp-components-color-accent-darker-10, var(--wp-admin-theme-color-darker-10, #2145e6)); } .components-button.is-tertiary{ @@ -291,6 +293,11 @@ p+.components-button.is-tertiary{ background-size:100px 100%; opacity:1; } +@media (prefers-reduced-motion:reduce){ + .components-button.is-busy,.components-button.is-secondary.is-busy,.components-button.is-secondary.is-busy:disabled,.components-button.is-secondary.is-busy[aria-disabled=true]{ + animation-duration:0s; + } +} .components-button.is-compact{ height:32px; } @@ -588,13 +595,13 @@ svg.components-checkbox-control__checked,svg.components-checkbox-control__indete .components-circular-option-picker__option:hover{ box-shadow:inset 0 0 0 14px !important; } -.components-circular-option-picker__option.is-pressed{ +.components-circular-option-picker__option[aria-pressed=true],.components-circular-option-picker__option[aria-selected=true]{ box-shadow:inset 0 0 0 4px; overflow:visible; position:relative; z-index:1; } -.components-circular-option-picker__option.is-pressed+svg{ +.components-circular-option-picker__option[aria-pressed=true]+svg,.components-circular-option-picker__option[aria-selected=true]+svg{ border-radius:50%; left:2px; pointer-events:none; @@ -646,7 +653,7 @@ svg.components-checkbox-control__checked,svg.components-checkbox-control__indete .components-palette-edit__popover-gradient-picker{ padding:8px; - width:280px; + width:260px; } .components-dropdown-menu__menu .components-palette-edit__menu-button{ @@ -935,7 +942,7 @@ input.components-combobox-control__input[type=text]:focus{ list-style-type:none; padding:8px 16px; } -.components-custom-select-control__item:not(.is-next-36px-default-size){ +.components-custom-select-control__item:not(.is-next-40px-default-size){ padding:8px; } .components-custom-select-control__item.has-hint{ @@ -1053,6 +1060,10 @@ body.is-dragging-components-draggable{ white-space:nowrap; } +.components-dropdown-menu__toggle{ + vertical-align:top; +} + .components-dropdown-menu__menu{ font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif; font-size:13px; @@ -1156,7 +1167,9 @@ body.is-dragging-components-draggable{ content:""; display:inline-block; height:18px; - transition:background .2s ease; + overflow:hidden; + position:relative; + transition:background-color .2s ease,border-color .2s ease; vertical-align:top; width:36px; } @@ -1166,9 +1179,24 @@ body.is-dragging-components-draggable{ transition-duration:0s; } } +.components-form-toggle .components-form-toggle__track:after{ + border-top:18px solid transparent; + box-sizing:border-box; + content:""; + inset:0; + opacity:0; + position:absolute; + transition:opacity .2s ease; +} +@media (prefers-reduced-motion:reduce){ + .components-form-toggle .components-form-toggle__track:after{ + transition-delay:0s; + transition-duration:0s; + } +} .components-form-toggle .components-form-toggle__thumb{ background-color:#1e1e1e; - border:5px solid #1e1e1e; + border:6px solid transparent; border-radius:50%; box-sizing:border-box; display:block; @@ -1176,7 +1204,7 @@ body.is-dragging-components-draggable{ left:3px; position:absolute; top:3px; - transition:transform .1s ease; + transition:transform .2s ease,background-color .2s ease-out; width:12px; } @media (prefers-reduced-motion:reduce){ @@ -1187,7 +1215,10 @@ body.is-dragging-components-draggable{ } .components-form-toggle.is-checked .components-form-toggle__track{ background-color:var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); - border:9px solid transparent; + border-color:var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); +} +.components-form-toggle.is-checked .components-form-toggle__track:after{ + opacity:1; } .components-form-toggle .components-form-toggle__input:focus+.components-form-toggle__track{ box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff, 0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); @@ -1390,6 +1421,7 @@ body.is-dragging-components-draggable{ max-height:128px; min-width:100%; overflow-y:auto; + padding:0; transition:all .15s ease-in-out; } @media (prefers-reduced-motion:reduce){ @@ -1400,6 +1432,7 @@ body.is-dragging-components-draggable{ } .components-form-token-field__suggestion{ + box-sizing:border-box; color:#1e1e1e; cursor:pointer; display:block; @@ -1685,6 +1718,20 @@ body.is-dragging-components-draggable{ width:calc(100% - 80px); } } +@media (min-width:600px){ + .components-modal__frame.has-size-large,.components-modal__frame.has-size-medium,.components-modal__frame.has-size-small{ + width:100%; + } + .components-modal__frame.has-size-small{ + max-width:384px; + } + .components-modal__frame.has-size-medium{ + max-width:512px; + } + .components-modal__frame.has-size-large{ + max-width:840px; + } +} @media (min-width:960px){ .components-modal__frame{ max-height:70%; @@ -1773,7 +1820,6 @@ body.is-dragging-components-draggable{ display:flex; font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif; font-size:13px; - margin:5px 15px 2px; padding:8px 12px; } .components-notice.is-dismissible{ @@ -2312,18 +2358,33 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right stroke:#1e1e1e; } +.components-popover-pointer-events-trap{ + background-color:transparent; + inset:0; + position:fixed; + z-index:1000000; +} + +.components-radio-control__option{ + align-items:center; + display:flex; +} + .components-radio-control__input[type=radio]{ + -webkit-appearance:none; + appearance:none; border:1px solid #1e1e1e; border-radius:2px; border-radius:50%; box-shadow:0 0 0 transparent; + cursor:pointer; + display:inline-flex; font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif; font-size:16px; height:24px; line-height:normal; - margin-right:6px; - margin-top:0; - padding:6px 8px; + margin:0 6px 0 0; + padding:0; transition:box-shadow .1s linear; transition:none; width:24px; @@ -2382,6 +2443,21 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right background:var(--wp-admin-theme-color); border-color:var(--wp-admin-theme-color); } +.components-radio-control__input[type=radio]:focus{ + box-shadow:0 0 0 2px var(--wp-components-color-background, #fff), 0 0 0 4px var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); +} +.components-radio-control__input[type=radio]:checked{ + background:var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); + border-color:var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); +} +.components-radio-control__input[type=radio]:checked:before{ + border-radius:50%; + content:""; +} + +.components-radio-control__label{ + cursor:pointer; +} .components-resizable-box__handle{ display:none; @@ -2608,6 +2684,8 @@ body.lockscroll,html.lockscroll{ } .components-search-control.is-size-compact input[type=search].components-search-control__input{ height:32px; + padding-left:8px; + padding-right:32px; } .components-search-control__icon{ @@ -2620,6 +2698,9 @@ body.lockscroll,html.lockscroll{ transform:translateY(-50%); width:24px; } +.is-size-compact .components-search-control__icon{ + right:4px; +} .components-search-control__input-wrapper{ position:relative; @@ -2664,12 +2745,13 @@ body.lockscroll,html.lockscroll{ cursor:default; } .components-snackbar .components-snackbar__content-with-icon{ - margin-left:24px; + padding-left:24px; + position:relative; } .components-snackbar .components-snackbar__icon{ - left:28px; + left:-8px; position:absolute; - top:24px; + top:-2.9px; } .components-snackbar .components-snackbar__dismiss-button{ cursor:pointer; @@ -2796,6 +2878,7 @@ body.lockscroll,html.lockscroll{ box-shadow:0 0 0 transparent; font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif; font-size:16px; + height:32px; line-height:normal; padding:6px 8px; transition:box-shadow .1s linear; @@ -2828,6 +2911,9 @@ body.lockscroll,html.lockscroll{ .components-text-control__input:-ms-input-placeholder,.components-text-control__input[type=color]:-ms-input-placeholder,.components-text-control__input[type=date]:-ms-input-placeholder,.components-text-control__input[type=datetime-local]:-ms-input-placeholder,.components-text-control__input[type=datetime]:-ms-input-placeholder,.components-text-control__input[type=email]:-ms-input-placeholder,.components-text-control__input[type=month]:-ms-input-placeholder,.components-text-control__input[type=number]:-ms-input-placeholder,.components-text-control__input[type=password]:-ms-input-placeholder,.components-text-control__input[type=tel]:-ms-input-placeholder,.components-text-control__input[type=text]:-ms-input-placeholder,.components-text-control__input[type=time]:-ms-input-placeholder,.components-text-control__input[type=url]:-ms-input-placeholder,.components-text-control__input[type=week]:-ms-input-placeholder{ color:rgba(30,30,30,.62); } +.components-text-control__input.is-next-40px-default-size,.components-text-control__input[type=color].is-next-40px-default-size,.components-text-control__input[type=date].is-next-40px-default-size,.components-text-control__input[type=datetime-local].is-next-40px-default-size,.components-text-control__input[type=datetime].is-next-40px-default-size,.components-text-control__input[type=email].is-next-40px-default-size,.components-text-control__input[type=month].is-next-40px-default-size,.components-text-control__input[type=number].is-next-40px-default-size,.components-text-control__input[type=password].is-next-40px-default-size,.components-text-control__input[type=tel].is-next-40px-default-size,.components-text-control__input[type=text].is-next-40px-default-size,.components-text-control__input[type=time].is-next-40px-default-size,.components-text-control__input[type=url].is-next-40px-default-size,.components-text-control__input[type=week].is-next-40px-default-size{ + height:40px; +} .components-tip{ color:#757575; @@ -2852,6 +2938,12 @@ body.lockscroll,html.lockscroll{ .components-accessible-toolbar>.components-toolbar-group:last-child{ border-right:none; } +.components-accessible-toolbar.is-unstyled{ + border:none; +} +.components-accessible-toolbar.is-unstyled>.components-toolbar-group{ + border-right:none; +} .components-accessible-toolbar .components-button,.components-toolbar .components-button{ height:48px; @@ -2894,7 +2986,7 @@ body.lockscroll,html.lockscroll{ background:#1e1e1e; } .components-accessible-toolbar .components-button:focus:before,.components-toolbar .components-button:focus:before{ - box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 4px #fff; + box-shadow:inset 0 0 0 1px var(--wp-components-color-background, #fff), 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); outline:2px solid transparent; } .components-accessible-toolbar .components-button.has-icon.has-icon,.components-toolbar .components-button.has-icon.has-icon{ @@ -2936,9 +3028,6 @@ body.lockscroll,html.lockscroll{ position:absolute; right:8px; } -.components-toolbar__control.components-button:active:before{ - display:none; -} .components-toolbar__control.components-button:not(:disabled).is-pressed[data-subscript]:after{ color:#fff; } diff --git a/wp-includes/css/dist/components/style.min.css b/wp-includes/css/dist/components/style.min.css index 47838fafb8..2dc0bce615 100644 --- a/wp-includes/css/dist/components/style.min.css +++ b/wp-includes/css/dist/components/style.min.css @@ -1,4 +1,4 @@ -@charset "UTF-8";:root{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-animate__appear{animation:components-animate__appear-animation .1s cubic-bezier(0,0,.2,1) 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-animate__appear{animation-delay:0s;animation-duration:1ms}}.components-animate__appear.is-from-top,.components-animate__appear.is-from-top.is-from-left{transform-origin:top left}.components-animate__appear.is-from-top.is-from-right{transform-origin:top right}.components-animate__appear.is-from-bottom,.components-animate__appear.is-from-bottom.is-from-left{transform-origin:bottom left}.components-animate__appear.is-from-bottom.is-from-right{transform-origin:bottom right}@keyframes components-animate__appear-animation{0%{transform:translateY(-2em) scaleY(0) scaleX(0)}to{transform:translateY(0) scaleY(1) scaleX(1)}}.components-animate__slide-in{animation:components-animate__slide-in-animation .1s cubic-bezier(0,0,.2,1);animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-animate__slide-in{animation-delay:0s;animation-duration:1ms}}.components-animate__slide-in.is-from-left{transform:translateX(100%)}.components-animate__slide-in.is-from-right{transform:translateX(-100%)}@keyframes components-animate__slide-in-animation{to{transform:translateX(0)}}.components-animate__loading{animation:components-animate__loading 1.6s ease-in-out infinite}@keyframes components-animate__loading{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.components-autocomplete__popover .components-popover__content{min-width:220px;padding:16px}.components-autocomplete__result.components-button{display:flex;height:auto;min-height:36px;text-align:left;width:100%}.components-autocomplete__result.components-button.is-selected{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button-group{display:inline-block}.components-button-group .components-button{border-radius:0;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;display:inline-flex}.components-button-group .components-button+.components-button{margin-left:-1px}.components-button-group .components-button:first-child{border-radius:2px 0 0 2px}.components-button-group .components-button:last-child{border-radius:0 2px 2px 0}.components-button-group .components-button.is-primary,.components-button-group .components-button:focus{position:relative;z-index:1}.components-button-group .components-button.is-primary{box-shadow:inset 0 0 0 1px #1e1e1e}.components-button{align-items:center;-webkit-appearance:none;background:none;border:0;border-radius:2px;box-sizing:border-box;color:var(--wp-components-color-foreground,#1e1e1e);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:400;height:36px;margin:0;padding:6px 12px;text-decoration:none;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.components-button{transition-delay:0s;transition-duration:0s}}.components-button.is-next-40px-default-size{height:40px}.components-button:hover,.components-button[aria-expanded=true]{color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button:disabled:hover,.components-button[aria-disabled=true]:hover{color:initial}.components-button:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:3px solid transparent}.components-button.is-primary{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent-inverted,#fff);outline:1px solid transparent;text-decoration:none;text-shadow:none;white-space:nowrap}.components-button.is-primary:hover:not(:disabled){background:var(--wp-components-color-accent-darker-10,var(--wp-admin-theme-color-darker-10,#2145e6));color:var(--wp-components-color-accent-inverted,#fff)}.components-button.is-primary:active:not(:disabled){background:var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6));border-color:var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6));color:var(--wp-components-color-accent-inverted,#fff)}.components-button.is-primary:focus:not(:disabled){box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button.is-primary:disabled,.components-button.is-primary:disabled:active:enabled,.components-button.is-primary[aria-disabled=true],.components-button.is-primary[aria-disabled=true]:active:enabled,.components-button.is-primary[aria-disabled=true]:enabled{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:hsla(0,0%,100%,.4);opacity:1;outline:none}.components-button.is-primary:disabled:active:enabled:focus:enabled,.components-button.is-primary:disabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:active:enabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:enabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:focus:enabled{box-shadow:0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 3px var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button.is-primary.is-busy,.components-button.is-primary.is-busy:disabled,.components-button.is-primary.is-busy[aria-disabled=true]{background-image:linear-gradient(-45deg,var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9)) 33%,var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6)) 33%,var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6)) 70%,var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9)) 70%);background-size:100px 100%;border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent-inverted,#fff)}.components-button.is-secondary,.components-button.is-tertiary{outline:1px solid transparent}.components-button.is-secondary:active:not(:disabled),.components-button.is-tertiary:active:not(:disabled){box-shadow:none}.components-button.is-secondary:disabled,.components-button.is-secondary[aria-disabled=true],.components-button.is-secondary[aria-disabled=true]:hover,.components-button.is-tertiary:disabled,.components-button.is-tertiary[aria-disabled=true],.components-button.is-tertiary[aria-disabled=true]:hover{background:transparent;box-shadow:none;color:#949494;opacity:1;outline:none;transform:none}.components-button.is-secondary{background:transparent;box-shadow:inset 0 0 0 1px var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:1px solid transparent;white-space:nowrap}.components-button.is-secondary:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--wp-components-color-accent-darker-10,var(--wp-admin-theme-color-darker-10,#2145e6))}.components-button.is-tertiary{background:transparent;color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));white-space:nowrap}.components-button.is-tertiary:hover:not(:disabled,[aria-disabled=true]){background:rgba(var(--wp-admin-theme-color--rgb),.04)}.components-button.is-tertiary:active:not(:disabled,[aria-disabled=true]){background:rgba(var(--wp-admin-theme-color--rgb),.08)}p+.components-button.is-tertiary{margin-left:-6px}.components-button.is-destructive{--wp-components-color-accent:#cc1818;--wp-components-color-accent-darker-10:#9e1313;--wp-components-color-accent-darker-20:#710d0d}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link){color:#cc1818}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link):hover:not(:disabled){color:#710d0d}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link):focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) #cc1818}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link):active:not(:disabled){background:#ccc}.components-button.is-link{background:none;border:0;border-radius:0;box-shadow:none;color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));height:auto;margin:0;outline:none;padding:0;text-align:left;text-decoration:underline;transition-duration:.05s;transition-property:border,background,color;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.components-button.is-link{transition-delay:0s;transition-duration:0s}}.components-button.is-link:focus{border-radius:2px}.components-button:not(:disabled,[aria-disabled=true]):active{color:var(--wp-components-color-foreground,#1e1e1e)}.components-button:disabled,.components-button[aria-disabled=true]{cursor:default;opacity:.3}.components-button.is-busy,.components-button.is-secondary.is-busy,.components-button.is-secondary.is-busy:disabled,.components-button.is-secondary.is-busy[aria-disabled=true]{animation:components-button__busy-animation 2.5s linear infinite;background-image:linear-gradient(-45deg,#fafafa 33%,#e0e0e0 0,#e0e0e0 70%,#fafafa 0);background-size:100px 100%;opacity:1}.components-button.is-compact{height:32px}.components-button.is-compact.has-icon:not(.has-text){min-width:32px;padding:0;width:32px}.components-button.is-small{font-size:11px;height:24px;line-height:22px;padding:0 8px}.components-button.is-small.has-icon:not(.has-text){min-width:24px;padding:0;width:24px}.components-button.has-icon{justify-content:center;min-width:36px;padding:6px}.components-button.has-icon.is-next-40px-default-size{min-width:40px}.components-button.has-icon .dashicon{align-items:center;box-sizing:content-box;display:inline-flex;justify-content:center;padding:2px}.components-button.has-icon.has-text{gap:4px;justify-content:start;padding-left:8px;padding-right:12px}.components-button.is-pressed{background:var(--wp-components-color-foreground,#1e1e1e);color:var(--wp-components-color-foreground-inverted,#fff)}.components-button.is-pressed:focus:not(:disabled){box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.components-button.is-pressed:hover:not(:disabled){background:var(--wp-components-color-foreground,#1e1e1e);color:var(--wp-components-color-foreground-inverted,#fff)}.components-button svg{fill:currentColor;outline:none}@media (forced-colors:active){.components-button svg{fill:CanvasText}}.components-button .components-visually-hidden{height:auto}@keyframes components-button__busy-animation{0%{background-position:200px 0}}.components-checkbox-control__input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #1e1e1e;border-radius:2px;box-shadow:0 0 0 transparent;clear:none;color:#1e1e1e;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:24px;line-height:normal;line-height:0;margin:0 4px 0 0;outline:0;padding:6px 8px;padding:0!important;text-align:center;transition:box-shadow .1s linear;transition:none;transition:border-color .1s ease-in-out;vertical-align:top;width:24px}@media (min-width:600px){.components-checkbox-control__input[type=checkbox]{font-size:13px;line-height:normal}}.components-checkbox-control__input[type=checkbox]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-checkbox-control__input[type=checkbox]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox]:checked::-ms-check{opacity:0}.components-checkbox-control__input[type=checkbox]:checked:before,.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{color:#fff;margin:-3px -5px}@media (min-width:782px){.components-checkbox-control__input[type=checkbox]:checked:before,.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{margin:-4px 0 0 -5px}}.components-checkbox-control__input[type=checkbox][aria-checked=mixed]{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";display:inline-block;float:left;font:normal 30px/1 dashicons;vertical-align:middle;width:16px}@media (min-width:782px){.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{float:none;font-size:21px}}@media (min-width:600px){.components-checkbox-control__input[type=checkbox]{height:20px;width:20px}}@media (prefers-reduced-motion:reduce){.components-checkbox-control__input[type=checkbox]{transition-delay:0s;transition-duration:0s}}.components-checkbox-control__input[type=checkbox]:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:2px}.components-checkbox-control__input[type=checkbox]:checked,.components-checkbox-control__input[type=checkbox]:indeterminate{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-checkbox-control__input[type=checkbox]:checked::-ms-check,.components-checkbox-control__input[type=checkbox]:indeterminate::-ms-check{opacity:0}.components-checkbox-control__input[type=checkbox]:checked:before{content:none}.components-checkbox-control__input-container{display:inline-block;height:24px;margin-right:12px;position:relative;vertical-align:middle;width:24px}@media (min-width:600px){.components-checkbox-control__input-container{height:20px;width:20px}}svg.components-checkbox-control__checked,svg.components-checkbox-control__indeterminate{fill:#fff;cursor:pointer;height:24px;left:0;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:24px}@media (min-width:600px){svg.components-checkbox-control__checked,svg.components-checkbox-control__indeterminate{left:-2px;top:-2px}}.components-circular-option-picker{display:inline-block;min-width:188px;width:100%}.components-circular-option-picker .components-circular-option-picker__custom-clear-wrapper{display:flex;justify-content:flex-end;margin-top:12px}.components-circular-option-picker .components-circular-option-picker__swatches{display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:1}.components-circular-option-picker>:not(.components-circular-option-picker__swatches){position:relative;z-index:0}.components-circular-option-picker__option-wrapper{display:inline-block;height:28px;transform:scale(1);transition:transform .1s ease;vertical-align:top;width:28px;will-change:transform}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option-wrapper{transition-delay:0s;transition-duration:0s}}.components-circular-option-picker__option-wrapper:hover{transform:scale(1.2)}.components-circular-option-picker__option-wrapper>div{height:100%;width:100%}.components-circular-option-picker__option-wrapper:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none'%3E%3Cpath fill='%23555D65' d='M6 8V6H4v2h2zm2 0V6h2v2H8zm2 8H8v-2h2v2zm2 0v-2h2v2h-2zm0 2v-2h-2v2H8v2h2v-2h2zm2 0v2h-2v-2h2zm2 0h-2v-2h2v2z'/%3E%3Cpath fill='%23555D65' fill-rule='evenodd' d='M18 18h2v-2h-2v-2h2v-2h-2v-2h2V8h-2v2h-2V8h-2v2h2v2h-2v2h2v2h2v2zm-2-4v-2h2v2h-2z' clip-rule='evenodd'/%3E%3Cpath fill='%23555D65' d='M18 18v2h-2v-2h2z'/%3E%3Cpath fill='%23555D65' fill-rule='evenodd' d='M8 10V8H6v2H4v2h2v2H4v2h2v2H4v2h2v2H4v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2v2h-2V4h-2v2h-2V4h-2v2h-2V4h-2v2h2v2h-2v2H8zm0 2v-2H6v2h2zm2 0v-2h2v2h-2zm0 2v-2H8v2H6v2h2v2H6v2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h-2v2h-2V6h-2v2h-2v2h2v2h-2v2h-2z' clip-rule='evenodd'/%3E%3Cpath fill='%23555D65' fill-rule='evenodd' d='M4 0H2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2V2h2V0h-2v2h-2V0h-2v2h-2V0h-2v2h-2V0h-2v2h-2V0h-2v2H8V0H6v2H4V0zm0 4V2H2v2h2zm2 0V2h2v2H6zm0 2V4H4v2H2v2h2v2H2v2h2v2H2v2h2v2H2v2h2v2H2v2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2V2h-2v2h-2V2h-2v2h-2V2h-2v2h-2V2h-2v2H8v2H6z' clip-rule='evenodd'/%3E%3C/svg%3E");border-radius:50%;bottom:1px;content:"";left:1px;position:absolute;right:1px;top:1px;z-index:-1}.components-circular-option-picker__option{background:transparent;border:none;border-radius:50%;box-shadow:inset 0 0 0 14px;cursor:pointer;display:inline-block;height:100%;transition:box-shadow .1s ease;vertical-align:top;width:100%}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option{transition-delay:0s;transition-duration:0s}}.components-circular-option-picker__option:hover{box-shadow:inset 0 0 0 14px!important}.components-circular-option-picker__option.is-pressed{box-shadow:inset 0 0 0 4px;overflow:visible;position:relative;z-index:1}.components-circular-option-picker__option.is-pressed+svg{border-radius:50%;left:2px;pointer-events:none;position:absolute;top:2px;z-index:2}.components-circular-option-picker__option:after{border:1px solid transparent;border-radius:50%;bottom:-1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);box-sizing:inherit;content:"";left:-1px;position:absolute;right:-1px;top:-1px}.components-circular-option-picker__option:focus:after{border:2px solid #757575;border-radius:50%;box-shadow:inset 0 0 0 2px #fff;content:"";height:calc(100% + 4px);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% + 4px)}.components-circular-option-picker__option.components-button:focus{background-color:transparent;box-shadow:inset 0 0 0 14px;outline:none}.components-circular-option-picker__button-action .components-circular-option-picker__option{background:#fff;color:#fff}.components-circular-option-picker__dropdown-link-action{margin-right:16px}.components-circular-option-picker__dropdown-link-action .components-button{line-height:22px}.components-palette-edit__popover-gradient-picker{padding:8px;width:280px}.components-dropdown-menu__menu .components-palette-edit__menu-button{width:100%}.component-color-indicator{background:#fff linear-gradient(-45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0);border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);display:inline-block;height:20px;padding:0;width:20px}.components-combobox-control{width:100%}input.components-combobox-control__input[type=text]{border:none;box-shadow:none;font-family:inherit;font-size:16px;line-height:inherit;margin:0;min-height:auto;padding:2px;width:100%}@media (min-width:600px){input.components-combobox-control__input[type=text]{font-size:13px}}input.components-combobox-control__input[type=text]:focus{box-shadow:none;outline:none}.components-combobox-control__suggestions-container{align-items:flex-start;border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;display:flex;flex-wrap:wrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:0;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-combobox-control__suggestions-container{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-combobox-control__suggestions-container{font-size:13px;line-height:normal}}.components-combobox-control__suggestions-container:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-combobox-control__suggestions-container::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-combobox-control__suggestions-container::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-combobox-control__suggestions-container:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-combobox-control__suggestions-container:focus-within{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-combobox-control__reset.components-button{display:flex;height:16px;min-width:16px;padding:0}.components-color-palette__custom-color-wrapper{position:relative;z-index:0}.components-color-palette__custom-color-button{background:none;border:none;border-radius:2px 2px 0 0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);box-sizing:border-box;cursor:pointer;height:64px;outline:1px solid transparent;position:relative;width:100%}.components-color-palette__custom-color-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-width:2px}.components-color-palette__custom-color-button:after{background-image:repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0),repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0);background-position:0 0,24px 24px;background-size:48px 48px;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.components-color-palette__custom-color-text-wrapper{border-radius:0 0 2px 2px;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2),inset 1px 0 0 0 rgba(0,0,0,.2),inset -1px 0 0 0 rgba(0,0,0,.2);font-size:13px;padding:12px 16px;position:relative}.components-color-palette__custom-color-name{color:var(--wp-components-color-foreground,#1e1e1e);margin:0 1px}.components-color-palette__custom-color-value{color:#757575}.components-color-palette__custom-color-value--is-hex{text-transform:uppercase}.components-color-palette__custom-color-value:empty:after{content:"​";visibility:hidden}.components-custom-gradient-picker:not(.is-next-has-no-margin){margin-bottom:24px;margin-top:12px}.components-custom-gradient-picker__gradient-bar{border-radius:2px;height:48px;position:relative;width:100%;z-index:1}.components-custom-gradient-picker__gradient-bar.has-gradient{background-image:repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0),repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0);background-position:0 0,12px 12px;background-size:24px 24px}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__gradient-bar-background{inset:0;position:absolute}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__markers-container{margin-left:auto;margin-right:auto;position:relative;width:calc(100% - 48px)}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-dropdown{display:flex;height:16px;position:absolute;top:16px;width:16px}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point-dropdown{background:#fff;border-radius:50%;color:#1e1e1e;height:inherit;min-width:16px;padding:2px;position:relative;width:inherit}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point-dropdown svg{height:100%;width:100%}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button{border-radius:50%;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 2px 0 rgba(0,0,0,.25);height:inherit;outline:2px solid transparent;padding:0;width:inherit}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button.is-active,.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button:focus{box-shadow:inset 0 0 0 calc(var(--wp-admin-border-width-focus)*2) #fff,0 0 2px 0 rgba(0,0,0,.25);outline:1.5px solid transparent}.components-custom-gradient-picker__remove-control-point-wrapper{padding-bottom:8px}.components-custom-gradient-picker__inserter{direction:ltr}.components-custom-gradient-picker__liner-gradient-indicator{display:inline-block;flex:0 auto;height:20px;width:20px}.components-custom-gradient-picker .components-custom-gradient-picker__toolbar{border:none}.components-custom-gradient-picker .components-custom-gradient-picker__toolbar>div+div{margin-left:1px}.components-custom-gradient-picker .components-custom-gradient-picker__toolbar button.is-pressed>svg{background:#fff;border:1px solid #949494;border-radius:2px}.components-custom-gradient-picker__ui-line{position:relative;z-index:0}.components-custom-select-control{font-size:13px;position:relative}.components-custom-select-control__button{outline:0;position:relative;text-align:left}.components-custom-select-control__hint{color:#949494;margin-left:10px}.components-custom-select-control__menu{background-color:#fff;border:1px solid #1e1e1e;border-radius:2px;max-height:400px;min-width:100%;outline:none;overflow:auto;padding:0;position:absolute;transition:none;z-index:1000000}.components-custom-select-control__menu[aria-hidden=true]{display:none}.components-custom-select-control__item{align-items:center;cursor:default;display:grid;grid-template-columns:auto auto;line-height:28px;list-style-type:none;padding:8px 16px}.components-custom-select-control__item:not(.is-next-36px-default-size){padding:8px}.components-custom-select-control__item.has-hint{grid-template-columns:auto auto 30px}.components-custom-select-control__item.is-highlighted{background:#ddd}.components-custom-select-control__item .components-custom-select-control__item-hint{color:#949494;padding-right:4px;text-align:right}.components-custom-select-control__item .components-custom-select-control__item-icon{margin-left:auto}.components-custom-select-control__item:last-child{margin-bottom:0}.block-editor-dimension-control .components-base-control__field{align-items:center;display:flex}.block-editor-dimension-control .components-base-control__label{align-items:center;display:flex;margin-bottom:0;margin-right:1em}.block-editor-dimension-control .components-base-control__label .dashicon{margin-right:.5em}.block-editor-dimension-control.is-manual .components-base-control__label{width:10em}body.is-dragging-components-draggable{cursor:move;cursor:grabbing!important}.components-draggable__invisible-drag-image{height:50px;left:-1000px;position:fixed;width:50px}.components-draggable__clone{background:transparent;padding:0;pointer-events:none;position:fixed;z-index:1000000000}.components-drop-zone{border-radius:2px;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;visibility:hidden;z-index:40}.components-drop-zone.is-active{opacity:1;visibility:visible}.components-drop-zone__content{align-items:center;background-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));bottom:0;color:#fff;display:flex;height:100%;justify-content:center;left:0;position:absolute;right:0;text-align:center;top:0;width:100%;z-index:50}.components-drop-zone__content-icon,.components-drop-zone__content-text{display:block}.components-drop-zone__content-icon{fill:currentColor;line-height:0;margin:0 auto 8px;pointer-events:none}.components-drop-zone__content-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-dropdown{display:inline-block}.components-dropdown__content .components-popover__content{padding:8px}.components-dropdown__content [role=menuitem]{white-space:nowrap}.components-dropdown-menu__menu{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.4;width:100%}.components-dropdown-menu__menu .components-dropdown-menu__menu-item,.components-dropdown-menu__menu .components-menu-item{cursor:pointer;outline:none;padding:6px;white-space:nowrap;width:100%}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator,.components-dropdown-menu__menu .components-menu-item.has-separator{margin-top:6px;overflow:visible;position:relative}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator:before,.components-dropdown-menu__menu .components-menu-item.has-separator:before{background-color:#ddd;box-sizing:content-box;content:"";display:block;height:1px;left:0;position:absolute;right:0;top:-3px}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-active .dashicon,.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-active svg,.components-dropdown-menu__menu .components-menu-item.is-active .dashicon,.components-dropdown-menu__menu .components-menu-item.is-active svg{background:#1e1e1e;border-radius:1px;box-shadow:0 0 0 1px #1e1e1e;color:#fff}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-icon-only,.components-dropdown-menu__menu .components-menu-item.is-icon-only{width:auto}.components-dropdown-menu__menu .components-menu-item__button,.components-dropdown-menu__menu .components-menu-item__button.components-button{height:auto;min-height:36px;padding-left:8px;padding-right:8px;text-align:left}.components-dropdown-menu__menu .components-menu-group{margin:0 -8px;padding:8px}.components-dropdown-menu__menu .components-menu-group:first-child{margin-top:-8px}.components-dropdown-menu__menu .components-menu-group:last-child{margin-bottom:-8px}.components-dropdown-menu__menu .components-menu-group+.components-menu-group{border-top:1px solid #ccc;margin-top:0;padding:8px}.is-alternate .components-dropdown-menu__menu .components-menu-group+.components-menu-group{border-color:#1e1e1e}.components-duotone-picker__color-indicator:before{background:transparent}.components-duotone-picker__color-indicator>.components-button,.components-duotone-picker__color-indicator>.components-button.is-pressed:hover:not(:disabled){background:linear-gradient(-45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0);color:transparent}.components-duotone-picker__color-indicator>.components-button:not([aria-disabled=true]):active{color:transparent}.components-color-list-picker,.components-color-list-picker__swatch-button{width:100%}.components-color-list-picker__color-picker{margin:8px 0}.components-color-list-picker__swatch-button{padding:6px}.components-color-list-picker__swatch-color{margin:2px}.components-form-toggle{display:inline-block;position:relative}.components-form-toggle .components-form-toggle__track{background-color:#fff;border:1px solid #1e1e1e;border-radius:9px;box-sizing:border-box;content:"";display:inline-block;height:18px;transition:background .2s ease;vertical-align:top;width:36px}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__track{transition-delay:0s;transition-duration:0s}}.components-form-toggle .components-form-toggle__thumb{background-color:#1e1e1e;border:5px solid #1e1e1e;border-radius:50%;box-sizing:border-box;display:block;height:12px;left:3px;position:absolute;top:3px;transition:transform .1s ease;width:12px}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__thumb{transition-delay:0s;transition-duration:0s}}.components-form-toggle.is-checked .components-form-toggle__track{background-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border:9px solid transparent}.components-form-toggle .components-form-toggle__input:focus+.components-form-toggle__track{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent;outline-offset:2px}.components-form-toggle.is-checked .components-form-toggle__thumb{background-color:#fff;border-width:0;transform:translateX(18px)}.components-disabled .components-form-toggle,.components-form-toggle.is-disabled{opacity:.3}.components-form-toggle input.components-form-toggle__input[type=checkbox]{border:none;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%;z-index:1}.components-form-toggle input.components-form-toggle__input[type=checkbox]:checked{background:none}.components-form-toggle input.components-form-toggle__input[type=checkbox]:before{content:""}.components-form-token-field__input-container{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;cursor:text;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:0;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-form-token-field__input-container{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-form-token-field__input-container{font-size:13px;line-height:normal}}.components-form-token-field__input-container:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-form-token-field__input-container::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-form-token-field__input-container::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-form-token-field__input-container:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-form-token-field__input-container.is-disabled{background:#ddd;border-color:#ddd}.components-form-token-field__input-container.is-active{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-form-token-field__input-container input[type=text].components-form-token-field__input{background:inherit;border:0;box-shadow:none;color:#1e1e1e;display:inline-block;flex:1;font-family:inherit;font-size:16px;margin-left:4px;max-width:100%;min-height:24px;min-width:50px;padding:0;width:100%}@media (min-width:600px){.components-form-token-field__input-container input[type=text].components-form-token-field__input{font-size:13px}}.components-form-token-field.is-active .components-form-token-field__input-container input[type=text].components-form-token-field__input,.components-form-token-field__input-container input[type=text].components-form-token-field__input:focus{box-shadow:none;outline:none}.components-form-token-field__input-container .components-form-token-field__token+input[type=text].components-form-token-field__input{width:auto}.components-form-token-field__token{color:#1e1e1e;display:flex;font-size:13px;max-width:100%}.components-form-token-field__token.is-success .components-form-token-field__remove-token,.components-form-token-field__token.is-success .components-form-token-field__token-text{background:#4ab866}.components-form-token-field__token.is-error .components-form-token-field__remove-token,.components-form-token-field__token.is-error .components-form-token-field__token-text{background:#cc1818}.components-form-token-field__token.is-validating .components-form-token-field__remove-token,.components-form-token-field__token.is-validating .components-form-token-field__token-text{color:#757575}.components-form-token-field__token.is-borderless{padding:0 24px 0 0;position:relative}.components-form-token-field__token.is-borderless .components-form-token-field__token-text{background:transparent;color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-form-token-field__token.is-borderless .components-form-token-field__remove-token{background:transparent;color:#757575;padding:0;position:absolute;right:0;top:1px}.components-form-token-field__token.is-borderless.is-success .components-form-token-field__token-text{color:#4ab866}.components-form-token-field__token.is-borderless.is-error .components-form-token-field__token-text{border-radius:4px 0 0 4px;color:#cc1818;padding:0 4px 0 6px}.components-form-token-field__token.is-borderless.is-validating .components-form-token-field__token-text{color:#1e1e1e}.components-form-token-field__token.is-disabled .components-form-token-field__remove-token{cursor:default}.components-form-token-field__remove-token.components-button,.components-form-token-field__token-text{background:#ddd;display:inline-block;height:auto;line-height:24px;min-width:unset;transition:all .2s cubic-bezier(.4,1,.4,1)}@media (prefers-reduced-motion:reduce){.components-form-token-field__remove-token.components-button,.components-form-token-field__token-text{animation-delay:0s;animation-duration:1ms;transition-delay:0s;transition-duration:0s}}.components-form-token-field__token-text{border-radius:2px 0 0 2px;overflow:hidden;padding:0 0 0 8px;text-overflow:ellipsis;white-space:nowrap}.components-form-token-field__remove-token.components-button{border-radius:0 2px 2px 0;color:#1e1e1e;cursor:pointer;line-height:10px;overflow:initial;padding:0 2px}.components-form-token-field__remove-token.components-button:hover{color:#1e1e1e}.components-form-token-field__suggestions-list{box-shadow:inset 0 1px 0 0 #949494;flex:1 0 100%;list-style:none;margin:0;max-height:128px;min-width:100%;overflow-y:auto;transition:all .15s ease-in-out}@media (prefers-reduced-motion:reduce){.components-form-token-field__suggestions-list{transition-delay:0s;transition-duration:0s}}.components-form-token-field__suggestion{color:#1e1e1e;cursor:pointer;display:block;font-size:13px;margin:0;min-height:32px;padding:8px 12px}.components-form-token-field__suggestion.is-selected{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:#fff}@media (min-width:600px){.components-guide{width:600px}}.components-guide .components-modal__content{border-radius:2px;margin-top:0;padding:0}.components-guide .components-modal__content:before{content:none}.components-guide .components-modal__header{border-bottom:none;height:60px;padding:0;position:sticky}.components-guide .components-modal__header .components-button{align-self:flex-start;margin:8px 8px 0 0;position:static}.components-guide .components-modal__header .components-button:hover svg{fill:#fff}.components-guide__container{display:flex;flex-direction:column;justify-content:space-between;margin-top:-60px;min-height:100%}.components-guide__page{display:flex;flex-direction:column;justify-content:center;position:relative}@media (min-width:600px){.components-guide__page{min-height:300px}}.components-guide__footer{align-content:center;display:flex;height:36px;justify-content:center;margin:0 0 24px;padding:0 32px;position:relative;width:100%}.components-guide__page-control{margin:0;text-align:center}.components-guide__page-control li{display:inline-block;margin:0}.components-guide__page-control .components-button{color:#e0e0e0;height:30px;margin:-6px 0;min-width:20px}.components-guide__page-control li[aria-current=step] .components-button{color:var(--wp-components-color-accent,var(--wp-admin-theme-color))}.components-modal__frame.components-guide{border:none;max-height:575px;min-width:312px}@media (max-width:600px){.components-modal__frame.components-guide{margin:auto;max-width:calc(100vw - 32px)}}.components-button.components-guide__back-button,.components-button.components-guide__finish-button,.components-button.components-guide__forward-button{position:absolute}.components-button.components-guide__back-button{left:32px}.components-button.components-guide__finish-button,.components-button.components-guide__forward-button{right:32px}[role=region]{position:relative}.is-focusing-regions [role=region]:focus:after{bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1000000}.is-focusing-regions .editor-post-publish-panel,.is-focusing-regions .interface-interface-skeleton__actions .edit-post-layout__toggle-entities-saved-states-panel,.is-focusing-regions .interface-interface-skeleton__actions .edit-post-layout__toggle-publish-panel,.is-focusing-regions .interface-interface-skeleton__sidebar .edit-post-layout__toggle-sidebar-panel,.is-focusing-regions [role=region]:focus:after,.is-focusing-regions.is-distraction-free .interface-interface-skeleton__header .edit-post-header{outline:4px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-offset:-4px}.components-menu-group+.components-menu-group{border-top:1px solid #1e1e1e;margin-top:8px;padding-top:8px}.components-menu-group+.components-menu-group.has-hidden-separator{border-top:none;margin-top:0;padding-top:0}.components-menu-group__label{color:#757575;font-size:11px;font-weight:500;margin-bottom:12px;margin-top:4px;padding:0 8px;text-transform:uppercase;white-space:nowrap}.components-menu-item__button,.components-menu-item__button.components-button{width:100%}.components-menu-item__button.components-button[role=menuitemcheckbox] .components-menu-item__item:only-child,.components-menu-item__button.components-button[role=menuitemradio] .components-menu-item__item:only-child,.components-menu-item__button[role=menuitemcheckbox] .components-menu-item__item:only-child,.components-menu-item__button[role=menuitemradio] .components-menu-item__item:only-child{box-sizing:initial;padding-right:48px}.components-menu-item__button .components-menu-items__item-icon,.components-menu-item__button.components-button .components-menu-items__item-icon{display:inline-block;flex:0 0 auto}.components-menu-item__button .components-menu-items__item-icon.has-icon-right,.components-menu-item__button.components-button .components-menu-items__item-icon.has-icon-right{margin-left:24px;margin-right:-2px}.components-menu-item__button .components-menu-item__shortcut+.components-menu-items__item-icon.has-icon-right,.components-menu-item__button.components-button .components-menu-item__shortcut+.components-menu-items__item-icon.has-icon-right{margin-left:8px}.components-menu-item__button .block-editor-block-icon,.components-menu-item__button.components-button .block-editor-block-icon{margin-left:-2px;margin-right:8px}.components-menu-item__button.components-button.is-primary,.components-menu-item__button.is-primary{justify-content:center}.components-menu-item__button.components-button.is-primary .components-menu-item__item,.components-menu-item__button.is-primary .components-menu-item__item{margin-right:0}.components-menu-item__button.components-button:disabled.is-tertiary,.components-menu-item__button.components-button[aria-disabled=true].is-tertiary,.components-menu-item__button:disabled.is-tertiary,.components-menu-item__button[aria-disabled=true].is-tertiary{background:none;color:var(--wp-components-color-accent-darker-10,var(--wp-admin-theme-color-darker-10,#2145e6));opacity:.3}.components-menu-item__info-wrapper{display:flex;flex-direction:column;margin-right:auto}.components-menu-item__info{color:#757575;font-size:12px;margin-top:4px;white-space:normal}.components-menu-item__item{align-items:center;display:inline-flex;margin-right:auto;min-width:160px;white-space:nowrap}.components-menu-item__shortcut{align-self:center;color:currentColor;display:none;margin-left:auto;margin-right:0;padding-left:24px}@media (min-width:480px){.components-menu-item__shortcut{display:inline}}.components-menu-items-choice svg,.components-menu-items-choice.components-button svg{margin-right:12px}.components-menu-items-choice.components-button.has-icon,.components-menu-items-choice.has-icon{padding-left:12px}.components-modal__screen-overlay{animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards;background-color:rgba(0,0,0,.35);bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:100000}@media (prefers-reduced-motion:reduce){.components-modal__screen-overlay{animation-delay:0s;animation-duration:1ms}}.components-modal__frame{animation:components-modal__appear-animation .1s ease-out;animation-fill-mode:forwards;background:#fff;border-radius:4px 4px 0 0;box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),.1px 11.5px 16.4px -.5px rgba(0,0,0,.15);display:flex;margin:40px 0 0;overflow:hidden;width:100%}@media (prefers-reduced-motion:reduce){.components-modal__frame{animation-delay:0s;animation-duration:1ms}}@media (min-width:600px){.components-modal__frame{border-radius:4px;margin:auto;max-height:calc(100% - 120px);max-width:calc(100% - 32px);min-width:350px;width:auto}}@media (min-width:600px) and (min-width:600px){.components-modal__frame.is-full-screen{height:calc(100% - 32px);max-height:none;width:calc(100% - 32px)}}@media (min-width:600px) and (min-width:782px){.components-modal__frame.is-full-screen{height:calc(100% - 80px);max-width:none;width:calc(100% - 80px)}}@media (min-width:960px){.components-modal__frame{max-height:70%}}@keyframes components-modal__appear-animation{0%{transform:translateY(32px)}to{transform:translateY(0)}}.components-modal__header{align-items:center;border-bottom:1px solid transparent;box-sizing:border-box;display:flex;flex-direction:row;height:72px;justify-content:space-between;left:0;padding:24px 32px 8px;position:absolute;top:0;width:100%;z-index:10}.components-modal__header .components-modal__header-heading{font-size:1.2rem;font-weight:600}.components-modal__header h1{line-height:1;margin:0}.components-modal__header .components-button{left:8px;position:relative}.components-modal__content.has-scrolled-content:not(.hide-header) .components-modal__header{border-bottom-color:#ddd}.components-modal__header+p{margin-top:0}.components-modal__header-heading-container{align-items:center;display:flex;flex-direction:row;flex-grow:1;justify-content:left}.components-modal__header-icon-container{display:inline-block}.components-modal__header-icon-container svg{max-height:36px;max-width:36px;padding:8px}.components-modal__content{flex:1;margin-top:72px;overflow:auto;padding:4px 32px 32px}.components-modal__content.hide-header{margin-top:0;padding-top:32px}.components-modal__content.is-scrollable:focus-visible{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.components-notice{align-items:center;background-color:#fff;border-left:4px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;margin:5px 15px 2px;padding:8px 12px}.components-notice.is-dismissible{position:relative}.components-notice.is-success{background-color:#eff9f1;border-left-color:#4ab866}.components-notice.is-warning{background-color:#fef8ee;border-left-color:#f0b849}.components-notice.is-error{background-color:#f4a2a2;border-left-color:#cc1818}.components-notice__content{flex-grow:1;margin:4px 25px 4px 0}.components-notice__actions{display:flex;flex-wrap:wrap}.components-notice__action.components-button{margin-right:8px}.components-notice__action.components-button,.components-notice__action.components-button.is-link{margin-left:12px}.components-notice__action.components-button.is-secondary{vertical-align:initial}.components-notice__dismiss{align-self:flex-start;color:#757575;flex-shrink:0}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):focus,.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):active,.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{background-color:transparent;color:#1e1e1e}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{box-shadow:none}.components-notice-list{box-sizing:border-box;max-width:100vw}.components-notice-list .components-notice__content{line-height:2;margin-bottom:12px;margin-top:12px}.components-notice-list .components-notice__action.components-button{display:block;margin-left:0;margin-top:8px}.components-panel{background:#fff;border:1px solid #e0e0e0}.components-panel>.components-panel__body:first-child,.components-panel>.components-panel__header:first-child{margin-top:-1px}.components-panel>.components-panel__body:last-child,.components-panel>.components-panel__header:last-child{border-bottom-width:0}.components-panel+.components-panel{margin-top:-1px}.components-panel__body{border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0}.components-panel__body h3{margin:0 0 .5em}.components-panel__body.is-opened{padding:16px}.components-panel__header{align-items:center;border-bottom:1px solid #ddd;box-sizing:content-box;display:flex;height:47px;justify-content:space-between;padding:0 16px}.components-panel__header h2{color:inherit;font-size:inherit;margin:0}.components-panel__body+.components-panel__body,.components-panel__body+.components-panel__header,.components-panel__header+.components-panel__body,.components-panel__header+.components-panel__header{margin-top:-1px}.components-panel__body>.components-panel__body-title{display:block;font-size:inherit;margin-bottom:0;margin-top:0;padding:0;transition:background .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body>.components-panel__body-title{transition-delay:0s;transition-duration:0s}}.components-panel__body.is-opened>.components-panel__body-title{margin:-16px -16px 5px}.components-panel__body>.components-panel__body-title:hover{background:#f0f0f0;border:none}.components-panel__body-toggle.components-button{border:none;box-shadow:none;color:#1e1e1e;font-weight:500;height:auto;outline:none;padding:16px 48px 16px 16px;position:relative;text-align:left;transition:background .1s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button{transition-delay:0s;transition-duration:0s}}.components-panel__body-toggle.components-button:focus{border-radius:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-panel__body-toggle.components-button .components-panel__arrow{fill:currentColor;color:#1e1e1e;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:color .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button .components-panel__arrow{transition-delay:0s;transition-duration:0s}}body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right{-ms-filter:fliph;filter:FlipH;margin-top:-10px;transform:scaleX(-1)}.components-panel__icon{color:#757575;margin:-2px 0 -2px 6px}.components-panel__body-toggle-icon{margin-right:-5px}.components-panel__color-title{float:left;height:19px}.components-panel__row{align-items:center;display:flex;justify-content:space-between;margin-top:8px;min-height:36px}.components-panel__row select{min-width:0}.components-panel__row label{flex-shrink:0;margin-right:12px;max-width:75%}.components-panel__row:empty,.components-panel__row:first-of-type{margin-top:0}.components-panel .circle-picker{padding-bottom:20px}.components-placeholder.components-placeholder{-moz-font-smoothing:subpixel-antialiased;-webkit-font-smoothing:subpixel-antialiased;background-color:#fff;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;box-sizing:border-box;color:#1e1e1e;margin:0;outline:1px solid transparent;padding:1em;position:relative;text-align:left;width:100%}@supports (position:sticky){.components-placeholder.components-placeholder{align-items:flex-start;display:flex;flex-direction:column;justify-content:top}}.components-placeholder__error,.components-placeholder__fieldset,.components-placeholder__instructions,.components-placeholder__label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-placeholder__label{align-items:center;display:flex;font-weight:600;margin-bottom:16px}.components-placeholder__label .block-editor-block-icon,.components-placeholder__label .dashicon,.components-placeholder__label>svg{fill:currentColor;margin-right:12px}@media (forced-colors:active){.components-placeholder__label .block-editor-block-icon,.components-placeholder__label .dashicon,.components-placeholder__label>svg{fill:CanvasText}}.components-placeholder__label:empty{display:none}.components-placeholder__fieldset,.components-placeholder__fieldset form{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.components-placeholder__fieldset form p,.components-placeholder__fieldset p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-placeholder__fieldset.is-column-layout,.components-placeholder__fieldset.is-column-layout form{flex-direction:column}.components-placeholder__input[type=url]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;flex:1 1 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;margin:0 8px 0 0;padding:6px 8px;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.components-placeholder__input[type=url]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-placeholder__input[type=url]{font-size:13px;line-height:normal}}.components-placeholder__input[type=url]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-placeholder__input[type=url]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-placeholder__input[type=url]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-placeholder__input[type=url]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-placeholder__instructions{margin-bottom:1em}.components-placeholder__error{margin-top:1em;width:100%}.components-placeholder__fieldset .components-button{margin-bottom:12px;margin-right:12px}.components-placeholder__fieldset .components-button:last-child{margin-bottom:0;margin-right:0}.components-placeholder__fieldset .components-button:not(.is-link)~.components-button.is-link{margin-left:10px;margin-right:10px}.components-placeholder__fieldset .components-button:not(.is-link)~.components-button.is-link:last-child{margin-right:0}.components-placeholder.is-large .components-placeholder__label{font-size:18pt;font-weight:400}.components-placeholder.is-medium .components-placeholder__instructions,.components-placeholder.is-small .components-placeholder__instructions{display:none}.components-placeholder.is-medium .components-placeholder__fieldset,.components-placeholder.is-medium .components-placeholder__fieldset form,.components-placeholder.is-small .components-placeholder__fieldset,.components-placeholder.is-small .components-placeholder__fieldset form{flex-direction:column}.components-placeholder.is-medium .components-placeholder__fieldset .components-button,.components-placeholder.is-small .components-placeholder__fieldset .components-button{margin-right:auto}.components-placeholder.is-small .components-button{padding:0 8px 2px}.components-placeholder .components-placeholder__learn-more .components-external-link{color:var(--wp-admin-theme-color)}.components-placeholder.has-illustration{-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);backface-visibility:hidden;background-color:transparent;border-radius:2px;box-shadow:none;color:inherit;display:flex;overflow:auto}.is-dark-theme .components-placeholder.has-illustration{background-color:rgba(0,0,0,.1)}.components-placeholder.has-illustration .components-placeholder__fieldset{margin-left:0;margin-right:0;width:auto}.components-placeholder.has-illustration .components-button,.components-placeholder.has-illustration .components-placeholder__instructions,.components-placeholder.has-illustration .components-placeholder__label{opacity:0;pointer-events:none;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.components-placeholder.has-illustration .components-button,.components-placeholder.has-illustration .components-placeholder__instructions,.components-placeholder.has-illustration .components-placeholder__label{transition-delay:0s;transition-duration:0s}}.is-selected>.components-placeholder.has-illustration .components-button,.is-selected>.components-placeholder.has-illustration .components-placeholder__instructions,.is-selected>.components-placeholder.has-illustration .components-placeholder__label{opacity:1;pointer-events:auto}.components-placeholder.has-illustration:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.components-placeholder__preview{display:flex;justify-content:center}.components-placeholder__illustration{stroke:currentColor;box-sizing:content-box;height:100%;left:50%;opacity:.25;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.components-popover{will-change:transform;z-index:1000000}.components-popover.is-expanded{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000000!important}.components-popover__content{background:#fff;border-radius:2px;box-shadow:0 0 0 1px #ccc,0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);box-sizing:border-box;width:min-content}.is-alternate .components-popover__content{box-shadow:0 0 0 1px #1e1e1e}.is-unstyled .components-popover__content{background:none;border-radius:0;box-shadow:none}.components-popover.is-expanded .components-popover__content{box-shadow:0 -1px 0 0 #ccc;height:calc(100% - 48px);overflow-y:visible;position:static;width:auto}.components-popover.is-expanded.is-alternate .components-popover__content{box-shadow:0 -1px 0 #1e1e1e}.components-popover__header{align-items:center;background:#fff;display:flex;height:48px;justify-content:space-between;padding:0 8px 0 16px}.components-popover__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.components-popover__close.components-button{z-index:5}.components-popover__arrow{display:flex;height:14px;pointer-events:none;position:absolute;width:14px}.components-popover__arrow:before{background-color:#fff;content:"";height:2px;left:1px;position:absolute;right:1px;top:-1px}.components-popover__arrow.is-top{bottom:-14px!important;transform:rotate(0)}.components-popover__arrow.is-right{left:-14px!important;transform:rotate(90deg)}.components-popover__arrow.is-bottom{top:-14px!important;transform:rotate(180deg)}.components-popover__arrow.is-left{right:-14px!important;transform:rotate(-90deg)}.components-popover__triangle{display:block;flex:1}.components-popover__triangle-bg{fill:#fff}.components-popover__triangle-border{fill:transparent;stroke-width:1px;stroke:#ccc}.is-alternate .components-popover__triangle-border{stroke:#1e1e1e}.components-radio-control__input[type=radio]{border:1px solid #1e1e1e;border-radius:2px;border-radius:50%;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:24px;line-height:normal;margin-right:6px;margin-top:0;padding:6px 8px;transition:box-shadow .1s linear;transition:none;width:24px}@media (prefers-reduced-motion:reduce){.components-radio-control__input[type=radio]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-radio-control__input[type=radio]{font-size:13px;line-height:normal}}.components-radio-control__input[type=radio]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color)}.components-radio-control__input[type=radio]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-radio-control__input[type=radio]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-radio-control__input[type=radio]:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.components-radio-control__input[type=radio]{height:20px;width:20px}}.components-radio-control__input[type=radio]:checked:before{background-color:#fff;border:4px solid #fff;box-sizing:inherit;height:8px;margin:0;transform:translate(7px,7px);width:8px}@media (min-width:600px){.components-radio-control__input[type=radio]:checked:before{transform:translate(5px,5px)}}.components-radio-control__input[type=radio]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.components-radio-control__input[type=radio]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.components-resizable-box__handle{display:none;height:23px;width:23px;z-index:2}.components-resizable-box__container.has-show-handle .components-resizable-box__handle{display:block}.components-resizable-box__container>img{width:inherit}.components-resizable-box__handle:after{background:#fff;border-radius:50%;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));content:"";cursor:inherit;display:block;height:15px;outline:2px solid transparent;position:absolute;right:calc(50% - 8px);top:calc(50% - 8px);width:15px}.components-resizable-box__side-handle:before{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-radius:2px;content:"";cursor:inherit;display:block;height:3px;opacity:0;position:absolute;right:calc(50% - 1px);top:calc(50% - 1px);transition:transform .1s ease-in;width:3px;will-change:transform}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle:before{transition-delay:0s;transition-duration:0s}}.components-resizable-box__corner-handle,.components-resizable-box__side-handle{z-index:2}.components-resizable-box__side-handle.components-resizable-box__handle-bottom,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:before,.components-resizable-box__side-handle.components-resizable-box__handle-top,.components-resizable-box__side-handle.components-resizable-box__handle-top:before{border-left:0;border-right:0;left:0;width:100%}.components-resizable-box__side-handle.components-resizable-box__handle-left,.components-resizable-box__side-handle.components-resizable-box__handle-left:before,.components-resizable-box__side-handle.components-resizable-box__handle-right,.components-resizable-box__side-handle.components-resizable-box__handle-right:before{border-bottom:0;border-top:0;height:100%;top:0}.components-resizable-box__side-handle.components-resizable-box__handle-bottom:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:hover:before{animation:components-resizable-box__top-bottom-animation .1s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle.components-resizable-box__handle-bottom:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:hover:before{animation-delay:0s;animation-duration:1ms}}.components-resizable-box__side-handle.components-resizable-box__handle-left:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:hover:before{animation:components-resizable-box__left-right-animation .1s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle.components-resizable-box__handle-left:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:hover:before{animation-delay:0s;animation-duration:1ms}}@media not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none){.components-resizable-box__side-handle.components-resizable-box__handle-bottom:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:hover:before{animation:none}}}@keyframes components-resizable-box__top-bottom-animation{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes components-resizable-box__left-right-animation{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}} +@charset "UTF-8";:root{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-animate__appear{animation:components-animate__appear-animation .1s cubic-bezier(0,0,.2,1) 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-animate__appear{animation-delay:0s;animation-duration:1ms}}.components-animate__appear.is-from-top,.components-animate__appear.is-from-top.is-from-left{transform-origin:top left}.components-animate__appear.is-from-top.is-from-right{transform-origin:top right}.components-animate__appear.is-from-bottom,.components-animate__appear.is-from-bottom.is-from-left{transform-origin:bottom left}.components-animate__appear.is-from-bottom.is-from-right{transform-origin:bottom right}@keyframes components-animate__appear-animation{0%{transform:translateY(-2em) scaleY(0) scaleX(0)}to{transform:translateY(0) scaleY(1) scaleX(1)}}.components-animate__slide-in{animation:components-animate__slide-in-animation .1s cubic-bezier(0,0,.2,1);animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-animate__slide-in{animation-delay:0s;animation-duration:1ms}}.components-animate__slide-in.is-from-left{transform:translateX(100%)}.components-animate__slide-in.is-from-right{transform:translateX(-100%)}@keyframes components-animate__slide-in-animation{to{transform:translateX(0)}}.components-animate__loading{animation:components-animate__loading 1.6s ease-in-out infinite}@keyframes components-animate__loading{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.components-autocomplete__popover .components-popover__content{min-width:220px;padding:16px}.components-autocomplete__result.components-button{display:flex;height:auto;min-height:36px;text-align:left;width:100%}.components-autocomplete__result.components-button.is-selected{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button-group{display:inline-block}.components-button-group .components-button{border-radius:0;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;display:inline-flex}.components-button-group .components-button+.components-button{margin-left:-1px}.components-button-group .components-button:first-child{border-radius:2px 0 0 2px}.components-button-group .components-button:last-child{border-radius:0 2px 2px 0}.components-button-group .components-button.is-primary,.components-button-group .components-button:focus{position:relative;z-index:1}.components-button-group .components-button.is-primary{box-shadow:inset 0 0 0 1px #1e1e1e}.components-button{align-items:center;-webkit-appearance:none;background:none;border:0;border-radius:2px;box-sizing:border-box;color:var(--wp-components-color-foreground,#1e1e1e);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:400;height:36px;margin:0;padding:6px 12px;text-decoration:none;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.components-button{transition-delay:0s;transition-duration:0s}}.components-button.is-next-40px-default-size{height:40px}.components-button:hover,.components-button[aria-expanded=true]{color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button:disabled:hover,.components-button[aria-disabled=true]:hover{color:initial}.components-button:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:3px solid transparent}.components-button.is-primary{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent-inverted,#fff);outline:1px solid transparent;text-decoration:none;text-shadow:none;white-space:nowrap}.components-button.is-primary:hover:not(:disabled){background:var(--wp-components-color-accent-darker-10,var(--wp-admin-theme-color-darker-10,#2145e6));color:var(--wp-components-color-accent-inverted,#fff)}.components-button.is-primary:active:not(:disabled){background:var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6));border-color:var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6));color:var(--wp-components-color-accent-inverted,#fff)}.components-button.is-primary:focus:not(:disabled){box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button.is-primary:disabled,.components-button.is-primary:disabled:active:enabled,.components-button.is-primary[aria-disabled=true],.components-button.is-primary[aria-disabled=true]:active:enabled,.components-button.is-primary[aria-disabled=true]:enabled{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:hsla(0,0%,100%,.4);opacity:1;outline:none}.components-button.is-primary:disabled:active:enabled:focus:enabled,.components-button.is-primary:disabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:active:enabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:enabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:focus:enabled{box-shadow:0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 3px var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-button.is-primary.is-busy,.components-button.is-primary.is-busy:disabled,.components-button.is-primary.is-busy[aria-disabled=true]{background-image:linear-gradient(-45deg,var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9)) 33%,var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6)) 33%,var(--wp-components-color-accent-darker-20,var(--wp-admin-theme-color-darker-20,#183ad6)) 70%,var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9)) 70%);background-size:100px 100%;border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent-inverted,#fff)}.components-button.is-secondary,.components-button.is-tertiary{outline:1px solid transparent}.components-button.is-secondary:active:not(:disabled),.components-button.is-tertiary:active:not(:disabled){box-shadow:none}.components-button.is-secondary:disabled,.components-button.is-secondary[aria-disabled=true],.components-button.is-secondary[aria-disabled=true]:hover,.components-button.is-tertiary:disabled,.components-button.is-tertiary[aria-disabled=true],.components-button.is-tertiary[aria-disabled=true]:hover{background:transparent;color:#949494;opacity:1;transform:none}.components-button.is-secondary:disabled:not(:focus),.components-button.is-secondary[aria-disabled=true]:hover:not(:focus),.components-button.is-secondary[aria-disabled=true]:not(:focus),.components-button.is-tertiary:disabled:not(:focus),.components-button.is-tertiary[aria-disabled=true]:hover:not(:focus),.components-button.is-tertiary[aria-disabled=true]:not(:focus){box-shadow:none;outline:none}.components-button.is-secondary{background:transparent;box-shadow:inset 0 0 0 1px var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:1px solid transparent;white-space:nowrap}.components-button.is-secondary:hover:not(:disabled,[aria-disabled=true]){box-shadow:inset 0 0 0 1px var(--wp-components-color-accent-darker-10,var(--wp-admin-theme-color-darker-10,#2145e6))}.components-button.is-tertiary{background:transparent;color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));white-space:nowrap}.components-button.is-tertiary:hover:not(:disabled,[aria-disabled=true]){background:rgba(var(--wp-admin-theme-color--rgb),.04)}.components-button.is-tertiary:active:not(:disabled,[aria-disabled=true]){background:rgba(var(--wp-admin-theme-color--rgb),.08)}p+.components-button.is-tertiary{margin-left:-6px}.components-button.is-destructive{--wp-components-color-accent:#cc1818;--wp-components-color-accent-darker-10:#9e1313;--wp-components-color-accent-darker-20:#710d0d}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link){color:#cc1818}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link):hover:not(:disabled){color:#710d0d}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link):focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) #cc1818}.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link):active:not(:disabled){background:#ccc}.components-button.is-link{background:none;border:0;border-radius:0;box-shadow:none;color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));height:auto;margin:0;outline:none;padding:0;text-align:left;text-decoration:underline;transition-duration:.05s;transition-property:border,background,color;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.components-button.is-link{transition-delay:0s;transition-duration:0s}}.components-button.is-link:focus{border-radius:2px}.components-button:not(:disabled,[aria-disabled=true]):active{color:var(--wp-components-color-foreground,#1e1e1e)}.components-button:disabled,.components-button[aria-disabled=true]{cursor:default;opacity:.3}.components-button.is-busy,.components-button.is-secondary.is-busy,.components-button.is-secondary.is-busy:disabled,.components-button.is-secondary.is-busy[aria-disabled=true]{animation:components-button__busy-animation 2.5s linear infinite;background-image:linear-gradient(-45deg,#fafafa 33%,#e0e0e0 0,#e0e0e0 70%,#fafafa 0);background-size:100px 100%;opacity:1}@media (prefers-reduced-motion:reduce){.components-button.is-busy,.components-button.is-secondary.is-busy,.components-button.is-secondary.is-busy:disabled,.components-button.is-secondary.is-busy[aria-disabled=true]{animation-duration:0s}}.components-button.is-compact{height:32px}.components-button.is-compact.has-icon:not(.has-text){min-width:32px;padding:0;width:32px}.components-button.is-small{font-size:11px;height:24px;line-height:22px;padding:0 8px}.components-button.is-small.has-icon:not(.has-text){min-width:24px;padding:0;width:24px}.components-button.has-icon{justify-content:center;min-width:36px;padding:6px}.components-button.has-icon.is-next-40px-default-size{min-width:40px}.components-button.has-icon .dashicon{align-items:center;box-sizing:content-box;display:inline-flex;justify-content:center;padding:2px}.components-button.has-icon.has-text{gap:4px;justify-content:start;padding-left:8px;padding-right:12px}.components-button.is-pressed{background:var(--wp-components-color-foreground,#1e1e1e);color:var(--wp-components-color-foreground-inverted,#fff)}.components-button.is-pressed:focus:not(:disabled){box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.components-button.is-pressed:hover:not(:disabled){background:var(--wp-components-color-foreground,#1e1e1e);color:var(--wp-components-color-foreground-inverted,#fff)}.components-button svg{fill:currentColor;outline:none}@media (forced-colors:active){.components-button svg{fill:CanvasText}}.components-button .components-visually-hidden{height:auto}@keyframes components-button__busy-animation{0%{background-position:200px 0}}.components-checkbox-control__input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #1e1e1e;border-radius:2px;box-shadow:0 0 0 transparent;clear:none;color:#1e1e1e;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:24px;line-height:normal;line-height:0;margin:0 4px 0 0;outline:0;padding:6px 8px;padding:0!important;text-align:center;transition:box-shadow .1s linear;transition:none;transition:border-color .1s ease-in-out;vertical-align:top;width:24px}@media (min-width:600px){.components-checkbox-control__input[type=checkbox]{font-size:13px;line-height:normal}}.components-checkbox-control__input[type=checkbox]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-checkbox-control__input[type=checkbox]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox]:checked::-ms-check{opacity:0}.components-checkbox-control__input[type=checkbox]:checked:before,.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{color:#fff;margin:-3px -5px}@media (min-width:782px){.components-checkbox-control__input[type=checkbox]:checked:before,.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{margin:-4px 0 0 -5px}}.components-checkbox-control__input[type=checkbox][aria-checked=mixed]{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";display:inline-block;float:left;font:normal 30px/1 dashicons;vertical-align:middle;width:16px}@media (min-width:782px){.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{float:none;font-size:21px}}@media (min-width:600px){.components-checkbox-control__input[type=checkbox]{height:20px;width:20px}}@media (prefers-reduced-motion:reduce){.components-checkbox-control__input[type=checkbox]{transition-delay:0s;transition-duration:0s}}.components-checkbox-control__input[type=checkbox]:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:2px}.components-checkbox-control__input[type=checkbox]:checked,.components-checkbox-control__input[type=checkbox]:indeterminate{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-checkbox-control__input[type=checkbox]:checked::-ms-check,.components-checkbox-control__input[type=checkbox]:indeterminate::-ms-check{opacity:0}.components-checkbox-control__input[type=checkbox]:checked:before{content:none}.components-checkbox-control__input-container{display:inline-block;height:24px;margin-right:12px;position:relative;vertical-align:middle;width:24px}@media (min-width:600px){.components-checkbox-control__input-container{height:20px;width:20px}}svg.components-checkbox-control__checked,svg.components-checkbox-control__indeterminate{fill:#fff;cursor:pointer;height:24px;left:0;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:24px}@media (min-width:600px){svg.components-checkbox-control__checked,svg.components-checkbox-control__indeterminate{left:-2px;top:-2px}}.components-circular-option-picker{display:inline-block;min-width:188px;width:100%}.components-circular-option-picker .components-circular-option-picker__custom-clear-wrapper{display:flex;justify-content:flex-end;margin-top:12px}.components-circular-option-picker .components-circular-option-picker__swatches{display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:1}.components-circular-option-picker>:not(.components-circular-option-picker__swatches){position:relative;z-index:0}.components-circular-option-picker__option-wrapper{display:inline-block;height:28px;transform:scale(1);transition:transform .1s ease;vertical-align:top;width:28px;will-change:transform}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option-wrapper{transition-delay:0s;transition-duration:0s}}.components-circular-option-picker__option-wrapper:hover{transform:scale(1.2)}.components-circular-option-picker__option-wrapper>div{height:100%;width:100%}.components-circular-option-picker__option-wrapper:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none'%3E%3Cpath fill='%23555D65' d='M6 8V6H4v2h2zm2 0V6h2v2H8zm2 8H8v-2h2v2zm2 0v-2h2v2h-2zm0 2v-2h-2v2H8v2h2v-2h2zm2 0v2h-2v-2h2zm2 0h-2v-2h2v2z'/%3E%3Cpath fill='%23555D65' fill-rule='evenodd' d='M18 18h2v-2h-2v-2h2v-2h-2v-2h2V8h-2v2h-2V8h-2v2h2v2h-2v2h2v2h2v2zm-2-4v-2h2v2h-2z' clip-rule='evenodd'/%3E%3Cpath fill='%23555D65' d='M18 18v2h-2v-2h2z'/%3E%3Cpath fill='%23555D65' fill-rule='evenodd' d='M8 10V8H6v2H4v2h2v2H4v2h2v2H4v2h2v2H4v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2v2h-2V4h-2v2h-2V4h-2v2h-2V4h-2v2h2v2h-2v2H8zm0 2v-2H6v2h2zm2 0v-2h2v2h-2zm0 2v-2H8v2H6v2h2v2H6v2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h-2v2h-2V6h-2v2h-2v2h2v2h-2v2h-2z' clip-rule='evenodd'/%3E%3Cpath fill='%23555D65' fill-rule='evenodd' d='M4 0H2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2V2h2V0h-2v2h-2V0h-2v2h-2V0h-2v2h-2V0h-2v2h-2V0h-2v2H8V0H6v2H4V0zm0 4V2H2v2h2zm2 0V2h2v2H6zm0 2V4H4v2H2v2h2v2H2v2h2v2H2v2h2v2H2v2h2v2H2v2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2V2h-2v2h-2V2h-2v2h-2V2h-2v2h-2V2h-2v2H8v2H6z' clip-rule='evenodd'/%3E%3C/svg%3E");border-radius:50%;bottom:1px;content:"";left:1px;position:absolute;right:1px;top:1px;z-index:-1}.components-circular-option-picker__option{background:transparent;border:none;border-radius:50%;box-shadow:inset 0 0 0 14px;cursor:pointer;display:inline-block;height:100%;transition:box-shadow .1s ease;vertical-align:top;width:100%}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option{transition-delay:0s;transition-duration:0s}}.components-circular-option-picker__option:hover{box-shadow:inset 0 0 0 14px!important}.components-circular-option-picker__option[aria-pressed=true],.components-circular-option-picker__option[aria-selected=true]{box-shadow:inset 0 0 0 4px;overflow:visible;position:relative;z-index:1}.components-circular-option-picker__option[aria-pressed=true]+svg,.components-circular-option-picker__option[aria-selected=true]+svg{border-radius:50%;left:2px;pointer-events:none;position:absolute;top:2px;z-index:2}.components-circular-option-picker__option:after{border:1px solid transparent;border-radius:50%;bottom:-1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);box-sizing:inherit;content:"";left:-1px;position:absolute;right:-1px;top:-1px}.components-circular-option-picker__option:focus:after{border:2px solid #757575;border-radius:50%;box-shadow:inset 0 0 0 2px #fff;content:"";height:calc(100% + 4px);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% + 4px)}.components-circular-option-picker__option.components-button:focus{background-color:transparent;box-shadow:inset 0 0 0 14px;outline:none}.components-circular-option-picker__button-action .components-circular-option-picker__option{background:#fff;color:#fff}.components-circular-option-picker__dropdown-link-action{margin-right:16px}.components-circular-option-picker__dropdown-link-action .components-button{line-height:22px}.components-palette-edit__popover-gradient-picker{padding:8px;width:260px}.components-dropdown-menu__menu .components-palette-edit__menu-button{width:100%}.component-color-indicator{background:#fff linear-gradient(-45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0);border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);display:inline-block;height:20px;padding:0;width:20px}.components-combobox-control{width:100%}input.components-combobox-control__input[type=text]{border:none;box-shadow:none;font-family:inherit;font-size:16px;line-height:inherit;margin:0;min-height:auto;padding:2px;width:100%}@media (min-width:600px){input.components-combobox-control__input[type=text]{font-size:13px}}input.components-combobox-control__input[type=text]:focus{box-shadow:none;outline:none}.components-combobox-control__suggestions-container{align-items:flex-start;border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;display:flex;flex-wrap:wrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:0;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-combobox-control__suggestions-container{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-combobox-control__suggestions-container{font-size:13px;line-height:normal}}.components-combobox-control__suggestions-container:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-combobox-control__suggestions-container::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-combobox-control__suggestions-container::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-combobox-control__suggestions-container:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-combobox-control__suggestions-container:focus-within{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-combobox-control__reset.components-button{display:flex;height:16px;min-width:16px;padding:0}.components-color-palette__custom-color-wrapper{position:relative;z-index:0}.components-color-palette__custom-color-button{background:none;border:none;border-radius:2px 2px 0 0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);box-sizing:border-box;cursor:pointer;height:64px;outline:1px solid transparent;position:relative;width:100%}.components-color-palette__custom-color-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-width:2px}.components-color-palette__custom-color-button:after{background-image:repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0),repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0);background-position:0 0,24px 24px;background-size:48px 48px;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.components-color-palette__custom-color-text-wrapper{border-radius:0 0 2px 2px;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2),inset 1px 0 0 0 rgba(0,0,0,.2),inset -1px 0 0 0 rgba(0,0,0,.2);font-size:13px;padding:12px 16px;position:relative}.components-color-palette__custom-color-name{color:var(--wp-components-color-foreground,#1e1e1e);margin:0 1px}.components-color-palette__custom-color-value{color:#757575}.components-color-palette__custom-color-value--is-hex{text-transform:uppercase}.components-color-palette__custom-color-value:empty:after{content:"​";visibility:hidden}.components-custom-gradient-picker:not(.is-next-has-no-margin){margin-bottom:24px;margin-top:12px}.components-custom-gradient-picker__gradient-bar{border-radius:2px;height:48px;position:relative;width:100%;z-index:1}.components-custom-gradient-picker__gradient-bar.has-gradient{background-image:repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0),repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0);background-position:0 0,12px 12px;background-size:24px 24px}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__gradient-bar-background{inset:0;position:absolute}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__markers-container{margin-left:auto;margin-right:auto;position:relative;width:calc(100% - 48px)}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-dropdown{display:flex;height:16px;position:absolute;top:16px;width:16px}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point-dropdown{background:#fff;border-radius:50%;color:#1e1e1e;height:inherit;min-width:16px;padding:2px;position:relative;width:inherit}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point-dropdown svg{height:100%;width:100%}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button{border-radius:50%;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 2px 0 rgba(0,0,0,.25);height:inherit;outline:2px solid transparent;padding:0;width:inherit}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button.is-active,.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button:focus{box-shadow:inset 0 0 0 calc(var(--wp-admin-border-width-focus)*2) #fff,0 0 2px 0 rgba(0,0,0,.25);outline:1.5px solid transparent}.components-custom-gradient-picker__remove-control-point-wrapper{padding-bottom:8px}.components-custom-gradient-picker__inserter{direction:ltr}.components-custom-gradient-picker__liner-gradient-indicator{display:inline-block;flex:0 auto;height:20px;width:20px}.components-custom-gradient-picker .components-custom-gradient-picker__toolbar{border:none}.components-custom-gradient-picker .components-custom-gradient-picker__toolbar>div+div{margin-left:1px}.components-custom-gradient-picker .components-custom-gradient-picker__toolbar button.is-pressed>svg{background:#fff;border:1px solid #949494;border-radius:2px}.components-custom-gradient-picker__ui-line{position:relative;z-index:0}.components-custom-select-control{font-size:13px;position:relative}.components-custom-select-control__button{outline:0;position:relative;text-align:left}.components-custom-select-control__hint{color:#949494;margin-left:10px}.components-custom-select-control__menu{background-color:#fff;border:1px solid #1e1e1e;border-radius:2px;max-height:400px;min-width:100%;outline:none;overflow:auto;padding:0;position:absolute;transition:none;z-index:1000000}.components-custom-select-control__menu[aria-hidden=true]{display:none}.components-custom-select-control__item{align-items:center;cursor:default;display:grid;grid-template-columns:auto auto;line-height:28px;list-style-type:none;padding:8px 16px}.components-custom-select-control__item:not(.is-next-40px-default-size){padding:8px}.components-custom-select-control__item.has-hint{grid-template-columns:auto auto 30px}.components-custom-select-control__item.is-highlighted{background:#ddd}.components-custom-select-control__item .components-custom-select-control__item-hint{color:#949494;padding-right:4px;text-align:right}.components-custom-select-control__item .components-custom-select-control__item-icon{margin-left:auto}.components-custom-select-control__item:last-child{margin-bottom:0}.block-editor-dimension-control .components-base-control__field{align-items:center;display:flex}.block-editor-dimension-control .components-base-control__label{align-items:center;display:flex;margin-bottom:0;margin-right:1em}.block-editor-dimension-control .components-base-control__label .dashicon{margin-right:.5em}.block-editor-dimension-control.is-manual .components-base-control__label{width:10em}body.is-dragging-components-draggable{cursor:move;cursor:grabbing!important}.components-draggable__invisible-drag-image{height:50px;left:-1000px;position:fixed;width:50px}.components-draggable__clone{background:transparent;padding:0;pointer-events:none;position:fixed;z-index:1000000000}.components-drop-zone{border-radius:2px;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;visibility:hidden;z-index:40}.components-drop-zone.is-active{opacity:1;visibility:visible}.components-drop-zone__content{align-items:center;background-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));bottom:0;color:#fff;display:flex;height:100%;justify-content:center;left:0;position:absolute;right:0;text-align:center;top:0;width:100%;z-index:50}.components-drop-zone__content-icon,.components-drop-zone__content-text{display:block}.components-drop-zone__content-icon{fill:currentColor;line-height:0;margin:0 auto 8px;pointer-events:none}.components-drop-zone__content-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-dropdown{display:inline-block}.components-dropdown__content .components-popover__content{padding:8px}.components-dropdown__content [role=menuitem]{white-space:nowrap}.components-dropdown-menu__toggle{vertical-align:top}.components-dropdown-menu__menu{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.4;width:100%}.components-dropdown-menu__menu .components-dropdown-menu__menu-item,.components-dropdown-menu__menu .components-menu-item{cursor:pointer;outline:none;padding:6px;white-space:nowrap;width:100%}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator,.components-dropdown-menu__menu .components-menu-item.has-separator{margin-top:6px;overflow:visible;position:relative}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator:before,.components-dropdown-menu__menu .components-menu-item.has-separator:before{background-color:#ddd;box-sizing:content-box;content:"";display:block;height:1px;left:0;position:absolute;right:0;top:-3px}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-active .dashicon,.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-active svg,.components-dropdown-menu__menu .components-menu-item.is-active .dashicon,.components-dropdown-menu__menu .components-menu-item.is-active svg{background:#1e1e1e;border-radius:1px;box-shadow:0 0 0 1px #1e1e1e;color:#fff}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-icon-only,.components-dropdown-menu__menu .components-menu-item.is-icon-only{width:auto}.components-dropdown-menu__menu .components-menu-item__button,.components-dropdown-menu__menu .components-menu-item__button.components-button{height:auto;min-height:36px;padding-left:8px;padding-right:8px;text-align:left}.components-dropdown-menu__menu .components-menu-group{margin:0 -8px;padding:8px}.components-dropdown-menu__menu .components-menu-group:first-child{margin-top:-8px}.components-dropdown-menu__menu .components-menu-group:last-child{margin-bottom:-8px}.components-dropdown-menu__menu .components-menu-group+.components-menu-group{border-top:1px solid #ccc;margin-top:0;padding:8px}.is-alternate .components-dropdown-menu__menu .components-menu-group+.components-menu-group{border-color:#1e1e1e}.components-duotone-picker__color-indicator:before{background:transparent}.components-duotone-picker__color-indicator>.components-button,.components-duotone-picker__color-indicator>.components-button.is-pressed:hover:not(:disabled){background:linear-gradient(-45deg,transparent 48%,#ddd 0,#ddd 52%,transparent 0);color:transparent}.components-duotone-picker__color-indicator>.components-button:not([aria-disabled=true]):active{color:transparent}.components-color-list-picker,.components-color-list-picker__swatch-button{width:100%}.components-color-list-picker__color-picker{margin:8px 0}.components-color-list-picker__swatch-button{padding:6px}.components-color-list-picker__swatch-color{margin:2px}.components-form-toggle{display:inline-block;position:relative}.components-form-toggle .components-form-toggle__track{background-color:#fff;border:1px solid #1e1e1e;border-radius:9px;box-sizing:border-box;content:"";display:inline-block;height:18px;overflow:hidden;position:relative;transition:background-color .2s ease,border-color .2s ease;vertical-align:top;width:36px}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__track{transition-delay:0s;transition-duration:0s}}.components-form-toggle .components-form-toggle__track:after{border-top:18px solid transparent;box-sizing:border-box;content:"";inset:0;opacity:0;position:absolute;transition:opacity .2s ease}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__track:after{transition-delay:0s;transition-duration:0s}}.components-form-toggle .components-form-toggle__thumb{background-color:#1e1e1e;border:6px solid transparent;border-radius:50%;box-sizing:border-box;display:block;height:12px;left:3px;position:absolute;top:3px;transition:transform .2s ease,background-color .2s ease-out;width:12px}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__thumb{transition-delay:0s;transition-duration:0s}}.components-form-toggle.is-checked .components-form-toggle__track{background-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-form-toggle.is-checked .components-form-toggle__track:after{opacity:1}.components-form-toggle .components-form-toggle__input:focus+.components-form-toggle__track{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 0 calc(var(--wp-admin-border-width-focus)*2) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent;outline-offset:2px}.components-form-toggle.is-checked .components-form-toggle__thumb{background-color:#fff;border-width:0;transform:translateX(18px)}.components-disabled .components-form-toggle,.components-form-toggle.is-disabled{opacity:.3}.components-form-toggle input.components-form-toggle__input[type=checkbox]{border:none;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%;z-index:1}.components-form-toggle input.components-form-toggle__input[type=checkbox]:checked{background:none}.components-form-toggle input.components-form-toggle__input[type=checkbox]:before{content:""}.components-form-token-field__input-container{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;cursor:text;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:0;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-form-token-field__input-container{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-form-token-field__input-container{font-size:13px;line-height:normal}}.components-form-token-field__input-container:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-form-token-field__input-container::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-form-token-field__input-container::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-form-token-field__input-container:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-form-token-field__input-container.is-disabled{background:#ddd;border-color:#ddd}.components-form-token-field__input-container.is-active{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-form-token-field__input-container input[type=text].components-form-token-field__input{background:inherit;border:0;box-shadow:none;color:#1e1e1e;display:inline-block;flex:1;font-family:inherit;font-size:16px;margin-left:4px;max-width:100%;min-height:24px;min-width:50px;padding:0;width:100%}@media (min-width:600px){.components-form-token-field__input-container input[type=text].components-form-token-field__input{font-size:13px}}.components-form-token-field.is-active .components-form-token-field__input-container input[type=text].components-form-token-field__input,.components-form-token-field__input-container input[type=text].components-form-token-field__input:focus{box-shadow:none;outline:none}.components-form-token-field__input-container .components-form-token-field__token+input[type=text].components-form-token-field__input{width:auto}.components-form-token-field__token{color:#1e1e1e;display:flex;font-size:13px;max-width:100%}.components-form-token-field__token.is-success .components-form-token-field__remove-token,.components-form-token-field__token.is-success .components-form-token-field__token-text{background:#4ab866}.components-form-token-field__token.is-error .components-form-token-field__remove-token,.components-form-token-field__token.is-error .components-form-token-field__token-text{background:#cc1818}.components-form-token-field__token.is-validating .components-form-token-field__remove-token,.components-form-token-field__token.is-validating .components-form-token-field__token-text{color:#757575}.components-form-token-field__token.is-borderless{padding:0 24px 0 0;position:relative}.components-form-token-field__token.is-borderless .components-form-token-field__token-text{background:transparent;color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-form-token-field__token.is-borderless .components-form-token-field__remove-token{background:transparent;color:#757575;padding:0;position:absolute;right:0;top:1px}.components-form-token-field__token.is-borderless.is-success .components-form-token-field__token-text{color:#4ab866}.components-form-token-field__token.is-borderless.is-error .components-form-token-field__token-text{border-radius:4px 0 0 4px;color:#cc1818;padding:0 4px 0 6px}.components-form-token-field__token.is-borderless.is-validating .components-form-token-field__token-text{color:#1e1e1e}.components-form-token-field__token.is-disabled .components-form-token-field__remove-token{cursor:default}.components-form-token-field__remove-token.components-button,.components-form-token-field__token-text{background:#ddd;display:inline-block;height:auto;line-height:24px;min-width:unset;transition:all .2s cubic-bezier(.4,1,.4,1)}@media (prefers-reduced-motion:reduce){.components-form-token-field__remove-token.components-button,.components-form-token-field__token-text{animation-delay:0s;animation-duration:1ms;transition-delay:0s;transition-duration:0s}}.components-form-token-field__token-text{border-radius:2px 0 0 2px;overflow:hidden;padding:0 0 0 8px;text-overflow:ellipsis;white-space:nowrap}.components-form-token-field__remove-token.components-button{border-radius:0 2px 2px 0;color:#1e1e1e;cursor:pointer;line-height:10px;overflow:initial;padding:0 2px}.components-form-token-field__remove-token.components-button:hover{color:#1e1e1e}.components-form-token-field__suggestions-list{box-shadow:inset 0 1px 0 0 #949494;flex:1 0 100%;list-style:none;margin:0;max-height:128px;min-width:100%;overflow-y:auto;padding:0;transition:all .15s ease-in-out}@media (prefers-reduced-motion:reduce){.components-form-token-field__suggestions-list{transition-delay:0s;transition-duration:0s}}.components-form-token-field__suggestion{box-sizing:border-box;color:#1e1e1e;cursor:pointer;display:block;font-size:13px;margin:0;min-height:32px;padding:8px 12px}.components-form-token-field__suggestion.is-selected{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:#fff}@media (min-width:600px){.components-guide{width:600px}}.components-guide .components-modal__content{border-radius:2px;margin-top:0;padding:0}.components-guide .components-modal__content:before{content:none}.components-guide .components-modal__header{border-bottom:none;height:60px;padding:0;position:sticky}.components-guide .components-modal__header .components-button{align-self:flex-start;margin:8px 8px 0 0;position:static}.components-guide .components-modal__header .components-button:hover svg{fill:#fff}.components-guide__container{display:flex;flex-direction:column;justify-content:space-between;margin-top:-60px;min-height:100%}.components-guide__page{display:flex;flex-direction:column;justify-content:center;position:relative}@media (min-width:600px){.components-guide__page{min-height:300px}}.components-guide__footer{align-content:center;display:flex;height:36px;justify-content:center;margin:0 0 24px;padding:0 32px;position:relative;width:100%}.components-guide__page-control{margin:0;text-align:center}.components-guide__page-control li{display:inline-block;margin:0}.components-guide__page-control .components-button{color:#e0e0e0;height:30px;margin:-6px 0;min-width:20px}.components-guide__page-control li[aria-current=step] .components-button{color:var(--wp-components-color-accent,var(--wp-admin-theme-color))}.components-modal__frame.components-guide{border:none;max-height:575px;min-width:312px}@media (max-width:600px){.components-modal__frame.components-guide{margin:auto;max-width:calc(100vw - 32px)}}.components-button.components-guide__back-button,.components-button.components-guide__finish-button,.components-button.components-guide__forward-button{position:absolute}.components-button.components-guide__back-button{left:32px}.components-button.components-guide__finish-button,.components-button.components-guide__forward-button{right:32px}[role=region]{position:relative}.is-focusing-regions [role=region]:focus:after{bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1000000}.is-focusing-regions .editor-post-publish-panel,.is-focusing-regions .interface-interface-skeleton__actions .edit-post-layout__toggle-entities-saved-states-panel,.is-focusing-regions .interface-interface-skeleton__actions .edit-post-layout__toggle-publish-panel,.is-focusing-regions .interface-interface-skeleton__sidebar .edit-post-layout__toggle-sidebar-panel,.is-focusing-regions [role=region]:focus:after,.is-focusing-regions.is-distraction-free .interface-interface-skeleton__header .edit-post-header{outline:4px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-offset:-4px}.components-menu-group+.components-menu-group{border-top:1px solid #1e1e1e;margin-top:8px;padding-top:8px}.components-menu-group+.components-menu-group.has-hidden-separator{border-top:none;margin-top:0;padding-top:0}.components-menu-group__label{color:#757575;font-size:11px;font-weight:500;margin-bottom:12px;margin-top:4px;padding:0 8px;text-transform:uppercase;white-space:nowrap}.components-menu-item__button,.components-menu-item__button.components-button{width:100%}.components-menu-item__button.components-button[role=menuitemcheckbox] .components-menu-item__item:only-child,.components-menu-item__button.components-button[role=menuitemradio] .components-menu-item__item:only-child,.components-menu-item__button[role=menuitemcheckbox] .components-menu-item__item:only-child,.components-menu-item__button[role=menuitemradio] .components-menu-item__item:only-child{box-sizing:initial;padding-right:48px}.components-menu-item__button .components-menu-items__item-icon,.components-menu-item__button.components-button .components-menu-items__item-icon{display:inline-block;flex:0 0 auto}.components-menu-item__button .components-menu-items__item-icon.has-icon-right,.components-menu-item__button.components-button .components-menu-items__item-icon.has-icon-right{margin-left:24px;margin-right:-2px}.components-menu-item__button .components-menu-item__shortcut+.components-menu-items__item-icon.has-icon-right,.components-menu-item__button.components-button .components-menu-item__shortcut+.components-menu-items__item-icon.has-icon-right{margin-left:8px}.components-menu-item__button .block-editor-block-icon,.components-menu-item__button.components-button .block-editor-block-icon{margin-left:-2px;margin-right:8px}.components-menu-item__button.components-button.is-primary,.components-menu-item__button.is-primary{justify-content:center}.components-menu-item__button.components-button.is-primary .components-menu-item__item,.components-menu-item__button.is-primary .components-menu-item__item{margin-right:0}.components-menu-item__button.components-button:disabled.is-tertiary,.components-menu-item__button.components-button[aria-disabled=true].is-tertiary,.components-menu-item__button:disabled.is-tertiary,.components-menu-item__button[aria-disabled=true].is-tertiary{background:none;color:var(--wp-components-color-accent-darker-10,var(--wp-admin-theme-color-darker-10,#2145e6));opacity:.3}.components-menu-item__info-wrapper{display:flex;flex-direction:column;margin-right:auto}.components-menu-item__info{color:#757575;font-size:12px;margin-top:4px;white-space:normal}.components-menu-item__item{align-items:center;display:inline-flex;margin-right:auto;min-width:160px;white-space:nowrap}.components-menu-item__shortcut{align-self:center;color:currentColor;display:none;margin-left:auto;margin-right:0;padding-left:24px}@media (min-width:480px){.components-menu-item__shortcut{display:inline}}.components-menu-items-choice svg,.components-menu-items-choice.components-button svg{margin-right:12px}.components-menu-items-choice.components-button.has-icon,.components-menu-items-choice.has-icon{padding-left:12px}.components-modal__screen-overlay{animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards;background-color:rgba(0,0,0,.35);bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:100000}@media (prefers-reduced-motion:reduce){.components-modal__screen-overlay{animation-delay:0s;animation-duration:1ms}}.components-modal__frame{animation:components-modal__appear-animation .1s ease-out;animation-fill-mode:forwards;background:#fff;border-radius:4px 4px 0 0;box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),.1px 11.5px 16.4px -.5px rgba(0,0,0,.15);display:flex;margin:40px 0 0;overflow:hidden;width:100%}@media (prefers-reduced-motion:reduce){.components-modal__frame{animation-delay:0s;animation-duration:1ms}}@media (min-width:600px){.components-modal__frame{border-radius:4px;margin:auto;max-height:calc(100% - 120px);max-width:calc(100% - 32px);min-width:350px;width:auto}}@media (min-width:600px) and (min-width:600px){.components-modal__frame.is-full-screen{height:calc(100% - 32px);max-height:none;width:calc(100% - 32px)}}@media (min-width:600px) and (min-width:782px){.components-modal__frame.is-full-screen{height:calc(100% - 80px);max-width:none;width:calc(100% - 80px)}}@media (min-width:600px){.components-modal__frame.has-size-large,.components-modal__frame.has-size-medium,.components-modal__frame.has-size-small{width:100%}.components-modal__frame.has-size-small{max-width:384px}.components-modal__frame.has-size-medium{max-width:512px}.components-modal__frame.has-size-large{max-width:840px}}@media (min-width:960px){.components-modal__frame{max-height:70%}}@keyframes components-modal__appear-animation{0%{transform:translateY(32px)}to{transform:translateY(0)}}.components-modal__header{align-items:center;border-bottom:1px solid transparent;box-sizing:border-box;display:flex;flex-direction:row;height:72px;justify-content:space-between;left:0;padding:24px 32px 8px;position:absolute;top:0;width:100%;z-index:10}.components-modal__header .components-modal__header-heading{font-size:1.2rem;font-weight:600}.components-modal__header h1{line-height:1;margin:0}.components-modal__header .components-button{left:8px;position:relative}.components-modal__content.has-scrolled-content:not(.hide-header) .components-modal__header{border-bottom-color:#ddd}.components-modal__header+p{margin-top:0}.components-modal__header-heading-container{align-items:center;display:flex;flex-direction:row;flex-grow:1;justify-content:left}.components-modal__header-icon-container{display:inline-block}.components-modal__header-icon-container svg{max-height:36px;max-width:36px;padding:8px}.components-modal__content{flex:1;margin-top:72px;overflow:auto;padding:4px 32px 32px}.components-modal__content.hide-header{margin-top:0;padding-top:32px}.components-modal__content.is-scrollable:focus-visible{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.components-notice{align-items:center;background-color:#fff;border-left:4px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;padding:8px 12px}.components-notice.is-dismissible{position:relative}.components-notice.is-success{background-color:#eff9f1;border-left-color:#4ab866}.components-notice.is-warning{background-color:#fef8ee;border-left-color:#f0b849}.components-notice.is-error{background-color:#f4a2a2;border-left-color:#cc1818}.components-notice__content{flex-grow:1;margin:4px 25px 4px 0}.components-notice__actions{display:flex;flex-wrap:wrap}.components-notice__action.components-button{margin-right:8px}.components-notice__action.components-button,.components-notice__action.components-button.is-link{margin-left:12px}.components-notice__action.components-button.is-secondary{vertical-align:initial}.components-notice__dismiss{align-self:flex-start;color:#757575;flex-shrink:0}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):focus,.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):active,.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{background-color:transparent;color:#1e1e1e}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{box-shadow:none}.components-notice-list{box-sizing:border-box;max-width:100vw}.components-notice-list .components-notice__content{line-height:2;margin-bottom:12px;margin-top:12px}.components-notice-list .components-notice__action.components-button{display:block;margin-left:0;margin-top:8px}.components-panel{background:#fff;border:1px solid #e0e0e0}.components-panel>.components-panel__body:first-child,.components-panel>.components-panel__header:first-child{margin-top:-1px}.components-panel>.components-panel__body:last-child,.components-panel>.components-panel__header:last-child{border-bottom-width:0}.components-panel+.components-panel{margin-top:-1px}.components-panel__body{border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0}.components-panel__body h3{margin:0 0 .5em}.components-panel__body.is-opened{padding:16px}.components-panel__header{align-items:center;border-bottom:1px solid #ddd;box-sizing:content-box;display:flex;height:47px;justify-content:space-between;padding:0 16px}.components-panel__header h2{color:inherit;font-size:inherit;margin:0}.components-panel__body+.components-panel__body,.components-panel__body+.components-panel__header,.components-panel__header+.components-panel__body,.components-panel__header+.components-panel__header{margin-top:-1px}.components-panel__body>.components-panel__body-title{display:block;font-size:inherit;margin-bottom:0;margin-top:0;padding:0;transition:background .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body>.components-panel__body-title{transition-delay:0s;transition-duration:0s}}.components-panel__body.is-opened>.components-panel__body-title{margin:-16px -16px 5px}.components-panel__body>.components-panel__body-title:hover{background:#f0f0f0;border:none}.components-panel__body-toggle.components-button{border:none;box-shadow:none;color:#1e1e1e;font-weight:500;height:auto;outline:none;padding:16px 48px 16px 16px;position:relative;text-align:left;transition:background .1s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button{transition-delay:0s;transition-duration:0s}}.components-panel__body-toggle.components-button:focus{border-radius:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-panel__body-toggle.components-button .components-panel__arrow{fill:currentColor;color:#1e1e1e;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:color .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button .components-panel__arrow{transition-delay:0s;transition-duration:0s}}body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right{-ms-filter:fliph;filter:FlipH;margin-top:-10px;transform:scaleX(-1)}.components-panel__icon{color:#757575;margin:-2px 0 -2px 6px}.components-panel__body-toggle-icon{margin-right:-5px}.components-panel__color-title{float:left;height:19px}.components-panel__row{align-items:center;display:flex;justify-content:space-between;margin-top:8px;min-height:36px}.components-panel__row select{min-width:0}.components-panel__row label{flex-shrink:0;margin-right:12px;max-width:75%}.components-panel__row:empty,.components-panel__row:first-of-type{margin-top:0}.components-panel .circle-picker{padding-bottom:20px}.components-placeholder.components-placeholder{-moz-font-smoothing:subpixel-antialiased;-webkit-font-smoothing:subpixel-antialiased;background-color:#fff;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;box-sizing:border-box;color:#1e1e1e;margin:0;outline:1px solid transparent;padding:1em;position:relative;text-align:left;width:100%}@supports (position:sticky){.components-placeholder.components-placeholder{align-items:flex-start;display:flex;flex-direction:column;justify-content:top}}.components-placeholder__error,.components-placeholder__fieldset,.components-placeholder__instructions,.components-placeholder__label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-placeholder__label{align-items:center;display:flex;font-weight:600;margin-bottom:16px}.components-placeholder__label .block-editor-block-icon,.components-placeholder__label .dashicon,.components-placeholder__label>svg{fill:currentColor;margin-right:12px}@media (forced-colors:active){.components-placeholder__label .block-editor-block-icon,.components-placeholder__label .dashicon,.components-placeholder__label>svg{fill:CanvasText}}.components-placeholder__label:empty{display:none}.components-placeholder__fieldset,.components-placeholder__fieldset form{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.components-placeholder__fieldset form p,.components-placeholder__fieldset p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-placeholder__fieldset.is-column-layout,.components-placeholder__fieldset.is-column-layout form{flex-direction:column}.components-placeholder__input[type=url]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;flex:1 1 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;margin:0 8px 0 0;padding:6px 8px;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.components-placeholder__input[type=url]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-placeholder__input[type=url]{font-size:13px;line-height:normal}}.components-placeholder__input[type=url]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-placeholder__input[type=url]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-placeholder__input[type=url]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-placeholder__input[type=url]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-placeholder__instructions{margin-bottom:1em}.components-placeholder__error{margin-top:1em;width:100%}.components-placeholder__fieldset .components-button{margin-bottom:12px;margin-right:12px}.components-placeholder__fieldset .components-button:last-child{margin-bottom:0;margin-right:0}.components-placeholder__fieldset .components-button:not(.is-link)~.components-button.is-link{margin-left:10px;margin-right:10px}.components-placeholder__fieldset .components-button:not(.is-link)~.components-button.is-link:last-child{margin-right:0}.components-placeholder.is-large .components-placeholder__label{font-size:18pt;font-weight:400}.components-placeholder.is-medium .components-placeholder__instructions,.components-placeholder.is-small .components-placeholder__instructions{display:none}.components-placeholder.is-medium .components-placeholder__fieldset,.components-placeholder.is-medium .components-placeholder__fieldset form,.components-placeholder.is-small .components-placeholder__fieldset,.components-placeholder.is-small .components-placeholder__fieldset form{flex-direction:column}.components-placeholder.is-medium .components-placeholder__fieldset .components-button,.components-placeholder.is-small .components-placeholder__fieldset .components-button{margin-right:auto}.components-placeholder.is-small .components-button{padding:0 8px 2px}.components-placeholder .components-placeholder__learn-more .components-external-link{color:var(--wp-admin-theme-color)}.components-placeholder.has-illustration{-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);backface-visibility:hidden;background-color:transparent;border-radius:2px;box-shadow:none;color:inherit;display:flex;overflow:auto}.is-dark-theme .components-placeholder.has-illustration{background-color:rgba(0,0,0,.1)}.components-placeholder.has-illustration .components-placeholder__fieldset{margin-left:0;margin-right:0;width:auto}.components-placeholder.has-illustration .components-button,.components-placeholder.has-illustration .components-placeholder__instructions,.components-placeholder.has-illustration .components-placeholder__label{opacity:0;pointer-events:none;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.components-placeholder.has-illustration .components-button,.components-placeholder.has-illustration .components-placeholder__instructions,.components-placeholder.has-illustration .components-placeholder__label{transition-delay:0s;transition-duration:0s}}.is-selected>.components-placeholder.has-illustration .components-button,.is-selected>.components-placeholder.has-illustration .components-placeholder__instructions,.is-selected>.components-placeholder.has-illustration .components-placeholder__label{opacity:1;pointer-events:auto}.components-placeholder.has-illustration:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.components-placeholder__preview{display:flex;justify-content:center}.components-placeholder__illustration{stroke:currentColor;box-sizing:content-box;height:100%;left:50%;opacity:.25;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.components-popover{will-change:transform;z-index:1000000}.components-popover.is-expanded{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000000!important}.components-popover__content{background:#fff;border-radius:2px;box-shadow:0 0 0 1px #ccc,0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);box-sizing:border-box;width:min-content}.is-alternate .components-popover__content{box-shadow:0 0 0 1px #1e1e1e}.is-unstyled .components-popover__content{background:none;border-radius:0;box-shadow:none}.components-popover.is-expanded .components-popover__content{box-shadow:0 -1px 0 0 #ccc;height:calc(100% - 48px);overflow-y:visible;position:static;width:auto}.components-popover.is-expanded.is-alternate .components-popover__content{box-shadow:0 -1px 0 #1e1e1e}.components-popover__header{align-items:center;background:#fff;display:flex;height:48px;justify-content:space-between;padding:0 8px 0 16px}.components-popover__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.components-popover__close.components-button{z-index:5}.components-popover__arrow{display:flex;height:14px;pointer-events:none;position:absolute;width:14px}.components-popover__arrow:before{background-color:#fff;content:"";height:2px;left:1px;position:absolute;right:1px;top:-1px}.components-popover__arrow.is-top{bottom:-14px!important;transform:rotate(0)}.components-popover__arrow.is-right{left:-14px!important;transform:rotate(90deg)}.components-popover__arrow.is-bottom{top:-14px!important;transform:rotate(180deg)}.components-popover__arrow.is-left{right:-14px!important;transform:rotate(-90deg)}.components-popover__triangle{display:block;flex:1}.components-popover__triangle-bg{fill:#fff}.components-popover__triangle-border{fill:transparent;stroke-width:1px;stroke:#ccc}.is-alternate .components-popover__triangle-border{stroke:#1e1e1e}.components-popover-pointer-events-trap{background-color:transparent;inset:0;position:fixed;z-index:1000000}.components-radio-control__option{align-items:center;display:flex}.components-radio-control__input[type=radio]{-webkit-appearance:none;appearance:none;border:1px solid #1e1e1e;border-radius:2px;border-radius:50%;box-shadow:0 0 0 transparent;cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:24px;line-height:normal;margin:0 6px 0 0;padding:0;transition:box-shadow .1s linear;transition:none;width:24px}@media (prefers-reduced-motion:reduce){.components-radio-control__input[type=radio]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-radio-control__input[type=radio]{font-size:13px;line-height:normal}}.components-radio-control__input[type=radio]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color)}.components-radio-control__input[type=radio]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-radio-control__input[type=radio]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-radio-control__input[type=radio]:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.components-radio-control__input[type=radio]{height:20px;width:20px}}.components-radio-control__input[type=radio]:checked:before{background-color:#fff;border:4px solid #fff;box-sizing:inherit;height:8px;margin:0;transform:translate(7px,7px);width:8px}@media (min-width:600px){.components-radio-control__input[type=radio]:checked:before{transform:translate(5px,5px)}}.components-radio-control__input[type=radio]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.components-radio-control__input[type=radio]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.components-radio-control__input[type=radio]:focus{box-shadow:0 0 0 2px var(--wp-components-color-background,#fff),0 0 0 4px var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-radio-control__input[type=radio]:checked{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-radio-control__input[type=radio]:checked:before{border-radius:50%;content:""}.components-radio-control__label{cursor:pointer}.components-resizable-box__handle{display:none;height:23px;width:23px;z-index:2}.components-resizable-box__container.has-show-handle .components-resizable-box__handle{display:block}.components-resizable-box__container>img{width:inherit}.components-resizable-box__handle:after{background:#fff;border-radius:50%;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));content:"";cursor:inherit;display:block;height:15px;outline:2px solid transparent;position:absolute;right:calc(50% - 8px);top:calc(50% - 8px);width:15px}.components-resizable-box__side-handle:before{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-radius:2px;content:"";cursor:inherit;display:block;height:3px;opacity:0;position:absolute;right:calc(50% - 1px);top:calc(50% - 1px);transition:transform .1s ease-in;width:3px;will-change:transform}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle:before{transition-delay:0s;transition-duration:0s}}.components-resizable-box__corner-handle,.components-resizable-box__side-handle{z-index:2}.components-resizable-box__side-handle.components-resizable-box__handle-bottom,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:before,.components-resizable-box__side-handle.components-resizable-box__handle-top,.components-resizable-box__side-handle.components-resizable-box__handle-top:before{border-left:0;border-right:0;left:0;width:100%}.components-resizable-box__side-handle.components-resizable-box__handle-left,.components-resizable-box__side-handle.components-resizable-box__handle-left:before,.components-resizable-box__side-handle.components-resizable-box__handle-right,.components-resizable-box__side-handle.components-resizable-box__handle-right:before{border-bottom:0;border-top:0;height:100%;top:0}.components-resizable-box__side-handle.components-resizable-box__handle-bottom:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:hover:before{animation:components-resizable-box__top-bottom-animation .1s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle.components-resizable-box__handle-bottom:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:hover:before{animation-delay:0s;animation-duration:1ms}}.components-resizable-box__side-handle.components-resizable-box__handle-left:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:hover:before{animation:components-resizable-box__left-right-animation .1s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle.components-resizable-box__handle-left:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:hover:before{animation-delay:0s;animation-duration:1ms}}@media not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none){.components-resizable-box__side-handle.components-resizable-box__handle-bottom:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-bottom:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-left:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-right:hover:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:active:before,.components-resizable-box__side-handle.components-resizable-box__handle-top:hover:before{animation:none}}}@keyframes components-resizable-box__top-bottom-animation{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes components-resizable-box__left-right-animation{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}} /*!rtl:begin:ignore*/.components-resizable-box__handle-right{right:-11.5px}.components-resizable-box__handle-left{left:-11.5px}.components-resizable-box__handle-top{top:-11.5px}.components-resizable-box__handle-bottom{bottom:-11.5px} -/*!rtl:end:ignore*/.components-responsive-wrapper{align-items:center;display:flex;justify-content:center;max-width:100%;position:relative}.components-responsive-wrapper__content{display:block;max-width:100%;width:100%}.components-sandbox{overflow:hidden}iframe.components-sandbox{width:100%}body.lockscroll,html.lockscroll{overflow:hidden}.components-search-control{position:relative}.components-search-control input[type=search].components-search-control__input{background:#f0f0f0;border:none;border-radius:2px;box-shadow:0 0 0 transparent;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:48px;line-height:normal;margin-left:0;margin-right:0;padding:0 48px 0 16px;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-search-control input[type=search].components-search-control__input{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-search-control input[type=search].components-search-control__input{font-size:13px;line-height:normal}}.components-search-control input[type=search].components-search-control__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-search-control input[type=search].components-search-control__input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-search-control input[type=search].components-search-control__input::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-search-control input[type=search].components-search-control__input:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.components-search-control input[type=search].components-search-control__input{font-size:13px}}.components-search-control input[type=search].components-search-control__input:focus{background:#fff;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-search-control input[type=search].components-search-control__input::placeholder{color:#757575}.components-search-control input[type=search].components-search-control__input::-webkit-search-cancel-button,.components-search-control input[type=search].components-search-control__input::-webkit-search-decoration,.components-search-control input[type=search].components-search-control__input::-webkit-search-results-button,.components-search-control input[type=search].components-search-control__input::-webkit-search-results-decoration{-webkit-appearance:none}.components-search-control.is-next-40px-default-size input[type=search].components-search-control__input{height:40px}.components-search-control.is-size-compact input[type=search].components-search-control__input{height:32px}.components-search-control__icon{align-items:center;display:flex;justify-content:center;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px}.components-search-control__input-wrapper{position:relative}.components-select-control__input{-webkit-tap-highlight-color:rgba(0,0,0,0)!important;outline:0}@media (max-width:782px){.components-base-control .components-base-control__field .components-select-control__input{font-size:16px}}.components-snackbar{-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background:rgba(0,0,0,.85);border-radius:2px;box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);box-sizing:border-box;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;max-width:600px;padding:12px 20px;pointer-events:auto;width:100%}@media (min-width:600px){.components-snackbar{width:-moz-fit-content;width:fit-content}}.components-snackbar:focus{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-snackbar.components-snackbar-explicit-dismiss{cursor:default}.components-snackbar .components-snackbar__content-with-icon{margin-left:24px}.components-snackbar .components-snackbar__icon{left:28px;position:absolute;top:24px}.components-snackbar .components-snackbar__dismiss-button{cursor:pointer;margin-left:24px}.components-snackbar__action.components-button{color:#fff;flex-shrink:0;height:auto;line-height:1.4;margin-left:32px;padding:0}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary){background-color:transparent;text-decoration:underline}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):focus{box-shadow:none;color:#fff;outline:1px dotted #fff}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{color:#fff;text-decoration:none}.components-snackbar__content{align-items:baseline;display:flex;justify-content:space-between;line-height:1.4}.components-snackbar-list{box-sizing:border-box;pointer-events:none;position:absolute;width:100%;z-index:100000}.components-snackbar-list__notice-container{padding-top:8px;position:relative}.components-tab-panel__tabs{align-items:stretch;display:flex;flex-direction:row}.components-tab-panel__tabs[aria-orientation=vertical]{flex-direction:column}.components-tab-panel__tabs-item{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-left:0;padding:3px 16px;position:relative}.components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-tab-panel__tabs-item:after{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-tab-panel__tabs-item:after{transition-delay:0s;transition-duration:0s}}.components-tab-panel__tabs-item.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-tab-panel__tabs-item:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-tab-panel__tabs-item:before{transition-delay:0s;transition-duration:0s}}.components-tab-panel__tabs-item:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.components-text-control__input,.components-text-control__input[type=color],.components-text-control__input[type=date],.components-text-control__input[type=datetime-local],.components-text-control__input[type=datetime],.components-text-control__input[type=email],.components-text-control__input[type=month],.components-text-control__input[type=number],.components-text-control__input[type=password],.components-text-control__input[type=tel],.components-text-control__input[type=text],.components-text-control__input[type=time],.components-text-control__input[type=url],.components-text-control__input[type=week]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;padding:6px 8px;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-text-control__input,.components-text-control__input[type=color],.components-text-control__input[type=date],.components-text-control__input[type=datetime-local],.components-text-control__input[type=datetime],.components-text-control__input[type=email],.components-text-control__input[type=month],.components-text-control__input[type=number],.components-text-control__input[type=password],.components-text-control__input[type=tel],.components-text-control__input[type=text],.components-text-control__input[type=time],.components-text-control__input[type=url],.components-text-control__input[type=week]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-text-control__input,.components-text-control__input[type=color],.components-text-control__input[type=date],.components-text-control__input[type=datetime-local],.components-text-control__input[type=datetime],.components-text-control__input[type=email],.components-text-control__input[type=month],.components-text-control__input[type=number],.components-text-control__input[type=password],.components-text-control__input[type=tel],.components-text-control__input[type=text],.components-text-control__input[type=time],.components-text-control__input[type=url],.components-text-control__input[type=week]{font-size:13px;line-height:normal}}.components-text-control__input:focus,.components-text-control__input[type=color]:focus,.components-text-control__input[type=date]:focus,.components-text-control__input[type=datetime-local]:focus,.components-text-control__input[type=datetime]:focus,.components-text-control__input[type=email]:focus,.components-text-control__input[type=month]:focus,.components-text-control__input[type=number]:focus,.components-text-control__input[type=password]:focus,.components-text-control__input[type=tel]:focus,.components-text-control__input[type=text]:focus,.components-text-control__input[type=time]:focus,.components-text-control__input[type=url]:focus,.components-text-control__input[type=week]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-text-control__input::-webkit-input-placeholder,.components-text-control__input[type=color]::-webkit-input-placeholder,.components-text-control__input[type=date]::-webkit-input-placeholder,.components-text-control__input[type=datetime-local]::-webkit-input-placeholder,.components-text-control__input[type=datetime]::-webkit-input-placeholder,.components-text-control__input[type=email]::-webkit-input-placeholder,.components-text-control__input[type=month]::-webkit-input-placeholder,.components-text-control__input[type=number]::-webkit-input-placeholder,.components-text-control__input[type=password]::-webkit-input-placeholder,.components-text-control__input[type=tel]::-webkit-input-placeholder,.components-text-control__input[type=text]::-webkit-input-placeholder,.components-text-control__input[type=time]::-webkit-input-placeholder,.components-text-control__input[type=url]::-webkit-input-placeholder,.components-text-control__input[type=week]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-text-control__input::-moz-placeholder,.components-text-control__input[type=color]::-moz-placeholder,.components-text-control__input[type=date]::-moz-placeholder,.components-text-control__input[type=datetime-local]::-moz-placeholder,.components-text-control__input[type=datetime]::-moz-placeholder,.components-text-control__input[type=email]::-moz-placeholder,.components-text-control__input[type=month]::-moz-placeholder,.components-text-control__input[type=number]::-moz-placeholder,.components-text-control__input[type=password]::-moz-placeholder,.components-text-control__input[type=tel]::-moz-placeholder,.components-text-control__input[type=text]::-moz-placeholder,.components-text-control__input[type=time]::-moz-placeholder,.components-text-control__input[type=url]::-moz-placeholder,.components-text-control__input[type=week]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-text-control__input:-ms-input-placeholder,.components-text-control__input[type=color]:-ms-input-placeholder,.components-text-control__input[type=date]:-ms-input-placeholder,.components-text-control__input[type=datetime-local]:-ms-input-placeholder,.components-text-control__input[type=datetime]:-ms-input-placeholder,.components-text-control__input[type=email]:-ms-input-placeholder,.components-text-control__input[type=month]:-ms-input-placeholder,.components-text-control__input[type=number]:-ms-input-placeholder,.components-text-control__input[type=password]:-ms-input-placeholder,.components-text-control__input[type=tel]:-ms-input-placeholder,.components-text-control__input[type=text]:-ms-input-placeholder,.components-text-control__input[type=time]:-ms-input-placeholder,.components-text-control__input[type=url]:-ms-input-placeholder,.components-text-control__input[type=week]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-tip{color:#757575;display:flex}.components-tip svg{fill:#f0b849;align-self:center;flex-shrink:0;margin-right:16px}.components-tip p{margin:0}.components-accessible-toolbar{border:1px solid #1e1e1e;border-radius:2px;display:inline-flex;flex-shrink:0}.components-accessible-toolbar>.components-toolbar-group:last-child{border-right:none}.components-accessible-toolbar .components-button,.components-toolbar .components-button{height:48px;padding-left:16px;padding-right:16px;position:relative;z-index:1}.components-accessible-toolbar .components-button:focus:not(:disabled),.components-toolbar .components-button:focus:not(:disabled){box-shadow:none;outline:none}.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards;border-radius:2px;content:"";display:block;height:32px;left:8px;position:absolute;right:8px;z-index:-1}@media (prefers-reduced-motion:reduce){.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{animation-delay:0s;animation-duration:1ms}}.components-accessible-toolbar .components-button svg,.components-toolbar .components-button svg{margin-left:auto;margin-right:auto;position:relative}.components-accessible-toolbar .components-button.is-pressed,.components-accessible-toolbar .components-button.is-pressed:hover,.components-toolbar .components-button.is-pressed,.components-toolbar .components-button.is-pressed:hover{background:transparent}.components-accessible-toolbar .components-button.is-pressed:before,.components-toolbar .components-button.is-pressed:before{background:#1e1e1e}.components-accessible-toolbar .components-button:focus:before,.components-toolbar .components-button:focus:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 4px #fff;outline:2px solid transparent}.components-accessible-toolbar .components-button.has-icon.has-icon,.components-toolbar .components-button.has-icon.has-icon{min-width:48px;padding-left:12px;padding-right:12px}.components-accessible-toolbar .components-button.components-tab-button,.components-toolbar .components-button.components-tab-button{font-weight:500}.components-accessible-toolbar .components-button.components-tab-button span,.components-toolbar .components-button.components-tab-button span{display:inline-block;padding-left:0;padding-right:0;position:relative}@keyframes components-button__appear-animation{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.components-toolbar__control.components-button{position:relative}.components-toolbar__control.components-button[data-subscript] svg{padding:5px 10px 5px 0}.components-toolbar__control.components-button[data-subscript]:after{bottom:10px;content:attr(data-subscript);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:600;line-height:12px;position:absolute;right:8px}.components-toolbar__control.components-button:active:before{display:none}.components-toolbar__control.components-button:not(:disabled).is-pressed[data-subscript]:after{color:#fff}.components-toolbar-group{background-color:#fff;border-right:1px solid #1e1e1e;display:inline-flex;flex-shrink:0;flex-wrap:wrap;line-height:0;min-height:48px;padding-left:6px;padding-right:6px}.components-toolbar-group .components-toolbar-group.components-toolbar-group{border-width:0;margin:0}.components-toolbar-group .components-button.components-button,.components-toolbar-group .components-button.has-icon.has-icon{min-width:36px;padding-left:6px;padding-right:6px}.components-toolbar-group .components-button.components-button svg,.components-toolbar-group .components-button.has-icon.has-icon svg{min-width:24px}.components-toolbar-group .components-button.components-button:before,.components-toolbar-group .components-button.has-icon.has-icon:before{left:2px;right:2px}.components-toolbar{background-color:#fff;border:1px solid #1e1e1e;display:inline-flex;flex-shrink:0;flex-wrap:wrap;margin:0;min-height:48px}.components-toolbar .components-toolbar.components-toolbar{border-width:0;margin:0}div.components-toolbar>div{display:block;margin:0}@supports (position:sticky){div.components-toolbar>div{display:flex}}div.components-toolbar>div+div.has-left-divider{margin-left:6px;overflow:visible;position:relative}div.components-toolbar>div+div.has-left-divider:before{background-color:#ddd;box-sizing:content-box;content:"";display:inline-block;height:20px;left:-3px;position:absolute;top:8px;width:1px}.components-tooltip{background:#000;border-radius:2px;color:#f0f0f0;font-size:12px;line-height:1.4;padding:4px 8px;text-align:center;z-index:1000002}.components-tooltip__shortcut{margin-left:8px} \ No newline at end of file +/*!rtl:end:ignore*/.components-responsive-wrapper{align-items:center;display:flex;justify-content:center;max-width:100%;position:relative}.components-responsive-wrapper__content{display:block;max-width:100%;width:100%}.components-sandbox{overflow:hidden}iframe.components-sandbox{width:100%}body.lockscroll,html.lockscroll{overflow:hidden}.components-search-control{position:relative}.components-search-control input[type=search].components-search-control__input{background:#f0f0f0;border:none;border-radius:2px;box-shadow:0 0 0 transparent;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:48px;line-height:normal;margin-left:0;margin-right:0;padding:0 48px 0 16px;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-search-control input[type=search].components-search-control__input{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-search-control input[type=search].components-search-control__input{font-size:13px;line-height:normal}}.components-search-control input[type=search].components-search-control__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-search-control input[type=search].components-search-control__input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-search-control input[type=search].components-search-control__input::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-search-control input[type=search].components-search-control__input:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.components-search-control input[type=search].components-search-control__input{font-size:13px}}.components-search-control input[type=search].components-search-control__input:focus{background:#fff;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-search-control input[type=search].components-search-control__input::placeholder{color:#757575}.components-search-control input[type=search].components-search-control__input::-webkit-search-cancel-button,.components-search-control input[type=search].components-search-control__input::-webkit-search-decoration,.components-search-control input[type=search].components-search-control__input::-webkit-search-results-button,.components-search-control input[type=search].components-search-control__input::-webkit-search-results-decoration{-webkit-appearance:none}.components-search-control.is-next-40px-default-size input[type=search].components-search-control__input{height:40px}.components-search-control.is-size-compact input[type=search].components-search-control__input{height:32px;padding-left:8px;padding-right:32px}.components-search-control__icon{align-items:center;display:flex;justify-content:center;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px}.is-size-compact .components-search-control__icon{right:4px}.components-search-control__input-wrapper{position:relative}.components-select-control__input{-webkit-tap-highlight-color:rgba(0,0,0,0)!important;outline:0}@media (max-width:782px){.components-base-control .components-base-control__field .components-select-control__input{font-size:16px}}.components-snackbar{-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background:rgba(0,0,0,.85);border-radius:2px;box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);box-sizing:border-box;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;max-width:600px;padding:12px 20px;pointer-events:auto;width:100%}@media (min-width:600px){.components-snackbar{width:-moz-fit-content;width:fit-content}}.components-snackbar:focus{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}.components-snackbar.components-snackbar-explicit-dismiss{cursor:default}.components-snackbar .components-snackbar__content-with-icon{padding-left:24px;position:relative}.components-snackbar .components-snackbar__icon{left:-8px;position:absolute;top:-2.9px}.components-snackbar .components-snackbar__dismiss-button{cursor:pointer;margin-left:24px}.components-snackbar__action.components-button{color:#fff;flex-shrink:0;height:auto;line-height:1.4;margin-left:32px;padding:0}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary){background-color:transparent;text-decoration:underline}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):focus{box-shadow:none;color:#fff;outline:1px dotted #fff}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{color:#fff;text-decoration:none}.components-snackbar__content{align-items:baseline;display:flex;justify-content:space-between;line-height:1.4}.components-snackbar-list{box-sizing:border-box;pointer-events:none;position:absolute;width:100%;z-index:100000}.components-snackbar-list__notice-container{padding-top:8px;position:relative}.components-tab-panel__tabs{align-items:stretch;display:flex;flex-direction:row}.components-tab-panel__tabs[aria-orientation=vertical]{flex-direction:column}.components-tab-panel__tabs-item{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-left:0;padding:3px 16px;position:relative}.components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-tab-panel__tabs-item:after{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-tab-panel__tabs-item:after{transition-delay:0s;transition-duration:0s}}.components-tab-panel__tabs-item.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-tab-panel__tabs-item:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-tab-panel__tabs-item:before{transition-delay:0s;transition-duration:0s}}.components-tab-panel__tabs-item:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.components-text-control__input,.components-text-control__input[type=color],.components-text-control__input[type=date],.components-text-control__input[type=datetime-local],.components-text-control__input[type=datetime],.components-text-control__input[type=email],.components-text-control__input[type=month],.components-text-control__input[type=number],.components-text-control__input[type=password],.components-text-control__input[type=tel],.components-text-control__input[type=text],.components-text-control__input[type=time],.components-text-control__input[type=url],.components-text-control__input[type=week]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:32px;line-height:normal;padding:6px 8px;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.components-text-control__input,.components-text-control__input[type=color],.components-text-control__input[type=date],.components-text-control__input[type=datetime-local],.components-text-control__input[type=datetime],.components-text-control__input[type=email],.components-text-control__input[type=month],.components-text-control__input[type=number],.components-text-control__input[type=password],.components-text-control__input[type=tel],.components-text-control__input[type=text],.components-text-control__input[type=time],.components-text-control__input[type=url],.components-text-control__input[type=week]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.components-text-control__input,.components-text-control__input[type=color],.components-text-control__input[type=date],.components-text-control__input[type=datetime-local],.components-text-control__input[type=datetime],.components-text-control__input[type=email],.components-text-control__input[type=month],.components-text-control__input[type=number],.components-text-control__input[type=password],.components-text-control__input[type=tel],.components-text-control__input[type=text],.components-text-control__input[type=time],.components-text-control__input[type=url],.components-text-control__input[type=week]{font-size:13px;line-height:normal}}.components-text-control__input:focus,.components-text-control__input[type=color]:focus,.components-text-control__input[type=date]:focus,.components-text-control__input[type=datetime-local]:focus,.components-text-control__input[type=datetime]:focus,.components-text-control__input[type=email]:focus,.components-text-control__input[type=month]:focus,.components-text-control__input[type=number]:focus,.components-text-control__input[type=password]:focus,.components-text-control__input[type=tel]:focus,.components-text-control__input[type=text]:focus,.components-text-control__input[type=time]:focus,.components-text-control__input[type=url]:focus,.components-text-control__input[type=week]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.components-text-control__input::-webkit-input-placeholder,.components-text-control__input[type=color]::-webkit-input-placeholder,.components-text-control__input[type=date]::-webkit-input-placeholder,.components-text-control__input[type=datetime-local]::-webkit-input-placeholder,.components-text-control__input[type=datetime]::-webkit-input-placeholder,.components-text-control__input[type=email]::-webkit-input-placeholder,.components-text-control__input[type=month]::-webkit-input-placeholder,.components-text-control__input[type=number]::-webkit-input-placeholder,.components-text-control__input[type=password]::-webkit-input-placeholder,.components-text-control__input[type=tel]::-webkit-input-placeholder,.components-text-control__input[type=text]::-webkit-input-placeholder,.components-text-control__input[type=time]::-webkit-input-placeholder,.components-text-control__input[type=url]::-webkit-input-placeholder,.components-text-control__input[type=week]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-text-control__input::-moz-placeholder,.components-text-control__input[type=color]::-moz-placeholder,.components-text-control__input[type=date]::-moz-placeholder,.components-text-control__input[type=datetime-local]::-moz-placeholder,.components-text-control__input[type=datetime]::-moz-placeholder,.components-text-control__input[type=email]::-moz-placeholder,.components-text-control__input[type=month]::-moz-placeholder,.components-text-control__input[type=number]::-moz-placeholder,.components-text-control__input[type=password]::-moz-placeholder,.components-text-control__input[type=tel]::-moz-placeholder,.components-text-control__input[type=text]::-moz-placeholder,.components-text-control__input[type=time]::-moz-placeholder,.components-text-control__input[type=url]::-moz-placeholder,.components-text-control__input[type=week]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.components-text-control__input:-ms-input-placeholder,.components-text-control__input[type=color]:-ms-input-placeholder,.components-text-control__input[type=date]:-ms-input-placeholder,.components-text-control__input[type=datetime-local]:-ms-input-placeholder,.components-text-control__input[type=datetime]:-ms-input-placeholder,.components-text-control__input[type=email]:-ms-input-placeholder,.components-text-control__input[type=month]:-ms-input-placeholder,.components-text-control__input[type=number]:-ms-input-placeholder,.components-text-control__input[type=password]:-ms-input-placeholder,.components-text-control__input[type=tel]:-ms-input-placeholder,.components-text-control__input[type=text]:-ms-input-placeholder,.components-text-control__input[type=time]:-ms-input-placeholder,.components-text-control__input[type=url]:-ms-input-placeholder,.components-text-control__input[type=week]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-text-control__input.is-next-40px-default-size,.components-text-control__input[type=color].is-next-40px-default-size,.components-text-control__input[type=date].is-next-40px-default-size,.components-text-control__input[type=datetime-local].is-next-40px-default-size,.components-text-control__input[type=datetime].is-next-40px-default-size,.components-text-control__input[type=email].is-next-40px-default-size,.components-text-control__input[type=month].is-next-40px-default-size,.components-text-control__input[type=number].is-next-40px-default-size,.components-text-control__input[type=password].is-next-40px-default-size,.components-text-control__input[type=tel].is-next-40px-default-size,.components-text-control__input[type=text].is-next-40px-default-size,.components-text-control__input[type=time].is-next-40px-default-size,.components-text-control__input[type=url].is-next-40px-default-size,.components-text-control__input[type=week].is-next-40px-default-size{height:40px}.components-tip{color:#757575;display:flex}.components-tip svg{fill:#f0b849;align-self:center;flex-shrink:0;margin-right:16px}.components-tip p{margin:0}.components-accessible-toolbar{border:1px solid #1e1e1e;border-radius:2px;display:inline-flex;flex-shrink:0}.components-accessible-toolbar>.components-toolbar-group:last-child{border-right:none}.components-accessible-toolbar.is-unstyled{border:none}.components-accessible-toolbar.is-unstyled>.components-toolbar-group{border-right:none}.components-accessible-toolbar .components-button,.components-toolbar .components-button{height:48px;padding-left:16px;padding-right:16px;position:relative;z-index:1}.components-accessible-toolbar .components-button:focus:not(:disabled),.components-toolbar .components-button:focus:not(:disabled){box-shadow:none;outline:none}.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards;border-radius:2px;content:"";display:block;height:32px;left:8px;position:absolute;right:8px;z-index:-1}@media (prefers-reduced-motion:reduce){.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{animation-delay:0s;animation-duration:1ms}}.components-accessible-toolbar .components-button svg,.components-toolbar .components-button svg{margin-left:auto;margin-right:auto;position:relative}.components-accessible-toolbar .components-button.is-pressed,.components-accessible-toolbar .components-button.is-pressed:hover,.components-toolbar .components-button.is-pressed,.components-toolbar .components-button.is-pressed:hover{background:transparent}.components-accessible-toolbar .components-button.is-pressed:before,.components-toolbar .components-button.is-pressed:before{background:#1e1e1e}.components-accessible-toolbar .components-button:focus:before,.components-toolbar .components-button:focus:before{box-shadow:inset 0 0 0 1px var(--wp-components-color-background,#fff),0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline:2px solid transparent}.components-accessible-toolbar .components-button.has-icon.has-icon,.components-toolbar .components-button.has-icon.has-icon{min-width:48px;padding-left:12px;padding-right:12px}.components-accessible-toolbar .components-button.components-tab-button,.components-toolbar .components-button.components-tab-button{font-weight:500}.components-accessible-toolbar .components-button.components-tab-button span,.components-toolbar .components-button.components-tab-button span{display:inline-block;padding-left:0;padding-right:0;position:relative}@keyframes components-button__appear-animation{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.components-toolbar__control.components-button{position:relative}.components-toolbar__control.components-button[data-subscript] svg{padding:5px 10px 5px 0}.components-toolbar__control.components-button[data-subscript]:after{bottom:10px;content:attr(data-subscript);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:600;line-height:12px;position:absolute;right:8px}.components-toolbar__control.components-button:not(:disabled).is-pressed[data-subscript]:after{color:#fff}.components-toolbar-group{background-color:#fff;border-right:1px solid #1e1e1e;display:inline-flex;flex-shrink:0;flex-wrap:wrap;line-height:0;min-height:48px;padding-left:6px;padding-right:6px}.components-toolbar-group .components-toolbar-group.components-toolbar-group{border-width:0;margin:0}.components-toolbar-group .components-button.components-button,.components-toolbar-group .components-button.has-icon.has-icon{min-width:36px;padding-left:6px;padding-right:6px}.components-toolbar-group .components-button.components-button svg,.components-toolbar-group .components-button.has-icon.has-icon svg{min-width:24px}.components-toolbar-group .components-button.components-button:before,.components-toolbar-group .components-button.has-icon.has-icon:before{left:2px;right:2px}.components-toolbar{background-color:#fff;border:1px solid #1e1e1e;display:inline-flex;flex-shrink:0;flex-wrap:wrap;margin:0;min-height:48px}.components-toolbar .components-toolbar.components-toolbar{border-width:0;margin:0}div.components-toolbar>div{display:block;margin:0}@supports (position:sticky){div.components-toolbar>div{display:flex}}div.components-toolbar>div+div.has-left-divider{margin-left:6px;overflow:visible;position:relative}div.components-toolbar>div+div.has-left-divider:before{background-color:#ddd;box-sizing:content-box;content:"";display:inline-block;height:20px;left:-3px;position:absolute;top:8px;width:1px}.components-tooltip{background:#000;border-radius:2px;color:#f0f0f0;font-size:12px;line-height:1.4;padding:4px 8px;text-align:center;z-index:1000002}.components-tooltip__shortcut{margin-left:8px} \ No newline at end of file diff --git a/wp-includes/css/dist/customize-widgets/style-rtl.css b/wp-includes/css/dist/customize-widgets/style-rtl.css index 827a0581d5..9f37d88d77 100644 --- a/wp-includes/css/dist/customize-widgets/style-rtl.css +++ b/wp-includes/css/dist/customize-widgets/style-rtl.css @@ -41,7 +41,7 @@ margin:-15px -12px 0; z-index:8; } -@media (min-width:782px){ +@media (min-width:600px){ .customize-widgets-header{ margin-bottom:44px; } @@ -155,17 +155,6 @@ margin:0 .2rem 0 0; } -.block-editor-block-contextual-toolbar.is-fixed{ - margin-left:-12px; - margin-right:-12px; - overflow-y:auto; - width:calc(100% + 24px) !important; - z-index:7; -} -.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar{ - display:none; -} - .customize-control-sidebar_block_editor .block-editor-block-list__block-popover{ position:fixed !important; z-index:7; @@ -225,21 +214,4 @@ } .customize-control-sidebar_block_editor *,.customize-control-sidebar_block_editor :after,.customize-control-sidebar_block_editor :before,.customize-widgets-layout__inspector *,.customize-widgets-layout__inspector :after,.customize-widgets-layout__inspector :before,.customize-widgets-popover *,.customize-widgets-popover :after,.customize-widgets-popover :before{ box-sizing:inherit; -} -.block-editor-block-contextual-toolbar.is-fixed{ - border:none; - border-bottom:1px solid #e0e0e0; - border-radius:0; - overflow-y:hidden; - position:sticky; - right:0; - top:0; - width:calc(100% + 24px); - z-index:6; -} -.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group{ - border-left-color:#e0e0e0; -} -.block-editor-block-contextual-toolbar.is-fixed.is-collapsed{ - margin-right:-12px; } \ No newline at end of file diff --git a/wp-includes/css/dist/customize-widgets/style-rtl.min.css b/wp-includes/css/dist/customize-widgets/style-rtl.min.css index cc1cd4d7d6..4b593814b7 100644 --- a/wp-includes/css/dist/customize-widgets/style-rtl.min.css +++ b/wp-includes/css/dist/customize-widgets/style-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector{background:#fff;box-sizing:border-box}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector *{box-sizing:inherit}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector .block-editor-block-inspector{margin:-12px}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector .block-editor-block-inspector h3{margin-bottom:0}#customize-theme-controls .customize-pane-child.control-section-sidebar.is-sub-section-open{transform:translateX(100%)}.customize-widgets-header{background:#f0f0f1;border-bottom:1px solid #e0e0e0;display:flex;justify-content:flex-end;margin:-15px -12px 0;z-index:8}@media (min-width:782px){.customize-widgets-header{margin-bottom:44px}}.customize-widgets-header.is-fixed-toolbar-active{margin-bottom:0}.customize-widgets-header-toolbar{align-items:center;border:none;display:flex;width:100%}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon{border-radius:2px;color:#fff;height:24px;margin:12px auto 12px 0;min-width:24px;padding:0}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon:before{content:none}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon.is-pressed{background:#1e1e1e}.customize-widgets-header-toolbar .components-button.has-icon.customize-widgets-editor-history-button.redo-button{margin-right:-12px}#customize-sidebar-outer-content{min-width:100%;width:auto}#customize-outer-theme-controls .widgets-inserter{padding:0}#customize-outer-theme-controls .widgets-inserter .customize-section-description-container{display:none}.customize-widgets-layout__inserter-panel{background:#fff}.customize-widgets-layout__inserter-panel-header{align-items:center;border-bottom:1px solid #ddd;box-sizing:border-box;display:flex;height:46px;justify-content:space-between;padding:16px}.customize-widgets-layout__inserter-panel-header .customize-widgets-layout__inserter-panel-header-title{margin:0}.block-editor-inserter__quick-inserter .block-editor-inserter__panel-content{background:#fff}.customize-widgets-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.customize-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.customize-widgets-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.customize-widgets-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.customize-widgets-keyboard-shortcut-help-modal__shortcut:empty{display:none}.customize-widgets-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 1rem 0 0;text-align:left}.customize-widgets-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination+.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.block-editor-block-contextual-toolbar.is-fixed{margin-left:-12px;margin-right:-12px;overflow-y:auto;width:calc(100% + 24px)!important;z-index:7}.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar{display:none}.customize-control-sidebar_block_editor .block-editor-block-list__block-popover{position:fixed!important;z-index:7}.customize-control-sidebar_block_editor .components-popover,.customize-widgets-popover .components-popover{position:fixed!important}.customize-widgets-welcome-guide__image__wrapper{background:#00a0d2;margin-bottom:8px;text-align:center}.customize-widgets-welcome-guide__image{height:auto}.wrap .customize-widgets-welcome-guide__heading{font-size:18px;font-weight:600}.customize-widgets-welcome-guide__text{line-height:1.7}.customize-widgets-welcome-guide__button{justify-content:center;margin:1em 0;width:100%}.customize-widgets-welcome-guide__separator{margin:1em 0}.customize-widgets-welcome-guide__more-info{line-height:1.4}#customize-theme-controls .customize-pane-child.customize-widgets__sidebar-section{background-color:#fff;min-height:100%;padding-top:12px!important}#customize-theme-controls .customize-pane-child.customize-widgets__sidebar-section.open{overflow:unset}#customize-theme-controls .customize-pane-child.customize-widgets__sidebar-section .customize-section-title{margin-top:-12px!important;position:static!important;width:unset!important}.components-modal__screen-overlay{z-index:999999}.customize-control-sidebar_block_editor,.customize-widgets-layout__inspector,.customize-widgets-popover{box-sizing:border-box}.customize-control-sidebar_block_editor *,.customize-control-sidebar_block_editor :after,.customize-control-sidebar_block_editor :before,.customize-widgets-layout__inspector *,.customize-widgets-layout__inspector :after,.customize-widgets-layout__inspector :before,.customize-widgets-popover *,.customize-widgets-popover :after,.customize-widgets-popover :before{box-sizing:inherit}.block-editor-block-contextual-toolbar.is-fixed{border:none;border-bottom:1px solid #e0e0e0;border-radius:0;overflow-y:hidden;position:sticky;right:0;top:0;width:calc(100% + 24px);z-index:6}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group{border-left-color:#e0e0e0}.block-editor-block-contextual-toolbar.is-fixed.is-collapsed{margin-right:-12px} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector{background:#fff;box-sizing:border-box}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector *{box-sizing:inherit}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector .block-editor-block-inspector{margin:-12px}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector .block-editor-block-inspector h3{margin-bottom:0}#customize-theme-controls .customize-pane-child.control-section-sidebar.is-sub-section-open{transform:translateX(100%)}.customize-widgets-header{background:#f0f0f1;border-bottom:1px solid #e0e0e0;display:flex;justify-content:flex-end;margin:-15px -12px 0;z-index:8}@media (min-width:600px){.customize-widgets-header{margin-bottom:44px}}.customize-widgets-header.is-fixed-toolbar-active{margin-bottom:0}.customize-widgets-header-toolbar{align-items:center;border:none;display:flex;width:100%}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon{border-radius:2px;color:#fff;height:24px;margin:12px auto 12px 0;min-width:24px;padding:0}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon:before{content:none}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon.is-pressed{background:#1e1e1e}.customize-widgets-header-toolbar .components-button.has-icon.customize-widgets-editor-history-button.redo-button{margin-right:-12px}#customize-sidebar-outer-content{min-width:100%;width:auto}#customize-outer-theme-controls .widgets-inserter{padding:0}#customize-outer-theme-controls .widgets-inserter .customize-section-description-container{display:none}.customize-widgets-layout__inserter-panel{background:#fff}.customize-widgets-layout__inserter-panel-header{align-items:center;border-bottom:1px solid #ddd;box-sizing:border-box;display:flex;height:46px;justify-content:space-between;padding:16px}.customize-widgets-layout__inserter-panel-header .customize-widgets-layout__inserter-panel-header-title{margin:0}.block-editor-inserter__quick-inserter .block-editor-inserter__panel-content{background:#fff}.customize-widgets-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.customize-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.customize-widgets-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.customize-widgets-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.customize-widgets-keyboard-shortcut-help-modal__shortcut:empty{display:none}.customize-widgets-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 1rem 0 0;text-align:left}.customize-widgets-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination+.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.customize-control-sidebar_block_editor .block-editor-block-list__block-popover{position:fixed!important;z-index:7}.customize-control-sidebar_block_editor .components-popover,.customize-widgets-popover .components-popover{position:fixed!important}.customize-widgets-welcome-guide__image__wrapper{background:#00a0d2;margin-bottom:8px;text-align:center}.customize-widgets-welcome-guide__image{height:auto}.wrap .customize-widgets-welcome-guide__heading{font-size:18px;font-weight:600}.customize-widgets-welcome-guide__text{line-height:1.7}.customize-widgets-welcome-guide__button{justify-content:center;margin:1em 0;width:100%}.customize-widgets-welcome-guide__separator{margin:1em 0}.customize-widgets-welcome-guide__more-info{line-height:1.4}#customize-theme-controls .customize-pane-child.customize-widgets__sidebar-section{background-color:#fff;min-height:100%;padding-top:12px!important}#customize-theme-controls .customize-pane-child.customize-widgets__sidebar-section.open{overflow:unset}#customize-theme-controls .customize-pane-child.customize-widgets__sidebar-section .customize-section-title{margin-top:-12px!important;position:static!important;width:unset!important}.components-modal__screen-overlay{z-index:999999}.customize-control-sidebar_block_editor,.customize-widgets-layout__inspector,.customize-widgets-popover{box-sizing:border-box}.customize-control-sidebar_block_editor *,.customize-control-sidebar_block_editor :after,.customize-control-sidebar_block_editor :before,.customize-widgets-layout__inspector *,.customize-widgets-layout__inspector :after,.customize-widgets-layout__inspector :before,.customize-widgets-popover *,.customize-widgets-popover :after,.customize-widgets-popover :before{box-sizing:inherit} \ No newline at end of file diff --git a/wp-includes/css/dist/customize-widgets/style.css b/wp-includes/css/dist/customize-widgets/style.css index 2fe46b0f4a..d60a3ea28f 100644 --- a/wp-includes/css/dist/customize-widgets/style.css +++ b/wp-includes/css/dist/customize-widgets/style.css @@ -41,7 +41,7 @@ margin:-15px -12px 0; z-index:8; } -@media (min-width:782px){ +@media (min-width:600px){ .customize-widgets-header{ margin-bottom:44px; } @@ -155,17 +155,6 @@ margin:0 0 0 .2rem; } -.block-editor-block-contextual-toolbar.is-fixed{ - margin-left:-12px; - margin-right:-12px; - overflow-y:auto; - width:calc(100% + 24px) !important; - z-index:7; -} -.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar{ - display:none; -} - .customize-control-sidebar_block_editor .block-editor-block-list__block-popover{ position:fixed !important; z-index:7; @@ -225,21 +214,4 @@ } .customize-control-sidebar_block_editor *,.customize-control-sidebar_block_editor :after,.customize-control-sidebar_block_editor :before,.customize-widgets-layout__inspector *,.customize-widgets-layout__inspector :after,.customize-widgets-layout__inspector :before,.customize-widgets-popover *,.customize-widgets-popover :after,.customize-widgets-popover :before{ box-sizing:inherit; -} -.block-editor-block-contextual-toolbar.is-fixed{ - border:none; - border-bottom:1px solid #e0e0e0; - border-radius:0; - left:0; - overflow-y:hidden; - position:sticky; - top:0; - width:calc(100% + 24px); - z-index:6; -} -.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group{ - border-right-color:#e0e0e0; -} -.block-editor-block-contextual-toolbar.is-fixed.is-collapsed{ - margin-left:-12px; } \ No newline at end of file diff --git a/wp-includes/css/dist/customize-widgets/style.min.css b/wp-includes/css/dist/customize-widgets/style.min.css index fc52160140..deba4e41fe 100644 --- a/wp-includes/css/dist/customize-widgets/style.min.css +++ b/wp-includes/css/dist/customize-widgets/style.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector{background:#fff;box-sizing:border-box}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector *{box-sizing:inherit}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector .block-editor-block-inspector{margin:-12px}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector .block-editor-block-inspector h3{margin-bottom:0}#customize-theme-controls .customize-pane-child.control-section-sidebar.is-sub-section-open{transform:translateX(-100%)}.customize-widgets-header{background:#f0f0f1;border-bottom:1px solid #e0e0e0;display:flex;justify-content:flex-end;margin:-15px -12px 0;z-index:8}@media (min-width:782px){.customize-widgets-header{margin-bottom:44px}}.customize-widgets-header.is-fixed-toolbar-active{margin-bottom:0}.customize-widgets-header-toolbar{align-items:center;border:none;display:flex;width:100%}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon{border-radius:2px;color:#fff;height:24px;margin:12px 0 12px auto;min-width:24px;padding:0}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon:before{content:none}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon.is-pressed{background:#1e1e1e}.customize-widgets-header-toolbar .components-button.has-icon.customize-widgets-editor-history-button.redo-button{margin-left:-12px}#customize-sidebar-outer-content{min-width:100%;width:auto}#customize-outer-theme-controls .widgets-inserter{padding:0}#customize-outer-theme-controls .widgets-inserter .customize-section-description-container{display:none}.customize-widgets-layout__inserter-panel{background:#fff}.customize-widgets-layout__inserter-panel-header{align-items:center;border-bottom:1px solid #ddd;box-sizing:border-box;display:flex;height:46px;justify-content:space-between;padding:16px}.customize-widgets-layout__inserter-panel-header .customize-widgets-layout__inserter-panel-header-title{margin:0}.block-editor-inserter__quick-inserter .block-editor-inserter__panel-content{background:#fff}.customize-widgets-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.customize-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.customize-widgets-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.customize-widgets-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.customize-widgets-keyboard-shortcut-help-modal__shortcut:empty{display:none}.customize-widgets-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 0 0 1rem;text-align:right}.customize-widgets-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination+.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.block-editor-block-contextual-toolbar.is-fixed{margin-left:-12px;margin-right:-12px;overflow-y:auto;width:calc(100% + 24px)!important;z-index:7}.block-editor-block-contextual-toolbar.is-fixed>.block-editor-block-toolbar__group-collapse-fixed-toolbar{display:none}.customize-control-sidebar_block_editor .block-editor-block-list__block-popover{position:fixed!important;z-index:7}.customize-control-sidebar_block_editor .components-popover,.customize-widgets-popover .components-popover{position:fixed!important}.customize-widgets-welcome-guide__image__wrapper{background:#00a0d2;margin-bottom:8px;text-align:center}.customize-widgets-welcome-guide__image{height:auto}.wrap .customize-widgets-welcome-guide__heading{font-size:18px;font-weight:600}.customize-widgets-welcome-guide__text{line-height:1.7}.customize-widgets-welcome-guide__button{justify-content:center;margin:1em 0;width:100%}.customize-widgets-welcome-guide__separator{margin:1em 0}.customize-widgets-welcome-guide__more-info{line-height:1.4}#customize-theme-controls .customize-pane-child.customize-widgets__sidebar-section{background-color:#fff;min-height:100%;padding-top:12px!important}#customize-theme-controls .customize-pane-child.customize-widgets__sidebar-section.open{overflow:unset}#customize-theme-controls .customize-pane-child.customize-widgets__sidebar-section .customize-section-title{margin-top:-12px!important;position:static!important;width:unset!important}.components-modal__screen-overlay{z-index:999999}.customize-control-sidebar_block_editor,.customize-widgets-layout__inspector,.customize-widgets-popover{box-sizing:border-box}.customize-control-sidebar_block_editor *,.customize-control-sidebar_block_editor :after,.customize-control-sidebar_block_editor :before,.customize-widgets-layout__inspector *,.customize-widgets-layout__inspector :after,.customize-widgets-layout__inspector :before,.customize-widgets-popover *,.customize-widgets-popover :after,.customize-widgets-popover :before{box-sizing:inherit}.block-editor-block-contextual-toolbar.is-fixed{border:none;border-bottom:1px solid #e0e0e0;border-radius:0;left:0;overflow-y:hidden;position:sticky;top:0;width:calc(100% + 24px);z-index:6}.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar,.block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar-group{border-right-color:#e0e0e0}.block-editor-block-contextual-toolbar.is-fixed.is-collapsed{margin-left:-12px} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector{background:#fff;box-sizing:border-box}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector *{box-sizing:inherit}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector .block-editor-block-inspector{margin:-12px}#customize-theme-controls .customize-pane-child.accordion-section-content.customize-widgets-layout__inspector .block-editor-block-inspector h3{margin-bottom:0}#customize-theme-controls .customize-pane-child.control-section-sidebar.is-sub-section-open{transform:translateX(-100%)}.customize-widgets-header{background:#f0f0f1;border-bottom:1px solid #e0e0e0;display:flex;justify-content:flex-end;margin:-15px -12px 0;z-index:8}@media (min-width:600px){.customize-widgets-header{margin-bottom:44px}}.customize-widgets-header.is-fixed-toolbar-active{margin-bottom:0}.customize-widgets-header-toolbar{align-items:center;border:none;display:flex;width:100%}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon{border-radius:2px;color:#fff;height:24px;margin:12px 0 12px auto;min-width:24px;padding:0}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon:before{content:none}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon.is-pressed{background:#1e1e1e}.customize-widgets-header-toolbar .components-button.has-icon.customize-widgets-editor-history-button.redo-button{margin-left:-12px}#customize-sidebar-outer-content{min-width:100%;width:auto}#customize-outer-theme-controls .widgets-inserter{padding:0}#customize-outer-theme-controls .widgets-inserter .customize-section-description-container{display:none}.customize-widgets-layout__inserter-panel{background:#fff}.customize-widgets-layout__inserter-panel-header{align-items:center;border-bottom:1px solid #ddd;box-sizing:border-box;display:flex;height:46px;justify-content:space-between;padding:16px}.customize-widgets-layout__inserter-panel-header .customize-widgets-layout__inserter-panel-header-title{margin:0}.block-editor-inserter__quick-inserter .block-editor-inserter__panel-content{background:#fff}.customize-widgets-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.customize-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.customize-widgets-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.customize-widgets-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.customize-widgets-keyboard-shortcut-help-modal__shortcut:empty{display:none}.customize-widgets-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 0 0 1rem;text-align:right}.customize-widgets-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination+.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.customize-control-sidebar_block_editor .block-editor-block-list__block-popover{position:fixed!important;z-index:7}.customize-control-sidebar_block_editor .components-popover,.customize-widgets-popover .components-popover{position:fixed!important}.customize-widgets-welcome-guide__image__wrapper{background:#00a0d2;margin-bottom:8px;text-align:center}.customize-widgets-welcome-guide__image{height:auto}.wrap .customize-widgets-welcome-guide__heading{font-size:18px;font-weight:600}.customize-widgets-welcome-guide__text{line-height:1.7}.customize-widgets-welcome-guide__button{justify-content:center;margin:1em 0;width:100%}.customize-widgets-welcome-guide__separator{margin:1em 0}.customize-widgets-welcome-guide__more-info{line-height:1.4}#customize-theme-controls .customize-pane-child.customize-widgets__sidebar-section{background-color:#fff;min-height:100%;padding-top:12px!important}#customize-theme-controls .customize-pane-child.customize-widgets__sidebar-section.open{overflow:unset}#customize-theme-controls .customize-pane-child.customize-widgets__sidebar-section .customize-section-title{margin-top:-12px!important;position:static!important;width:unset!important}.components-modal__screen-overlay{z-index:999999}.customize-control-sidebar_block_editor,.customize-widgets-layout__inspector,.customize-widgets-popover{box-sizing:border-box}.customize-control-sidebar_block_editor *,.customize-control-sidebar_block_editor :after,.customize-control-sidebar_block_editor :before,.customize-widgets-layout__inspector *,.customize-widgets-layout__inspector :after,.customize-widgets-layout__inspector :before,.customize-widgets-popover *,.customize-widgets-popover :after,.customize-widgets-popover :before{box-sizing:inherit} \ No newline at end of file diff --git a/wp-includes/css/dist/edit-post/style-rtl.css b/wp-includes/css/dist/edit-post/style-rtl.css index bf99c6ea0d..cf445c6973 100644 --- a/wp-includes/css/dist/edit-post/style-rtl.css +++ b/wp-includes/css/dist/edit-post/style-rtl.css @@ -359,8 +359,7 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .interface-pinned-items{ display:flex; - gap:4px; - margin-left:-4px; + gap:8px; } .interface-pinned-items .components-button{ display:none; @@ -377,92 +376,6 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .interface-pinned-items .components-button{ display:flex; } - .interface-preferences-modal{ - height:calc(100% - 120px); - width:calc(100% - 32px); - } -} -@media (min-width:782px){ - .interface-preferences-modal{ - width:750px; - } -} -@media (min-width:960px){ - .interface-preferences-modal{ - height:70%; - } -} -@media (max-width:781px){ - .interface-preferences-modal .components-modal__content{ - padding:0; - } -} - -.interface-preferences__tabs .components-tab-panel__tabs{ - position:absolute; - right:16px; - top:84px; - width:160px; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{ - border-radius:2px; - font-weight:400; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{ - background:#f0f0f0; - box-shadow:none; - font-weight:500; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active:after{ - content:none; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled){ - box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); - outline:2px solid transparent; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus-visible:before{ - content:none; -} -.interface-preferences__tabs .components-tab-panel__tab-content{ - margin-right:160px; - padding-right:24px; -} - -@media (max-width:781px){ - .interface-preferences__provider{ - height:100%; - } -} -.interface-preferences-modal__section{ - margin:0 0 2.5rem; -} -.interface-preferences-modal__section:last-child{ - margin:0; -} - -.interface-preferences-modal__section-legend{ - margin-bottom:8px; -} - -.interface-preferences-modal__section-title{ - font-size:.9rem; - font-weight:600; - margin-top:0; -} - -.interface-preferences-modal__section-description{ - color:#757575; - font-size:12px; - font-style:normal; - margin:-8px 0 8px; -} - -.interface-preferences-modal__option+.interface-preferences-modal__option{ - margin-top:16px; -} -.interface-preferences-modal__option .components-base-control__help{ - margin-right:48px; - margin-top:0; } .edit-post-header{ @@ -471,6 +384,7 @@ body.is-fullscreen-mode .interface-interface-skeleton{ display:flex; flex-wrap:wrap; height:60px; + justify-content:space-between; max-width:100vw; } @media (min-width:280px){ @@ -488,8 +402,12 @@ body.is-fullscreen-mode .interface-interface-skeleton{ } .edit-post-header__toolbar{ + align-items:center; display:flex; - flex-grow:1; + flex-grow:3; + flex-shrink:8; + overflow:hidden; + padding:2px 0; } .edit-post-header__toolbar .table-of-contents{ display:none; @@ -499,46 +417,60 @@ body.is-fullscreen-mode .interface-interface-skeleton{ display:block; } } +.edit-post-header__toolbar .selected-block-tools-wrapper{ + display:flex; + overflow-x:hidden; +} +.edit-post-header__toolbar .selected-block-tools-wrapper .block-editor-block-contextual-toolbar{ + border-bottom:0; +} +.edit-post-header__toolbar .selected-block-tools-wrapper:after{ + background-color:#ddd; + content:""; + margin-bottom:12px; + margin-right:8px; + margin-top:12px; + width:1px; +} +.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar,.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar-group{ + border-left:none; +} +.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar-group:after,.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar:after{ + background-color:#ddd; + content:""; + margin-bottom:12px; + margin-right:8px; + margin-top:12px; + width:1px; +} +.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar .components-toolbar-group.components-toolbar-group:after,.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar-group .components-toolbar-group.components-toolbar-group:after,.edit-post-header__toolbar .selected-block-tools-wrapper.is-collapsed{ + display:none; +} + +.edit-post-header__block-tools-toggle{ + margin-right:2px; +} .edit-post-header__center{ display:flex; flex-grow:1; justify-content:center; } +.edit-post-header__center.is-collapsed{ + display:none; +} .edit-post-header__settings{ align-items:center; display:inline-flex; - flex-wrap:wrap; - gap:4px; + flex-wrap:nowrap; + gap:8px; padding-left:4px; } @media (min-width:600px){ .edit-post-header__settings{ - gap:8px; padding-left:10px; } } - -.edit-post-header-preview__grouping-external{ - display:flex; - padding-bottom:0; - position:relative; -} - -.edit-post-header-preview__button-external{ - display:flex; - justify-content:flex-start; - margin-left:auto; - padding-right:8px; - width:100%; -} -.edit-post-header-preview__button-external svg{ - margin-right:auto; -} - -.edit-post-post-preview-dropdown .components-popover__content{ - padding-bottom:0; -} .edit-post-header__dropdown .components-button.has-icon,.show-icon-labels .edit-post-header .components-button.has-icon,.show-icon-labels.interface-pinned-items .components-button.has-icon{ width:auto; } @@ -567,12 +499,12 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .edit-post-header__dropdown .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon,.show-icon-labels .edit-post-header .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon,.show-icon-labels.interface-pinned-items .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon{ display:block; } -.edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{ +.edit-post-header__dropdown .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{ padding-left:8px; padding-right:8px; } @media (min-width:600px){ - .edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{ + .edit-post-header__dropdown .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{ padding-left:12px; padding-right:12px; } @@ -581,6 +513,23 @@ body.is-fullscreen-mode .interface-interface-skeleton{ content:none; } +.show-icon-labels .edit-post-header__toolbar .block-editor-block-mover{ + border-right:none; +} +.show-icon-labels .edit-post-header__toolbar .block-editor-block-mover:before{ + background-color:#ddd; + content:""; + margin-bottom:12px; + margin-right:8px; + margin-top:12px; + width:1px; +} +.show-icon-labels .edit-post-header__toolbar .block-editor-block-mover .block-editor-block-mover__move-button-container:before{ + background:#ddd; + right:calc(50% + 1px); + width:calc(100% - 24px); +} + .edit-post-header__dropdown .components-button.block-editor-list-view,.edit-post-header__dropdown .components-button.editor-history__redo,.edit-post-header__dropdown .components-button.editor-history__undo,.edit-post-header__dropdown .components-menu-item__button.components-menu-item__button,.edit-post-header__dropdown .table-of-contents .components-button{ justify-content:flex-start; margin:0; @@ -612,6 +561,12 @@ body.is-fullscreen-mode .interface-interface-skeleton{ margin-left:8px; } +@media (min-width:600px){ + .edit-post-header__post-preview-button{ + display:none; + } +} + .is-distraction-free .interface-interface-skeleton__header{ border-bottom:none; } @@ -623,10 +578,10 @@ body.is-fullscreen-mode .interface-interface-skeleton{ position:absolute; width:100%; } -.is-distraction-free .edit-post-header>.edit-post-header__settings>.editor-post-preview{ +.is-distraction-free .edit-post-header>.edit-post-header__settings>.edit-post-header__post-preview-button{ visibility:hidden; } -.is-distraction-free .edit-post-header>.edit-post-header__settings>.block-editor-post-preview__dropdown,.is-distraction-free .edit-post-header>.edit-post-header__settings>.interface-pinned-items,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .edit-post-header-toolbar__document-overview-toggle,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .edit-post-header-toolbar__inserter-toggle{ +.is-distraction-free .edit-post-header>.edit-post-header__settings>.editor-preview-dropdown,.is-distraction-free .edit-post-header>.edit-post-header__settings>.interface-pinned-items,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .editor-document-tools__document-overview-toggle,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .editor-document-tools__inserter-toggle{ display:none; } .is-distraction-free .interface-interface-skeleton__header:focus-within{ @@ -701,157 +656,6 @@ body.is-fullscreen-mode .interface-interface-skeleton{ width:36px; } -.edit-post-header-toolbar{ - align-items:center; - border:none; - display:inline-flex; -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button{ - display:none; -} -@media (min-width:600px){ - .edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button{ - display:inline-flex; - } -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle{ - display:inline-flex; -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle svg{ - transition:transform .2s cubic-bezier(.165, .84, .44, 1); -} -@media (prefers-reduced-motion:reduce){ - .edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle svg{ - transition-delay:0s; - transition-duration:0s; - } -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.is-pressed svg{ - transform:rotate(-45deg); -} -.edit-post-header-toolbar .block-editor-list-view{ - display:none; -} -@media (min-width:600px){ - .edit-post-header-toolbar .block-editor-list-view{ - display:flex; - } -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon,.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon{ - height:36px; - min-width:36px; - padding:6px; -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon.is-pressed,.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon.is-pressed{ - background:#1e1e1e; -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon:focus:not(:disabled),.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon:focus:not(:disabled){ - box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 1px #fff; - outline:1px solid transparent; -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon:before,.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon:before{ - display:none; -} - -@media (min-width:600px){ - .edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-button,.edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-dropdown>[aria-expanded=false]{ - transition:opacity .1s linear; - } -} -@media (min-width:600px) and (prefers-reduced-motion:reduce){ - .edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-button,.edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-dropdown>[aria-expanded=false]{ - transition-delay:0s; - transition-duration:0s; - } -} -@media (min-width:600px){ - .edit-post-header.has-reduced-ui:not(:hover) .edit-post-header-toolbar__left>*+.components-button,.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header-toolbar__left>*+.components-dropdown>[aria-expanded=false]{ - opacity:0; - } -} - -.edit-post-header-toolbar__left{ - align-items:center; - display:inline-flex; - margin-left:8px; - padding-right:8px; -} -@media (min-width:600px){ - .edit-post-header-toolbar__left{ - padding-right:24px; - } -} -@media (min-width:1280px){ - .edit-post-header-toolbar__left{ - padding-left:8px; - } -} - -.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-icon{ - height:32px; - margin-left:8px; - min-width:32px; - padding:0; - width:32px; -} -.show-icon-labels .edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-icon{ - height:36px; - padding:0 8px; - width:auto; -} - -.show-icon-labels .edit-post-header-toolbar__left>*+*{ - margin-right:8px; -} - -.edit-post-document-actions{ - align-items:center; - background:#f0f0f0; - border-radius:4px; - display:flex; - gap:8px; - height:36px; - justify-content:space-between; - min-width:0; - width:min(100%, 450px); -} -.edit-post-document-actions .components-button:hover{ - background:#e0e0e0; - color:var(--wp-block-synced-color); -} - -.edit-post-document-actions__command,.edit-post-document-actions__title{ - color:var(--wp-block-synced-color); - flex-grow:1; - overflow:hidden; -} -.edit-post-document-actions__title:hover{ - color:var(--wp-block-synced-color); -} -.edit-post-document-actions__title .block-editor-block-icon{ - flex-shrink:0; -} -.edit-post-document-actions__title h1{ - color:var(--wp-block-synced-color); - overflow:hidden; - text-overflow:ellipsis; - white-space:nowrap; -} - -.edit-post-document-actions__shortcut{ - color:#2f2f2f; -} - -.edit-post-document-actions__back.components-button.has-icon.has-text{ - color:#757575; - flex-shrink:0; - gap:0; - min-width:36px; -} -.edit-post-document-actions__back.components-button.has-icon.has-text:hover{ - color:currentColor; -} - .edit-post-keyboard-shortcut-help-modal__section{ margin:0 0 2rem; } @@ -1023,86 +827,6 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar{ height:61px; } -@media (min-width:782px){ - .edit-post-layout.has-fixed-toolbar .interface-interface-skeleton__header:not(:focus-within){ - z-index:19; - } -} - -.edit-post-block-manager__no-results{ - font-style:italic; - padding:24px 0; - text-align:center; -} - -.edit-post-block-manager__search{ - margin:16px 0; -} - -.edit-post-block-manager__disabled-blocks-count{ - background-color:#fff; - border:1px solid #ddd; - border-width:1px 0; - box-shadow:32px 0 0 0 #fff,-32px 0 0 0 #fff; - padding:8px; - position:sticky; - text-align:center; - top:-1px; - z-index:2; -} -.edit-post-block-manager__disabled-blocks-count~.edit-post-block-manager__results .edit-post-block-manager__category-title{ - top:35px; -} -.edit-post-block-manager__disabled-blocks-count .is-link{ - margin-right:12px; -} - -.edit-post-block-manager__category{ - margin:0 0 24px; -} - -.edit-post-block-manager__category-title{ - background-color:#fff; - padding:16px 0; - position:sticky; - top:-4px; - z-index:1; -} -.edit-post-block-manager__category-title .components-checkbox-control__label{ - font-weight:600; -} - -.edit-post-block-manager__checklist{ - margin-top:0; -} - -.edit-post-block-manager__category-title,.edit-post-block-manager__checklist-item{ - border-bottom:1px solid #ddd; -} - -.edit-post-block-manager__checklist-item{ - align-items:center; - display:flex; - justify-content:space-between; - margin-bottom:0; - padding:8px 16px 8px 0; -} -.components-modal__content .edit-post-block-manager__checklist-item.components-checkbox-control__input-container{ - margin:0 8px; -} -.edit-post-block-manager__checklist-item .block-editor-block-icon{ - fill:#1e1e1e; - margin-left:10px; -} - -.edit-post-block-manager__results{ - border-top:1px solid #ddd; -} - -.edit-post-block-manager__disabled-blocks-count+.edit-post-block-manager__results{ - border-top-width:0; -} - .edit-post-meta-boxes-area{ position:relative; } @@ -1177,146 +901,13 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar{ .edit-post-meta-boxes-area__clear{ clear:both; } -.edit-post-editor__document-overview-panel,.edit-post-editor__inserter-panel{ - display:flex; - flex-direction:column; - height:100%; -} - -@media (min-width:782px){ - .edit-post-editor__document-overview-panel{ - width:350px; - } -} -.edit-post-editor__document-overview-panel .edit-post-editor__document-overview-panel__close-button{ - background:#fff; - left:8px; - position:absolute; - top:6px; - z-index:1; -} -.edit-post-editor__document-overview-panel .components-tab-panel__tabs{ - border-bottom:1px solid #ddd; - box-sizing:border-box; - display:flex; - padding-left:56px; - width:100%; -} -.edit-post-editor__document-overview-panel .components-tab-panel__tabs .edit-post-sidebar__panel-tab{ - margin-bottom:-1px; - width:50%; -} -.edit-post-editor__document-overview-panel .components-tab-panel__tab-content{ - height:calc(100% - 47px); -} - -.edit-post-editor__inserter-panel-header{ - display:flex; - justify-content:flex-end; - padding-left:8px; - padding-top:8px; -} - -.edit-post-editor__inserter-panel-content{ - height:calc(100% - 44px); -} -@media (min-width:782px){ - .edit-post-editor__inserter-panel-content{ - height:100%; - } -} - -.edit-post-editor__list-view-container>.document-outline,.edit-post-editor__list-view-empty-headings,.edit-post-editor__list-view-panel-content{ - height:100%; - overflow:auto; - padding:8px 6px; - scrollbar-color:transparent transparent; - scrollbar-gutter:stable both-edges; - scrollbar-gutter:auto; - scrollbar-width:thin; - will-change:transform; -} -.edit-post-editor__list-view-container>.document-outline::-webkit-scrollbar,.edit-post-editor__list-view-empty-headings::-webkit-scrollbar,.edit-post-editor__list-view-panel-content::-webkit-scrollbar{ - height:12px; - width:12px; -} -.edit-post-editor__list-view-container>.document-outline::-webkit-scrollbar-track,.edit-post-editor__list-view-empty-headings::-webkit-scrollbar-track,.edit-post-editor__list-view-panel-content::-webkit-scrollbar-track{ - background-color:transparent; -} -.edit-post-editor__list-view-container>.document-outline::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content::-webkit-scrollbar-thumb{ - background-clip:padding-box; - background-color:transparent; - border:3px solid transparent; - border-radius:8px; -} -.edit-post-editor__list-view-container>.document-outline:focus-within::-webkit-scrollbar-thumb,.edit-post-editor__list-view-container>.document-outline:focus::-webkit-scrollbar-thumb,.edit-post-editor__list-view-container>.document-outline:hover::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings:focus-within::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings:focus::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings:hover::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content:focus-within::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content:focus::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content:hover::-webkit-scrollbar-thumb{ - background-color:#949494; -} -.edit-post-editor__list-view-container>.document-outline:focus,.edit-post-editor__list-view-container>.document-outline:focus-within,.edit-post-editor__list-view-container>.document-outline:hover,.edit-post-editor__list-view-empty-headings:focus,.edit-post-editor__list-view-empty-headings:focus-within,.edit-post-editor__list-view-empty-headings:hover,.edit-post-editor__list-view-panel-content:focus,.edit-post-editor__list-view-panel-content:focus-within,.edit-post-editor__list-view-panel-content:hover{ - scrollbar-color:#949494 transparent; -} -@media (hover:none){ - .edit-post-editor__list-view-container>.document-outline,.edit-post-editor__list-view-empty-headings,.edit-post-editor__list-view-panel-content{ - scrollbar-color:#949494 transparent; - } -} - -.edit-post-editor__list-view-empty-headings{ - color:#757575; - text-align:center; -} -.edit-post-editor__list-view-empty-headings>svg{ - margin-top:28px; -} -.edit-post-editor__list-view-empty-headings>p{ - padding-left:32px; - padding-right:32px; -} - -.edit-post-editor__list-view-overview{ - border-bottom:1px solid #ddd; - display:flex; - flex-direction:column; - gap:8px; - padding:16px; -} -.edit-post-editor__list-view-overview>div>span:first-child{ - display:inline-block; - width:90px; -} -.edit-post-editor__list-view-overview>div>span{ - color:#757575; - font-size:12px; - line-height:1.4; -} - -.edit-post-editor__list-view-container{ - display:flex; - flex-direction:column; - height:100%; -} - -.edit-post-editor__document-overview-panel__tab-panel{ - height:100%; -} .components-panel__header.edit-post-sidebar__panel-tabs{ - border-top:0; - justify-content:flex-start; - margin-top:0; padding-left:16px; padding-right:0; } -.components-panel__header.edit-post-sidebar__panel-tabs ul{ - display:flex; -} -.components-panel__header.edit-post-sidebar__panel-tabs li{ - margin:0; -} .components-panel__header.edit-post-sidebar__panel-tabs .components-button.has-icon{ - display:none; height:24px; - margin:0 auto 0 0; min-width:24px; padding:0; } @@ -1326,197 +917,21 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar{ } } -.components-panel__body.is-opened.edit-post-last-revision__panel{ - height:48px; - padding:0; +.edit-post-sidebar__panel{ + margin-top:-1px; } -.editor-post-last-revision__title.components-button{ - padding:16px; -} - -.edit-post-post-author,.edit-post-post-format{ +.edit-post-post-format,.edit-post-post-slug{ align-items:stretch; display:flex; flex-direction:column; } -.edit-post-post-schedule{ - align-items:flex-start; - justify-content:flex-start; - position:relative; - width:100%; -} -.edit-post-post-schedule span{ - display:block; - flex-shrink:0; - padding:6px 0; - width:45%; -} - -.components-button.edit-post-post-schedule__toggle{ - height:auto; - text-align:right; - white-space:normal; -} -.components-button.edit-post-post-schedule__toggle span{ - width:0; -} - -.edit-post-post-schedule__dialog .block-editor-publish-date-time-picker{ - margin:8px; -} - -.edit-post-post-slug{ - align-items:stretch; - display:flex; - flex-direction:column; -} - -.edit-post-post-status .edit-post-post-publish-dropdown__switch-to-draft{ - margin-top:15px; - text-align:center; - width:100%; -} - -.edit-post-post-template{ - justify-content:flex-start; - width:100%; -} -.edit-post-post-template span{ - display:block; - padding:6px 0; - width:45%; -} - -.edit-post-post-template__dropdown{ - max-width:55%; -} - -.components-button.edit-post-post-template__toggle{ - display:inline-block; - overflow:hidden; - text-overflow:ellipsis; - width:100%; -} - -.edit-post-post-template__dialog{ - z-index:99999; -} - -.edit-post-post-template__form{ - margin:8px; - min-width:248px; -} - -@media (min-width:782px){ - .edit-post-post-template__create-form{ - width:320px; - } -} - -.edit-post-post-url{ - align-items:flex-start; - justify-content:flex-start; - width:100%; -} -.edit-post-post-url span{ - display:block; - flex-shrink:0; - padding:6px 0; - width:45%; -} - -.components-button.edit-post-post-url__toggle{ - height:auto; - text-align:right; - white-space:normal; - word-break:break-word; -} - -.edit-post-post-url__dialog .editor-post-url{ - margin:8px; - min-width:248px; -} - -.edit-post-post-visibility{ - justify-content:flex-start; - width:100%; -} -.edit-post-post-visibility span{ - display:block; - padding:6px 0; - width:45%; -} - .edit-post-post-visibility__dialog .editor-post-visibility{ margin:8px; min-width:248px; } -.components-button.edit-post-sidebar__panel-tab{ - background:transparent; - border:none; - border-radius:0; - box-shadow:none; - cursor:pointer; - font-weight:500; - height:48px; - margin-right:0; - padding:3px 16px; - position:relative; -} -.components-button.edit-post-sidebar__panel-tab:focus:not(:disabled){ - box-shadow:none; - outline:none; - position:relative; -} -.components-button.edit-post-sidebar__panel-tab:after{ - background:var(--wp-admin-theme-color); - border-radius:0; - bottom:0; - content:""; - height:calc(var(--wp-admin-border-width-focus)*0); - left:0; - pointer-events:none; - position:absolute; - right:0; - transition:all .1s linear; -} -@media (prefers-reduced-motion:reduce){ - .components-button.edit-post-sidebar__panel-tab:after{ - transition-delay:0s; - transition-duration:0s; - } -} -.components-button.edit-post-sidebar__panel-tab.is-active:after{ - height:calc(var(--wp-admin-border-width-focus)*1); - outline:2px solid transparent; - outline-offset:-1px; -} -.components-button.edit-post-sidebar__panel-tab:before{ - border-radius:2px; - bottom:12px; - box-shadow:0 0 0 0 transparent; - content:""; - left:12px; - pointer-events:none; - position:absolute; - right:12px; - top:12px; - transition:all .1s linear; -} -@media (prefers-reduced-motion:reduce){ - .components-button.edit-post-sidebar__panel-tab:before{ - transition-delay:0s; - transition-duration:0s; - } -} -.components-button.edit-post-sidebar__panel-tab:focus-visible:before{ - box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); - outline:2px solid transparent; -} - h2.edit-post-template-summary__title{ font-weight:500; line-height:24px; @@ -1529,8 +944,9 @@ h2.edit-post-template-summary__title{ position:relative; width:100%; } -.edit-post-text-editor .editor-post-title{ +.edit-post-text-editor .editor-post-title.is-raw-text textarea,.edit-post-text-editor .editor-post-title:not(.is-raw-text){ border:1px solid #949494; + border-radius:0; font-family:Menlo,Consolas,monaco,monospace; font-size:2.5em; font-weight:400; @@ -1539,11 +955,11 @@ h2.edit-post-template-summary__title{ padding:16px; } @media (min-width:600px){ - .edit-post-text-editor .editor-post-title{ + .edit-post-text-editor .editor-post-title.is-raw-text textarea,.edit-post-text-editor .editor-post-title:not(.is-raw-text){ padding:24px; } } -.edit-post-text-editor .editor-post-title:focus{ +.edit-post-text-editor .editor-post-title.is-raw-text textarea:focus,.edit-post-text-editor .editor-post-title:not(.is-raw-text):focus{ border-color:var(--wp-admin-theme-color); box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); } @@ -1587,9 +1003,6 @@ h2.edit-post-template-summary__title{ line-height:36px; margin:0 0 0 auto; } -.edit-post-text-editor__toolbar .components-button svg{ - order:1; -} .edit-post-visual-editor{ background-color:#1e1e1e; @@ -1606,19 +1019,10 @@ h2.edit-post-template-summary__title{ font-size:13px; padding:6px 12px; } -.edit-post-visual-editor .components-button.has-icon,.edit-post-visual-editor .components-button.is-tertiary{ +.edit-post-visual-editor .components-button.has-icon{ padding:6px; } -.edit-post-visual-editor__post-title-wrapper{ - margin-bottom:var(--wp--style--block-gap); - margin-top:4rem; -} -.edit-post-visual-editor__post-title-wrapper .editor-post-title{ - margin-left:auto; - margin-right:auto; -} - .edit-post-visual-editor__content-area{ box-sizing:border-box; display:flex; @@ -1628,83 +1032,6 @@ h2.edit-post-template-summary__title{ width:100%; } -.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:0; -} -@media (min-width:783px){ - .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:160px; - } -} -@media (min-width:783px){ - .auto-fold .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:36px; - } -} -@media (min-width:961px){ - .auto-fold .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:160px; - } -} -.folded .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:0; -} -@media (min-width:783px){ - .folded .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:36px; - } -} - -body.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:0 !important; -} - -.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - display:block; - position:sticky; - top:0; - width:100%; - z-index:31; -} -@media (min-width:782px){ - .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - align-items:center; - border-bottom:none; - display:flex; - height:60px; - margin-right:180px; - min-height:auto; - position:fixed; - top:32px; - width:calc(100% - 180px); - } - .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{ - width:auto; - } - .is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-right:240px; - top:0; - } - .is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{ - width:auto; - } - .show-icon-labels .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-right:80px; - width:calc(100% - 140px); - } - .is-fullscreen-mode .show-icon-labels .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-right:144px; - } -} -@media (min-width:960px){ - .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed,.show-icon-labels .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - width:auto; - } - .is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - width:calc(100% - 536px); - } -} - .edit-post-welcome-guide,.edit-template-welcome-guide{ width:312px; } @@ -1804,10 +1131,10 @@ body.js.block-editor-page .media-frame select.attachment-filters:last-of-type{ } } -.components-modal__frame,.components-popover,.edit-post-editor__inserter-panel,.edit-post-header,.edit-post-sidebar,.edit-post-text-editor,.editor-post-publish-panel{ +.components-modal__frame,.components-popover,.edit-post-header,.edit-post-sidebar,.edit-post-text-editor,.editor-post-publish-panel{ box-sizing:border-box; } -.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before,.components-popover *,.components-popover :after,.components-popover :before,.edit-post-editor__inserter-panel *,.edit-post-editor__inserter-panel :after,.edit-post-editor__inserter-panel :before,.edit-post-header *,.edit-post-header :after,.edit-post-header :before,.edit-post-sidebar *,.edit-post-sidebar :after,.edit-post-sidebar :before,.edit-post-text-editor *,.edit-post-text-editor :after,.edit-post-text-editor :before,.editor-post-publish-panel *,.editor-post-publish-panel :after,.editor-post-publish-panel :before{ +.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before,.components-popover *,.components-popover :after,.components-popover :before,.edit-post-header *,.edit-post-header :after,.edit-post-header :before,.edit-post-sidebar *,.edit-post-sidebar :after,.edit-post-sidebar :before,.edit-post-text-editor *,.edit-post-text-editor :after,.edit-post-text-editor :before,.editor-post-publish-panel *,.editor-post-publish-panel :after,.editor-post-publish-panel :before{ box-sizing:inherit; } diff --git a/wp-includes/css/dist/edit-post/style-rtl.min.css b/wp-includes/css/dist/edit-post/style-rtl.min.css index 1a8dbf81f1..b1c6c65966 100644 --- a/wp-includes/css/dist/edit-post/style-rtl.min.css +++ b/wp-includes/css/dist/edit-post/style-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-panel__header.interface-complementary-area-header__small{background:#fff;padding-left:4px}.components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:782px){.components-panel__header.interface-complementary-area-header__small{display:none}}.interface-complementary-area-header{background:#fff;padding-left:4px}.interface-complementary-area-header .components-button.has-icon{display:none;margin-right:auto}.interface-complementary-area-header .components-button.has-icon~.components-button{margin-right:0}@media (min-width:782px){.interface-complementary-area-header .components-button.has-icon{display:flex}.components-panel__header+.interface-complementary-area-header{margin-top:0}}.interface-complementary-area{background:#fff;color:#1e1e1e}@media (min-width:600px){.interface-complementary-area{-webkit-overflow-scrolling:touch}}@media (min-width:782px){.interface-complementary-area{width:280px}}.interface-complementary-area .components-panel{border:none;position:relative;z-index:0}.interface-complementary-area .components-panel__header{position:sticky;top:0;z-index:1}.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:48px}@media (min-width:782px){.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:0}}.interface-complementary-area p:not(.components-base-control__help){margin-top:0}.interface-complementary-area h2{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.interface-complementary-area h3{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.interface-complementary-area hr{border-bottom:1px solid #f0f0f0;border-top:none;margin:1.5em 0}.interface-complementary-area div.components-toolbar,.interface-complementary-area div.components-toolbar-group{box-shadow:none;margin-bottom:1.5em}.interface-complementary-area div.components-toolbar-group:last-child,.interface-complementary-area div.components-toolbar:last-child{margin-bottom:0}.interface-complementary-area .block-editor-skip-to-selected-block:focus{bottom:10px;left:10px;right:auto;top:auto}@media (min-width:782px){body.js.is-fullscreen-mode{height:calc(100% + 32px);margin-top:-32px}body.js.is-fullscreen-mode #adminmenumain,body.js.is-fullscreen-mode #wpadminbar{display:none}body.js.is-fullscreen-mode #wpcontent,body.js.is-fullscreen-mode #wpfooter{margin-right:0}}html.interface-interface-skeleton__html-container{position:fixed;width:100%}@media (min-width:782px){html.interface-interface-skeleton__html-container{position:static;width:auto}}.interface-interface-skeleton{bottom:0;display:flex;flex-direction:row;height:auto;left:0;max-height:100%;position:fixed;top:46px}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden}.interface-interface-skeleton{right:0}@media (min-width:783px){.interface-interface-skeleton{right:160px}}@media (min-width:783px){.auto-fold .interface-interface-skeleton{right:36px}}@media (min-width:961px){.auto-fold .interface-interface-skeleton{right:160px}}.folded .interface-interface-skeleton{right:0}@media (min-width:783px){.folded .interface-interface-skeleton{right:36px}}body.is-fullscreen-mode .interface-interface-skeleton{right:0!important}.interface-interface-skeleton__body{display:flex;flex-grow:1;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;z-index:20}@media (min-width:782px){.interface-interface-skeleton__content{z-index:auto}}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{background:#fff;bottom:0;color:#1e1e1e;flex-shrink:0;left:0;position:absolute;right:0;top:0;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;width:auto}.is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,.is-sidebar-opened .interface-interface-skeleton__sidebar{z-index:90}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-right:1px solid #e0e0e0}.interface-interface-skeleton__secondary-sidebar{border-left:1px solid #e0e0e0}}.interface-interface-skeleton__header{border-bottom:1px solid #e0e0e0;color:#1e1e1e;flex-shrink:0;height:auto;z-index:30}.interface-interface-skeleton__footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;color:#1e1e1e;display:none;flex-shrink:0;height:auto;position:absolute;right:0;width:100%;z-index:90}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{align-items:center;background:#fff;display:flex;font-size:13px;height:24px;padding:0 18px;z-index:30}.interface-interface-skeleton__actions{background:#fff;bottom:auto;color:#1e1e1e;left:0;position:fixed!important;right:auto;top:-9999em;width:100vw;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__actions{width:280px}}.interface-interface-skeleton__actions:focus,.interface-interface-skeleton__actions:focus-within{bottom:0;top:auto}.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:46px}@media (min-width:782px){.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{border-right:1px solid #ddd;top:32px}.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:0}}.interface-more-menu-dropdown{margin-right:-4px}.interface-more-menu-dropdown .components-button{padding:0 2px;width:auto}@media (min-width:600px){.interface-more-menu-dropdown{margin-right:0}.interface-more-menu-dropdown .components-button{padding:0 4px}}.interface-more-menu-dropdown__content .components-popover__content{min-width:280px}@media (min-width:480px){.interface-more-menu-dropdown__content .components-popover__content{max-width:480px}}.interface-more-menu-dropdown__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.interface-more-menu-dropdown__content{z-index:99998}.interface-pinned-items{display:flex;gap:4px;margin-left:-4px}.interface-pinned-items .components-button{display:none;margin:0}.interface-pinned-items .components-button[aria-controls="edit-post:block"],.interface-pinned-items .components-button[aria-controls="edit-post:document"],.interface-pinned-items .components-button[aria-controls="edit-site:block-inspector"],.interface-pinned-items .components-button[aria-controls="edit-site:global-styles"],.interface-pinned-items .components-button[aria-controls="edit-site:template"]{display:flex}.interface-pinned-items .components-button svg{max-height:24px;max-width:24px}@media (min-width:600px){.interface-pinned-items .components-button{display:flex}.interface-preferences-modal{height:calc(100% - 120px);width:calc(100% - 32px)}}@media (min-width:782px){.interface-preferences-modal{width:750px}}@media (min-width:960px){.interface-preferences-modal{height:70%}}@media (max-width:781px){.interface-preferences-modal .components-modal__content{padding:0}}.interface-preferences__tabs .components-tab-panel__tabs{position:absolute;right:16px;top:84px;width:160px}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{border-radius:2px;font-weight:400}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{background:#f0f0f0;box-shadow:none;font-weight:500}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active:after{content:none}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus-visible:before{content:none}.interface-preferences__tabs .components-tab-panel__tab-content{margin-right:160px;padding-right:24px}@media (max-width:781px){.interface-preferences__provider{height:100%}}.interface-preferences-modal__section{margin:0 0 2.5rem}.interface-preferences-modal__section:last-child{margin:0}.interface-preferences-modal__section-legend{margin-bottom:8px}.interface-preferences-modal__section-title{font-size:.9rem;font-weight:600;margin-top:0}.interface-preferences-modal__section-description{color:#757575;font-size:12px;font-style:normal;margin:-8px 0 8px}.interface-preferences-modal__option+.interface-preferences-modal__option{margin-top:16px}.interface-preferences-modal__option .components-base-control__help{margin-right:48px;margin-top:0}.edit-post-header{align-items:center;background:#fff;display:flex;flex-wrap:wrap;height:60px;max-width:100vw}@media (min-width:280px){.edit-post-header{flex-wrap:nowrap}}.edit-post-header>.edit-post-header__settings{order:1}@supports (position:sticky){.edit-post-header>.edit-post-header__settings{order:0}}.edit-post-header__toolbar{display:flex;flex-grow:1}.edit-post-header__toolbar .table-of-contents{display:none}@media (min-width:600px){.edit-post-header__toolbar .table-of-contents{display:block}}.edit-post-header__center{display:flex;flex-grow:1;justify-content:center}.edit-post-header__settings{align-items:center;display:inline-flex;flex-wrap:wrap;gap:4px;padding-left:4px}@media (min-width:600px){.edit-post-header__settings{gap:8px;padding-left:10px}}.edit-post-header-preview__grouping-external{display:flex;padding-bottom:0;position:relative}.edit-post-header-preview__button-external{display:flex;justify-content:flex-start;margin-left:auto;padding-right:8px;width:100%}.edit-post-header-preview__button-external svg{margin-right:auto}.edit-post-post-preview-dropdown .components-popover__content{padding-bottom:0}.edit-post-header__dropdown .components-button.has-icon,.show-icon-labels .edit-post-header .components-button.has-icon,.show-icon-labels.interface-pinned-items .components-button.has-icon{width:auto}.edit-post-header__dropdown .components-button.has-icon svg,.show-icon-labels .edit-post-header .components-button.has-icon svg,.show-icon-labels.interface-pinned-items .components-button.has-icon svg{display:none}.edit-post-header__dropdown .components-button.has-icon:after,.show-icon-labels .edit-post-header .components-button.has-icon:after,.show-icon-labels.interface-pinned-items .components-button.has-icon:after{content:attr(aria-label)}.edit-post-header__dropdown .components-button.has-icon[aria-disabled=true],.show-icon-labels .edit-post-header .components-button.has-icon[aria-disabled=true],.show-icon-labels.interface-pinned-items .components-button.has-icon[aria-disabled=true]{background-color:transparent}.edit-post-header__dropdown .is-tertiary:active,.show-icon-labels .edit-post-header .is-tertiary:active,.show-icon-labels.interface-pinned-items .is-tertiary:active{background-color:transparent;box-shadow:0 0 0 1.5px var(--wp-admin-theme-color)}.edit-post-header__dropdown .components-button.has-icon.button-toggle svg,.edit-post-header__dropdown .edit-post-fullscreen-mode-close.has-icon svg,.show-icon-labels .edit-post-header .components-button.has-icon.button-toggle svg,.show-icon-labels .edit-post-header .edit-post-fullscreen-mode-close.has-icon svg,.show-icon-labels.interface-pinned-items .components-button.has-icon.button-toggle svg,.show-icon-labels.interface-pinned-items .edit-post-fullscreen-mode-close.has-icon svg{display:block}.edit-post-header__dropdown .components-button.has-icon.button-toggle:after,.edit-post-header__dropdown .edit-post-fullscreen-mode-close.has-icon:after,.show-icon-labels .edit-post-header .components-button.has-icon.button-toggle:after,.show-icon-labels .edit-post-header .edit-post-fullscreen-mode-close.has-icon:after,.show-icon-labels.interface-pinned-items .components-button.has-icon.button-toggle:after,.show-icon-labels.interface-pinned-items .edit-post-fullscreen-mode-close.has-icon:after{content:none}.edit-post-header__dropdown .edit-post-fullscreen-mode-close.has-icon,.show-icon-labels .edit-post-header .edit-post-fullscreen-mode-close.has-icon,.show-icon-labels.interface-pinned-items .edit-post-fullscreen-mode-close.has-icon{width:60px}.edit-post-header__dropdown .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon,.show-icon-labels .edit-post-header .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon,.show-icon-labels.interface-pinned-items .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon{display:block}.edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{padding-left:8px;padding-right:8px}@media (min-width:600px){.edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{padding-left:12px;padding-right:12px}}.edit-post-header__dropdown .editor-post-save-draft.editor-post-save-draft:after,.edit-post-header__dropdown .editor-post-saved-state.editor-post-saved-state:after,.show-icon-labels .edit-post-header .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels .edit-post-header .editor-post-saved-state.editor-post-saved-state:after,.show-icon-labels.interface-pinned-items .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels.interface-pinned-items .editor-post-saved-state.editor-post-saved-state:after{content:none}.edit-post-header__dropdown .components-button.block-editor-list-view,.edit-post-header__dropdown .components-button.editor-history__redo,.edit-post-header__dropdown .components-button.editor-history__undo,.edit-post-header__dropdown .components-menu-item__button.components-menu-item__button,.edit-post-header__dropdown .table-of-contents .components-button{justify-content:flex-start;margin:0;padding:6px 40px 6px 6px;text-align:right;width:14.625rem}.show-icon-labels.interface-pinned-items{border-bottom:1px solid #ccc;display:block;margin:0 -12px;padding:6px 12px 12px}.show-icon-labels.interface-pinned-items>.components-button.has-icon{justify-content:flex-start;margin:0;padding:6px 8px 6px 6px;width:14.625rem}.show-icon-labels.interface-pinned-items>.components-button.has-icon[aria-expanded=true] svg{display:block;max-width:24px}.show-icon-labels.interface-pinned-items>.components-button.has-icon[aria-expanded=false]{padding-right:40px}.show-icon-labels.interface-pinned-items>.components-button.has-icon svg{margin-left:8px}.is-distraction-free .interface-interface-skeleton__header{border-bottom:none}.is-distraction-free .edit-post-header{-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;background-color:hsla(0,0%,100%,.9);border-bottom:1px solid #e0e0e0;position:absolute;width:100%}.is-distraction-free .edit-post-header>.edit-post-header__settings>.editor-post-preview{visibility:hidden}.is-distraction-free .edit-post-header>.edit-post-header__settings>.block-editor-post-preview__dropdown,.is-distraction-free .edit-post-header>.edit-post-header__settings>.interface-pinned-items,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .edit-post-header-toolbar__document-overview-toggle,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .edit-post-header-toolbar__inserter-toggle{display:none}.is-distraction-free .interface-interface-skeleton__header:focus-within{opacity:1!important}.is-distraction-free .interface-interface-skeleton__header:focus-within div{transform:translateX(0) translateZ(0)!important}.is-distraction-free .components-editor-notices__dismissible{position:absolute;z-index:35}.edit-post-fullscreen-mode-close.components-button{display:none}@media (min-width:782px){.edit-post-fullscreen-mode-close.components-button{align-items:center;align-self:stretch;background:#1e1e1e;border:none;border-radius:0;color:#fff;display:flex;height:61px;margin-bottom:-1px;position:relative;width:60px}.edit-post-fullscreen-mode-close.components-button:active{color:#fff}.edit-post-fullscreen-mode-close.components-button:focus{box-shadow:none}.edit-post-fullscreen-mode-close.components-button:before{border-radius:4px;bottom:10px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #1e1e1e;content:"";display:block;left:9px;position:absolute;right:9px;top:9px;transition:box-shadow .1s ease}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-fullscreen-mode-close.components-button:before{transition-delay:0s;transition-duration:0s}}@media (min-width:782px){.edit-post-fullscreen-mode-close.components-button:hover:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #757575}.edit-post-fullscreen-mode-close.components-button.has-icon:hover:before{box-shadow:none}.edit-post-fullscreen-mode-close.components-button:focus:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) hsla(0,0%,100%,.1),inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}}.edit-post-fullscreen-mode-close.components-button .edit-post-fullscreen-mode-close_site-icon{border-radius:2px;height:36px;margin-top:-1px;object-fit:cover;width:36px}.edit-post-header-toolbar{align-items:center;border:none;display:inline-flex}.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button{display:none}@media (min-width:600px){.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button{display:inline-flex}}.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle{display:inline-flex}.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle svg{transition:transform .2s cubic-bezier(.165,.84,.44,1)}@media (prefers-reduced-motion:reduce){.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle svg{transition-delay:0s;transition-duration:0s}}.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.is-pressed svg{transform:rotate(-45deg)}.edit-post-header-toolbar .block-editor-list-view{display:none}@media (min-width:600px){.edit-post-header-toolbar .block-editor-list-view{display:flex}}.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon,.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon{height:36px;min-width:36px;padding:6px}.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon.is-pressed,.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon.is-pressed{background:#1e1e1e}.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon:focus:not(:disabled),.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 1px #fff;outline:1px solid transparent}.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon:before,.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon:before{display:none}@media (min-width:600px){.edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-button,.edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-dropdown>[aria-expanded=false]{transition:opacity .1s linear}}@media (min-width:600px) and (prefers-reduced-motion:reduce){.edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-button,.edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-dropdown>[aria-expanded=false]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header-toolbar__left>*+.components-button,.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header-toolbar__left>*+.components-dropdown>[aria-expanded=false]{opacity:0}}.edit-post-header-toolbar__left{align-items:center;display:inline-flex;margin-left:8px;padding-right:8px}@media (min-width:600px){.edit-post-header-toolbar__left{padding-right:24px}}@media (min-width:1280px){.edit-post-header-toolbar__left{padding-left:8px}}.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-icon{height:32px;margin-left:8px;min-width:32px;padding:0;width:32px}.show-icon-labels .edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-icon{height:36px;padding:0 8px;width:auto}.show-icon-labels .edit-post-header-toolbar__left>*+*{margin-right:8px}.edit-post-document-actions{align-items:center;background:#f0f0f0;border-radius:4px;display:flex;gap:8px;height:36px;justify-content:space-between;min-width:0;width:min(100%,450px)}.edit-post-document-actions .components-button:hover{background:#e0e0e0;color:var(--wp-block-synced-color)}.edit-post-document-actions__command,.edit-post-document-actions__title{color:var(--wp-block-synced-color);flex-grow:1;overflow:hidden}.edit-post-document-actions__title:hover{color:var(--wp-block-synced-color)}.edit-post-document-actions__title .block-editor-block-icon{flex-shrink:0}.edit-post-document-actions__title h1{color:var(--wp-block-synced-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-post-document-actions__shortcut{color:#2f2f2f}.edit-post-document-actions__back.components-button.has-icon.has-text{color:#757575;flex-shrink:0;gap:0;min-width:36px}.edit-post-document-actions__back.components-button.has-icon.has-text:hover{color:currentColor}.edit-post-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-post-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-post-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.edit-post-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.edit-post-keyboard-shortcut-help-modal__shortcut:empty{display:none}.edit-post-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 1rem 0 0;text-align:left}.edit-post-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination+.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.edit-post-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.edit-post-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.edit-post-layout__metaboxes{clear:both;flex-shrink:0}.edit-post-layout .components-editor-notices__snackbar{bottom:40px;left:0;padding-left:16px;padding-right:16px;position:fixed}.is-distraction-free .components-editor-notices__snackbar{bottom:20px}.edit-post-layout .components-editor-notices__snackbar{right:0}@media (min-width:783px){.edit-post-layout .components-editor-notices__snackbar{right:160px}}@media (min-width:783px){.auto-fold .edit-post-layout .components-editor-notices__snackbar{right:36px}}@media (min-width:961px){.auto-fold .edit-post-layout .components-editor-notices__snackbar{right:160px}}.folded .edit-post-layout .components-editor-notices__snackbar{right:0}@media (min-width:783px){.folded .edit-post-layout .components-editor-notices__snackbar{right:36px}}body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar{right:0!important}.edit-post-layout .editor-post-publish-panel{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:46px;z-index:100001}@media (min-width:782px){.edit-post-layout .editor-post-publish-panel{animation:edit-post-post-publish-panel__slide-in-animation .1s forwards;border-right:1px solid #ddd;right:auto;top:32px;transform:translateX(-100%);width:281px;z-index:99998}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-layout .editor-post-publish-panel{animation-delay:0s;animation-duration:1ms}}@media (min-width:782px){body.is-fullscreen-mode .edit-post-layout .editor-post-publish-panel{top:0}[role=region]:focus .edit-post-layout .editor-post-publish-panel{transform:translateX(0)}}@keyframes edit-post-post-publish-panel__slide-in-animation{to{transform:translateX(0)}}.edit-post-layout .editor-post-publish-panel__header-publish-button{justify-content:center}.edit-post-layout__toggle-entities-saved-states-panel,.edit-post-layout__toggle-publish-panel,.edit-post-layout__toggle-sidebar-panel{background-color:#fff;border:1px dotted #ddd;bottom:auto;box-sizing:border-box;display:flex;height:auto!important;justify-content:center;left:0;padding:24px;position:fixed!important;right:auto;top:-9999em;width:280px;z-index:100000}.interface-interface-skeleton__sidebar:focus .edit-post-layout__toggle-sidebar-panel,.interface-interface-skeleton__sidebar:focus-within .edit-post-layout__toggle-sidebar-panel{bottom:0;top:auto}.interface-interface-skeleton__actions:focus .edit-post-layout__toggle-entities-saved-states-panel,.interface-interface-skeleton__actions:focus .edit-post-layout__toggle-publish-panel,.interface-interface-skeleton__actions:focus-within .edit-post-layout__toggle-entities-saved-states-panel,.interface-interface-skeleton__actions:focus-within .edit-post-layout__toggle-publish-panel{bottom:0;top:auto}.edit-post-layout .entities-saved-states__panel-header{height:61px}@media (min-width:782px){.edit-post-layout.has-fixed-toolbar .interface-interface-skeleton__header:not(:focus-within){z-index:19}}.edit-post-block-manager__no-results{font-style:italic;padding:24px 0;text-align:center}.edit-post-block-manager__search{margin:16px 0}.edit-post-block-manager__disabled-blocks-count{background-color:#fff;border:1px solid #ddd;border-width:1px 0;box-shadow:32px 0 0 0 #fff,-32px 0 0 0 #fff;padding:8px;position:sticky;text-align:center;top:-1px;z-index:2}.edit-post-block-manager__disabled-blocks-count~.edit-post-block-manager__results .edit-post-block-manager__category-title{top:35px}.edit-post-block-manager__disabled-blocks-count .is-link{margin-right:12px}.edit-post-block-manager__category{margin:0 0 24px}.edit-post-block-manager__category-title{background-color:#fff;padding:16px 0;position:sticky;top:-4px;z-index:1}.edit-post-block-manager__category-title .components-checkbox-control__label{font-weight:600}.edit-post-block-manager__checklist{margin-top:0}.edit-post-block-manager__category-title,.edit-post-block-manager__checklist-item{border-bottom:1px solid #ddd}.edit-post-block-manager__checklist-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:0;padding:8px 16px 8px 0}.components-modal__content .edit-post-block-manager__checklist-item.components-checkbox-control__input-container{margin:0 8px}.edit-post-block-manager__checklist-item .block-editor-block-icon{fill:#1e1e1e;margin-left:10px}.edit-post-block-manager__results{border-top:1px solid #ddd}.edit-post-block-manager__disabled-blocks-count+.edit-post-block-manager__results{border-top-width:0}.edit-post-meta-boxes-area{position:relative}.edit-post-meta-boxes-area .inside,.edit-post-meta-boxes-area__container{box-sizing:content-box}.edit-post-meta-boxes-area input,.edit-post-meta-boxes-area textarea{box-sizing:border-box}.edit-post-meta-boxes-area .postbox-header{border-bottom:0;border-top:1px solid #ddd}.edit-post-meta-boxes-area #poststuff{margin:0 auto;min-width:auto;padding-top:0}.edit-post-meta-boxes-area #poststuff .stuffbox>h3,.edit-post-meta-boxes-area #poststuff h2.hndle,.edit-post-meta-boxes-area #poststuff h3.hndle{box-sizing:border-box;color:inherit;font-weight:600;outline:none;padding:0 24px;position:relative;width:100%}.edit-post-meta-boxes-area .postbox{border:0;color:inherit;margin-bottom:0}.edit-post-meta-boxes-area .postbox>.inside{color:inherit;margin:0;padding:0 24px 24px}.edit-post-meta-boxes-area .postbox .handlediv{height:44px;width:44px}.edit-post-meta-boxes-area.is-loading:before{background:transparent;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.edit-post-meta-boxes-area .components-spinner{left:20px;position:absolute;top:10px;z-index:5}.edit-post-meta-boxes-area .is-hidden{display:none}.edit-post-meta-boxes-area .metabox-location-side .postbox input[type=checkbox]{border:1px solid #757575}.edit-post-meta-boxes-area .metabox-location-side .postbox input[type=checkbox]:checked{background:#fff;border-color:#757575}.edit-post-meta-boxes-area .metabox-location-side .postbox input[type=checkbox]:before{margin:-3px -4px}.edit-post-meta-boxes-area__clear{clear:both}.edit-post-editor__document-overview-panel,.edit-post-editor__inserter-panel{display:flex;flex-direction:column;height:100%}@media (min-width:782px){.edit-post-editor__document-overview-panel{width:350px}}.edit-post-editor__document-overview-panel .edit-post-editor__document-overview-panel__close-button{background:#fff;left:8px;position:absolute;top:6px;z-index:1}.edit-post-editor__document-overview-panel .components-tab-panel__tabs{border-bottom:1px solid #ddd;box-sizing:border-box;display:flex;padding-left:56px;width:100%}.edit-post-editor__document-overview-panel .components-tab-panel__tabs .edit-post-sidebar__panel-tab{margin-bottom:-1px;width:50%}.edit-post-editor__document-overview-panel .components-tab-panel__tab-content{height:calc(100% - 47px)}.edit-post-editor__inserter-panel-header{display:flex;justify-content:flex-end;padding-left:8px;padding-top:8px}.edit-post-editor__inserter-panel-content{height:calc(100% - 44px)}@media (min-width:782px){.edit-post-editor__inserter-panel-content{height:100%}}.edit-post-editor__list-view-container>.document-outline,.edit-post-editor__list-view-empty-headings,.edit-post-editor__list-view-panel-content{height:100%;overflow:auto;padding:8px 6px;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-gutter:auto;scrollbar-width:thin;will-change:transform}.edit-post-editor__list-view-container>.document-outline::-webkit-scrollbar,.edit-post-editor__list-view-empty-headings::-webkit-scrollbar,.edit-post-editor__list-view-panel-content::-webkit-scrollbar{height:12px;width:12px}.edit-post-editor__list-view-container>.document-outline::-webkit-scrollbar-track,.edit-post-editor__list-view-empty-headings::-webkit-scrollbar-track,.edit-post-editor__list-view-panel-content::-webkit-scrollbar-track{background-color:transparent}.edit-post-editor__list-view-container>.document-outline::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.edit-post-editor__list-view-container>.document-outline:focus-within::-webkit-scrollbar-thumb,.edit-post-editor__list-view-container>.document-outline:focus::-webkit-scrollbar-thumb,.edit-post-editor__list-view-container>.document-outline:hover::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings:focus-within::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings:focus::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings:hover::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content:focus-within::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content:focus::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content:hover::-webkit-scrollbar-thumb{background-color:#949494}.edit-post-editor__list-view-container>.document-outline:focus,.edit-post-editor__list-view-container>.document-outline:focus-within,.edit-post-editor__list-view-container>.document-outline:hover,.edit-post-editor__list-view-empty-headings:focus,.edit-post-editor__list-view-empty-headings:focus-within,.edit-post-editor__list-view-empty-headings:hover,.edit-post-editor__list-view-panel-content:focus,.edit-post-editor__list-view-panel-content:focus-within,.edit-post-editor__list-view-panel-content:hover{scrollbar-color:#949494 transparent}@media (hover:none){.edit-post-editor__list-view-container>.document-outline,.edit-post-editor__list-view-empty-headings,.edit-post-editor__list-view-panel-content{scrollbar-color:#949494 transparent}}.edit-post-editor__list-view-empty-headings{color:#757575;text-align:center}.edit-post-editor__list-view-empty-headings>svg{margin-top:28px}.edit-post-editor__list-view-empty-headings>p{padding-left:32px;padding-right:32px}.edit-post-editor__list-view-overview{border-bottom:1px solid #ddd;display:flex;flex-direction:column;gap:8px;padding:16px}.edit-post-editor__list-view-overview>div>span:first-child{display:inline-block;width:90px}.edit-post-editor__list-view-overview>div>span{color:#757575;font-size:12px;line-height:1.4}.edit-post-editor__list-view-container{display:flex;flex-direction:column;height:100%}.edit-post-editor__document-overview-panel__tab-panel{height:100%}.components-panel__header.edit-post-sidebar__panel-tabs{border-top:0;justify-content:flex-start;margin-top:0;padding-left:16px;padding-right:0}.components-panel__header.edit-post-sidebar__panel-tabs ul{display:flex}.components-panel__header.edit-post-sidebar__panel-tabs li{margin:0}.components-panel__header.edit-post-sidebar__panel-tabs .components-button.has-icon{display:none;height:24px;margin:0 auto 0 0;min-width:24px;padding:0}@media (min-width:782px){.components-panel__header.edit-post-sidebar__panel-tabs .components-button.has-icon{display:flex}}.components-panel__body.is-opened.edit-post-last-revision__panel{height:48px;padding:0}.editor-post-last-revision__title.components-button{padding:16px}.edit-post-post-author,.edit-post-post-format{align-items:stretch;display:flex;flex-direction:column}.edit-post-post-schedule{align-items:flex-start;justify-content:flex-start;position:relative;width:100%}.edit-post-post-schedule span{display:block;flex-shrink:0;padding:6px 0;width:45%}.components-button.edit-post-post-schedule__toggle{height:auto;text-align:right;white-space:normal}.components-button.edit-post-post-schedule__toggle span{width:0}.edit-post-post-schedule__dialog .block-editor-publish-date-time-picker{margin:8px}.edit-post-post-slug{align-items:stretch;display:flex;flex-direction:column}.edit-post-post-status .edit-post-post-publish-dropdown__switch-to-draft{margin-top:15px;text-align:center;width:100%}.edit-post-post-template{justify-content:flex-start;width:100%}.edit-post-post-template span{display:block;padding:6px 0;width:45%}.edit-post-post-template__dropdown{max-width:55%}.components-button.edit-post-post-template__toggle{display:inline-block;overflow:hidden;text-overflow:ellipsis;width:100%}.edit-post-post-template__dialog{z-index:99999}.edit-post-post-template__form{margin:8px;min-width:248px}@media (min-width:782px){.edit-post-post-template__create-form{width:320px}}.edit-post-post-url{align-items:flex-start;justify-content:flex-start;width:100%}.edit-post-post-url span{display:block;flex-shrink:0;padding:6px 0;width:45%}.components-button.edit-post-post-url__toggle{height:auto;text-align:right;white-space:normal;word-break:break-word}.edit-post-post-url__dialog .editor-post-url{margin:8px;min-width:248px}.edit-post-post-visibility{justify-content:flex-start;width:100%}.edit-post-post-visibility span{display:block;padding:6px 0;width:45%}.edit-post-post-visibility__dialog .editor-post-visibility{margin:8px;min-width:248px}.components-button.edit-post-sidebar__panel-tab{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-right:0;padding:3px 16px;position:relative}.components-button.edit-post-sidebar__panel-tab:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-button.edit-post-sidebar__panel-tab:after{background:var(--wp-admin-theme-color);border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-post-sidebar__panel-tab:after{transition-delay:0s;transition-duration:0s}}.components-button.edit-post-sidebar__panel-tab.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-button.edit-post-sidebar__panel-tab:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-post-sidebar__panel-tab:before{transition-delay:0s;transition-duration:0s}}.components-button.edit-post-sidebar__panel-tab:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}h2.edit-post-template-summary__title{font-weight:500;line-height:24px;margin:0 0 4px}.edit-post-text-editor{background-color:#fff;flex-grow:1;position:relative;width:100%}.edit-post-text-editor .editor-post-title{border:1px solid #949494;font-family:Menlo,Consolas,monaco,monospace;font-size:2.5em;font-weight:400;line-height:1.4;max-width:none;padding:16px}@media (min-width:600px){.edit-post-text-editor .editor-post-title{padding:24px}}.edit-post-text-editor .editor-post-title:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-post-text-editor__body{margin-left:auto;margin-right:auto;max-width:1080px;padding:0 12px 12px;width:100%}@media (min-width:960px){.edit-post-text-editor__body{padding:0 24px 24px}}.edit-post-text-editor__toolbar{background:hsla(0,0%,100%,.8);display:flex;left:0;padding:4px 12px;position:sticky;right:0;top:0;z-index:1}@media (min-width:600px){.edit-post-text-editor__toolbar{padding:12px}}@media (min-width:960px){.edit-post-text-editor__toolbar{padding:12px 24px}}.edit-post-text-editor__toolbar h2{color:#1e1e1e;font-size:13px;line-height:36px;margin:0 0 0 auto}.edit-post-text-editor__toolbar .components-button svg{order:1}.edit-post-visual-editor{background-color:#1e1e1e;display:flex;flex:1 0 auto;flex-flow:column;position:relative}.edit-post-visual-editor:not(.has-inline-canvas){overflow:hidden}.edit-post-visual-editor .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;padding:6px 12px}.edit-post-visual-editor .components-button.has-icon,.edit-post-visual-editor .components-button.is-tertiary{padding:6px}.edit-post-visual-editor__post-title-wrapper{margin-bottom:var(--wp--style--block-gap);margin-top:4rem}.edit-post-visual-editor__post-title-wrapper .editor-post-title{margin-left:auto;margin-right:auto}.edit-post-visual-editor__content-area{box-sizing:border-box;display:flex;flex-grow:1;height:100%;position:relative;width:100%}.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:0}@media (min-width:783px){.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:160px}}@media (min-width:783px){.auto-fold .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:36px}}@media (min-width:961px){.auto-fold .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:160px}}.folded .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:0}@media (min-width:783px){.folded .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:36px}}body.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:0!important}.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{display:block;position:sticky;top:0;width:100%;z-index:31}@media (min-width:782px){.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{align-items:center;border-bottom:none;display:flex;height:60px;margin-right:180px;min-height:auto;position:fixed;top:32px;width:calc(100% - 180px)}.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{width:auto}.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{margin-right:240px;top:0}.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{width:auto}.show-icon-labels .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{margin-right:80px;width:calc(100% - 140px)}.is-fullscreen-mode .show-icon-labels .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{margin-right:144px}}@media (min-width:960px){.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed,.show-icon-labels .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{width:auto}.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{width:calc(100% - 536px)}}.edit-post-welcome-guide,.edit-template-welcome-guide{width:312px}.edit-post-welcome-guide__image,.edit-template-welcome-guide__image{background:#00a0d2;margin:0 0 16px}.edit-post-welcome-guide__image>img,.edit-template-welcome-guide__image>img{display:block;max-width:100%;object-fit:cover}.edit-post-welcome-guide__heading,.edit-template-welcome-guide__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:24px;line-height:1.4;margin:16px 0;padding:0 32px}.edit-post-welcome-guide__text,.edit-template-welcome-guide__text{font-size:13px;line-height:1.4;margin:0 0 24px;padding:0 32px}.edit-post-welcome-guide__inserter-icon,.edit-template-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}.edit-template-welcome-guide .components-button svg{fill:#fff}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:782px){.edit-post-start-page-options__modal-content .block-editor-block-patterns-list{column-count:3}}@media (min-width:1280px){.edit-post-start-page-options__modal-content .block-editor-block-patterns-list{column-count:4}}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column;margin-bottom:24px}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__container{min-height:100px}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__content{width:100%}@keyframes edit-post__fade-in-animation{0%{opacity:0}to{opacity:1}}body.js.block-editor-page{background:#fff}body.js.block-editor-page #wpcontent{padding-right:0}body.js.block-editor-page #wpbody-content{padding-bottom:0}body.js.block-editor-page #wpbody-content>div:not(.block-editor):not(#screen-meta),body.js.block-editor-page #wpfooter{display:none}body.js.block-editor-page .a11y-speak-region{right:-1px;top:-1px}body.js.block-editor-page ul#adminmenu a.wp-has-current-submenu:after,body.js.block-editor-page ul#adminmenu>li.current>a.current:after{border-left-color:#fff}body.js.block-editor-page .media-frame select.attachment-filters:last-of-type{max-width:100%;width:auto}.block-editor-page #wpwrap{overflow-y:auto}@media (min-width:782px){.block-editor-page #wpwrap{overflow-y:initial}}.components-modal__frame,.components-popover,.edit-post-editor__inserter-panel,.edit-post-header,.edit-post-sidebar,.edit-post-text-editor,.editor-post-publish-panel{box-sizing:border-box}.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before,.components-popover *,.components-popover :after,.components-popover :before,.edit-post-editor__inserter-panel *,.edit-post-editor__inserter-panel :after,.edit-post-editor__inserter-panel :before,.edit-post-header *,.edit-post-header :after,.edit-post-header :before,.edit-post-sidebar *,.edit-post-sidebar :after,.edit-post-sidebar :before,.edit-post-text-editor *,.edit-post-text-editor :after,.edit-post-text-editor :before,.editor-post-publish-panel *,.editor-post-publish-panel :after,.editor-post-publish-panel :before{box-sizing:inherit}@media (min-width:600px){.block-editor__container{bottom:0;left:0;min-height:calc(100vh - 46px);position:absolute;right:0;top:0}}@media (min-width:782px){.block-editor__container{min-height:calc(100vh - 32px)}body.is-fullscreen-mode .block-editor__container{min-height:100vh}}.block-editor__container img{height:auto;max-width:100%}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}}.interface-interface-skeleton__sidebar{border-right:none}@media (min-width:782px){.is-sidebar-opened .interface-interface-skeleton__sidebar{border-right:1px solid #e0e0e0;overflow:hidden scroll}} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-panel__header.interface-complementary-area-header__small{background:#fff;padding-left:4px}.components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:782px){.components-panel__header.interface-complementary-area-header__small{display:none}}.interface-complementary-area-header{background:#fff;padding-left:4px}.interface-complementary-area-header .components-button.has-icon{display:none;margin-right:auto}.interface-complementary-area-header .components-button.has-icon~.components-button{margin-right:0}@media (min-width:782px){.interface-complementary-area-header .components-button.has-icon{display:flex}.components-panel__header+.interface-complementary-area-header{margin-top:0}}.interface-complementary-area{background:#fff;color:#1e1e1e}@media (min-width:600px){.interface-complementary-area{-webkit-overflow-scrolling:touch}}@media (min-width:782px){.interface-complementary-area{width:280px}}.interface-complementary-area .components-panel{border:none;position:relative;z-index:0}.interface-complementary-area .components-panel__header{position:sticky;top:0;z-index:1}.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:48px}@media (min-width:782px){.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:0}}.interface-complementary-area p:not(.components-base-control__help){margin-top:0}.interface-complementary-area h2{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.interface-complementary-area h3{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.interface-complementary-area hr{border-bottom:1px solid #f0f0f0;border-top:none;margin:1.5em 0}.interface-complementary-area div.components-toolbar,.interface-complementary-area div.components-toolbar-group{box-shadow:none;margin-bottom:1.5em}.interface-complementary-area div.components-toolbar-group:last-child,.interface-complementary-area div.components-toolbar:last-child{margin-bottom:0}.interface-complementary-area .block-editor-skip-to-selected-block:focus{bottom:10px;left:10px;right:auto;top:auto}@media (min-width:782px){body.js.is-fullscreen-mode{height:calc(100% + 32px);margin-top:-32px}body.js.is-fullscreen-mode #adminmenumain,body.js.is-fullscreen-mode #wpadminbar{display:none}body.js.is-fullscreen-mode #wpcontent,body.js.is-fullscreen-mode #wpfooter{margin-right:0}}html.interface-interface-skeleton__html-container{position:fixed;width:100%}@media (min-width:782px){html.interface-interface-skeleton__html-container{position:static;width:auto}}.interface-interface-skeleton{bottom:0;display:flex;flex-direction:row;height:auto;left:0;max-height:100%;position:fixed;top:46px}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden}.interface-interface-skeleton{right:0}@media (min-width:783px){.interface-interface-skeleton{right:160px}}@media (min-width:783px){.auto-fold .interface-interface-skeleton{right:36px}}@media (min-width:961px){.auto-fold .interface-interface-skeleton{right:160px}}.folded .interface-interface-skeleton{right:0}@media (min-width:783px){.folded .interface-interface-skeleton{right:36px}}body.is-fullscreen-mode .interface-interface-skeleton{right:0!important}.interface-interface-skeleton__body{display:flex;flex-grow:1;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;z-index:20}@media (min-width:782px){.interface-interface-skeleton__content{z-index:auto}}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{background:#fff;bottom:0;color:#1e1e1e;flex-shrink:0;left:0;position:absolute;right:0;top:0;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;width:auto}.is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,.is-sidebar-opened .interface-interface-skeleton__sidebar{z-index:90}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-right:1px solid #e0e0e0}.interface-interface-skeleton__secondary-sidebar{border-left:1px solid #e0e0e0}}.interface-interface-skeleton__header{border-bottom:1px solid #e0e0e0;color:#1e1e1e;flex-shrink:0;height:auto;z-index:30}.interface-interface-skeleton__footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;color:#1e1e1e;display:none;flex-shrink:0;height:auto;position:absolute;right:0;width:100%;z-index:90}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{align-items:center;background:#fff;display:flex;font-size:13px;height:24px;padding:0 18px;z-index:30}.interface-interface-skeleton__actions{background:#fff;bottom:auto;color:#1e1e1e;left:0;position:fixed!important;right:auto;top:-9999em;width:100vw;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__actions{width:280px}}.interface-interface-skeleton__actions:focus,.interface-interface-skeleton__actions:focus-within{bottom:0;top:auto}.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:46px}@media (min-width:782px){.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{border-right:1px solid #ddd;top:32px}.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:0}}.interface-more-menu-dropdown{margin-right:-4px}.interface-more-menu-dropdown .components-button{padding:0 2px;width:auto}@media (min-width:600px){.interface-more-menu-dropdown{margin-right:0}.interface-more-menu-dropdown .components-button{padding:0 4px}}.interface-more-menu-dropdown__content .components-popover__content{min-width:280px}@media (min-width:480px){.interface-more-menu-dropdown__content .components-popover__content{max-width:480px}}.interface-more-menu-dropdown__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.interface-more-menu-dropdown__content{z-index:99998}.interface-pinned-items{display:flex;gap:8px}.interface-pinned-items .components-button{display:none;margin:0}.interface-pinned-items .components-button[aria-controls="edit-post:block"],.interface-pinned-items .components-button[aria-controls="edit-post:document"],.interface-pinned-items .components-button[aria-controls="edit-site:block-inspector"],.interface-pinned-items .components-button[aria-controls="edit-site:global-styles"],.interface-pinned-items .components-button[aria-controls="edit-site:template"]{display:flex}.interface-pinned-items .components-button svg{max-height:24px;max-width:24px}@media (min-width:600px){.interface-pinned-items .components-button{display:flex}}.edit-post-header{align-items:center;background:#fff;display:flex;flex-wrap:wrap;height:60px;justify-content:space-between;max-width:100vw}@media (min-width:280px){.edit-post-header{flex-wrap:nowrap}}.edit-post-header>.edit-post-header__settings{order:1}@supports (position:sticky){.edit-post-header>.edit-post-header__settings{order:0}}.edit-post-header__toolbar{align-items:center;display:flex;flex-grow:3;flex-shrink:8;overflow:hidden;padding:2px 0}.edit-post-header__toolbar .table-of-contents{display:none}@media (min-width:600px){.edit-post-header__toolbar .table-of-contents{display:block}}.edit-post-header__toolbar .selected-block-tools-wrapper{display:flex;overflow-x:hidden}.edit-post-header__toolbar .selected-block-tools-wrapper .block-editor-block-contextual-toolbar{border-bottom:0}.edit-post-header__toolbar .selected-block-tools-wrapper:after{background-color:#ddd;content:"";margin-bottom:12px;margin-right:8px;margin-top:12px;width:1px}.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar,.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar-group{border-left:none}.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar-group:after,.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar:after{background-color:#ddd;content:"";margin-bottom:12px;margin-right:8px;margin-top:12px;width:1px}.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar .components-toolbar-group.components-toolbar-group:after,.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar-group .components-toolbar-group.components-toolbar-group:after,.edit-post-header__toolbar .selected-block-tools-wrapper.is-collapsed{display:none}.edit-post-header__block-tools-toggle{margin-right:2px}.edit-post-header__center{display:flex;flex-grow:1;justify-content:center}.edit-post-header__center.is-collapsed{display:none}.edit-post-header__settings{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:8px;padding-left:4px}@media (min-width:600px){.edit-post-header__settings{padding-left:10px}}.edit-post-header__dropdown .components-button.has-icon,.show-icon-labels .edit-post-header .components-button.has-icon,.show-icon-labels.interface-pinned-items .components-button.has-icon{width:auto}.edit-post-header__dropdown .components-button.has-icon svg,.show-icon-labels .edit-post-header .components-button.has-icon svg,.show-icon-labels.interface-pinned-items .components-button.has-icon svg{display:none}.edit-post-header__dropdown .components-button.has-icon:after,.show-icon-labels .edit-post-header .components-button.has-icon:after,.show-icon-labels.interface-pinned-items .components-button.has-icon:after{content:attr(aria-label)}.edit-post-header__dropdown .components-button.has-icon[aria-disabled=true],.show-icon-labels .edit-post-header .components-button.has-icon[aria-disabled=true],.show-icon-labels.interface-pinned-items .components-button.has-icon[aria-disabled=true]{background-color:transparent}.edit-post-header__dropdown .is-tertiary:active,.show-icon-labels .edit-post-header .is-tertiary:active,.show-icon-labels.interface-pinned-items .is-tertiary:active{background-color:transparent;box-shadow:0 0 0 1.5px var(--wp-admin-theme-color)}.edit-post-header__dropdown .components-button.has-icon.button-toggle svg,.edit-post-header__dropdown .edit-post-fullscreen-mode-close.has-icon svg,.show-icon-labels .edit-post-header .components-button.has-icon.button-toggle svg,.show-icon-labels .edit-post-header .edit-post-fullscreen-mode-close.has-icon svg,.show-icon-labels.interface-pinned-items .components-button.has-icon.button-toggle svg,.show-icon-labels.interface-pinned-items .edit-post-fullscreen-mode-close.has-icon svg{display:block}.edit-post-header__dropdown .components-button.has-icon.button-toggle:after,.edit-post-header__dropdown .edit-post-fullscreen-mode-close.has-icon:after,.show-icon-labels .edit-post-header .components-button.has-icon.button-toggle:after,.show-icon-labels .edit-post-header .edit-post-fullscreen-mode-close.has-icon:after,.show-icon-labels.interface-pinned-items .components-button.has-icon.button-toggle:after,.show-icon-labels.interface-pinned-items .edit-post-fullscreen-mode-close.has-icon:after{content:none}.edit-post-header__dropdown .edit-post-fullscreen-mode-close.has-icon,.show-icon-labels .edit-post-header .edit-post-fullscreen-mode-close.has-icon,.show-icon-labels.interface-pinned-items .edit-post-fullscreen-mode-close.has-icon{width:60px}.edit-post-header__dropdown .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon,.show-icon-labels .edit-post-header .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon,.show-icon-labels.interface-pinned-items .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon{display:block}.edit-post-header__dropdown .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{padding-left:8px;padding-right:8px}@media (min-width:600px){.edit-post-header__dropdown .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{padding-left:12px;padding-right:12px}}.edit-post-header__dropdown .editor-post-save-draft.editor-post-save-draft:after,.edit-post-header__dropdown .editor-post-saved-state.editor-post-saved-state:after,.show-icon-labels .edit-post-header .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels .edit-post-header .editor-post-saved-state.editor-post-saved-state:after,.show-icon-labels.interface-pinned-items .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels.interface-pinned-items .editor-post-saved-state.editor-post-saved-state:after{content:none}.show-icon-labels .edit-post-header__toolbar .block-editor-block-mover{border-right:none}.show-icon-labels .edit-post-header__toolbar .block-editor-block-mover:before{background-color:#ddd;content:"";margin-bottom:12px;margin-right:8px;margin-top:12px;width:1px}.show-icon-labels .edit-post-header__toolbar .block-editor-block-mover .block-editor-block-mover__move-button-container:before{background:#ddd;right:calc(50% + 1px);width:calc(100% - 24px)}.edit-post-header__dropdown .components-button.block-editor-list-view,.edit-post-header__dropdown .components-button.editor-history__redo,.edit-post-header__dropdown .components-button.editor-history__undo,.edit-post-header__dropdown .components-menu-item__button.components-menu-item__button,.edit-post-header__dropdown .table-of-contents .components-button{justify-content:flex-start;margin:0;padding:6px 40px 6px 6px;text-align:right;width:14.625rem}.show-icon-labels.interface-pinned-items{border-bottom:1px solid #ccc;display:block;margin:0 -12px;padding:6px 12px 12px}.show-icon-labels.interface-pinned-items>.components-button.has-icon{justify-content:flex-start;margin:0;padding:6px 8px 6px 6px;width:14.625rem}.show-icon-labels.interface-pinned-items>.components-button.has-icon[aria-expanded=true] svg{display:block;max-width:24px}.show-icon-labels.interface-pinned-items>.components-button.has-icon[aria-expanded=false]{padding-right:40px}.show-icon-labels.interface-pinned-items>.components-button.has-icon svg{margin-left:8px}@media (min-width:600px){.edit-post-header__post-preview-button{display:none}}.is-distraction-free .interface-interface-skeleton__header{border-bottom:none}.is-distraction-free .edit-post-header{-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;background-color:hsla(0,0%,100%,.9);border-bottom:1px solid #e0e0e0;position:absolute;width:100%}.is-distraction-free .edit-post-header>.edit-post-header__settings>.edit-post-header__post-preview-button{visibility:hidden}.is-distraction-free .edit-post-header>.edit-post-header__settings>.editor-preview-dropdown,.is-distraction-free .edit-post-header>.edit-post-header__settings>.interface-pinned-items,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .editor-document-tools__document-overview-toggle,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .editor-document-tools__inserter-toggle{display:none}.is-distraction-free .interface-interface-skeleton__header:focus-within{opacity:1!important}.is-distraction-free .interface-interface-skeleton__header:focus-within div{transform:translateX(0) translateZ(0)!important}.is-distraction-free .components-editor-notices__dismissible{position:absolute;z-index:35}.edit-post-fullscreen-mode-close.components-button{display:none}@media (min-width:782px){.edit-post-fullscreen-mode-close.components-button{align-items:center;align-self:stretch;background:#1e1e1e;border:none;border-radius:0;color:#fff;display:flex;height:61px;margin-bottom:-1px;position:relative;width:60px}.edit-post-fullscreen-mode-close.components-button:active{color:#fff}.edit-post-fullscreen-mode-close.components-button:focus{box-shadow:none}.edit-post-fullscreen-mode-close.components-button:before{border-radius:4px;bottom:10px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #1e1e1e;content:"";display:block;left:9px;position:absolute;right:9px;top:9px;transition:box-shadow .1s ease}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-fullscreen-mode-close.components-button:before{transition-delay:0s;transition-duration:0s}}@media (min-width:782px){.edit-post-fullscreen-mode-close.components-button:hover:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #757575}.edit-post-fullscreen-mode-close.components-button.has-icon:hover:before{box-shadow:none}.edit-post-fullscreen-mode-close.components-button:focus:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) hsla(0,0%,100%,.1),inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}}.edit-post-fullscreen-mode-close.components-button .edit-post-fullscreen-mode-close_site-icon{border-radius:2px;height:36px;margin-top:-1px;object-fit:cover;width:36px}.edit-post-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-post-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-post-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.edit-post-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.edit-post-keyboard-shortcut-help-modal__shortcut:empty{display:none}.edit-post-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 1rem 0 0;text-align:left}.edit-post-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination+.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.edit-post-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.edit-post-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.edit-post-layout__metaboxes{clear:both;flex-shrink:0}.edit-post-layout .components-editor-notices__snackbar{bottom:40px;left:0;padding-left:16px;padding-right:16px;position:fixed}.is-distraction-free .components-editor-notices__snackbar{bottom:20px}.edit-post-layout .components-editor-notices__snackbar{right:0}@media (min-width:783px){.edit-post-layout .components-editor-notices__snackbar{right:160px}}@media (min-width:783px){.auto-fold .edit-post-layout .components-editor-notices__snackbar{right:36px}}@media (min-width:961px){.auto-fold .edit-post-layout .components-editor-notices__snackbar{right:160px}}.folded .edit-post-layout .components-editor-notices__snackbar{right:0}@media (min-width:783px){.folded .edit-post-layout .components-editor-notices__snackbar{right:36px}}body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar{right:0!important}.edit-post-layout .editor-post-publish-panel{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:46px;z-index:100001}@media (min-width:782px){.edit-post-layout .editor-post-publish-panel{animation:edit-post-post-publish-panel__slide-in-animation .1s forwards;border-right:1px solid #ddd;right:auto;top:32px;transform:translateX(-100%);width:281px;z-index:99998}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-layout .editor-post-publish-panel{animation-delay:0s;animation-duration:1ms}}@media (min-width:782px){body.is-fullscreen-mode .edit-post-layout .editor-post-publish-panel{top:0}[role=region]:focus .edit-post-layout .editor-post-publish-panel{transform:translateX(0)}}@keyframes edit-post-post-publish-panel__slide-in-animation{to{transform:translateX(0)}}.edit-post-layout .editor-post-publish-panel__header-publish-button{justify-content:center}.edit-post-layout__toggle-entities-saved-states-panel,.edit-post-layout__toggle-publish-panel,.edit-post-layout__toggle-sidebar-panel{background-color:#fff;border:1px dotted #ddd;bottom:auto;box-sizing:border-box;display:flex;height:auto!important;justify-content:center;left:0;padding:24px;position:fixed!important;right:auto;top:-9999em;width:280px;z-index:100000}.interface-interface-skeleton__sidebar:focus .edit-post-layout__toggle-sidebar-panel,.interface-interface-skeleton__sidebar:focus-within .edit-post-layout__toggle-sidebar-panel{bottom:0;top:auto}.interface-interface-skeleton__actions:focus .edit-post-layout__toggle-entities-saved-states-panel,.interface-interface-skeleton__actions:focus .edit-post-layout__toggle-publish-panel,.interface-interface-skeleton__actions:focus-within .edit-post-layout__toggle-entities-saved-states-panel,.interface-interface-skeleton__actions:focus-within .edit-post-layout__toggle-publish-panel{bottom:0;top:auto}.edit-post-layout .entities-saved-states__panel-header{height:61px}.edit-post-meta-boxes-area{position:relative}.edit-post-meta-boxes-area .inside,.edit-post-meta-boxes-area__container{box-sizing:content-box}.edit-post-meta-boxes-area input,.edit-post-meta-boxes-area textarea{box-sizing:border-box}.edit-post-meta-boxes-area .postbox-header{border-bottom:0;border-top:1px solid #ddd}.edit-post-meta-boxes-area #poststuff{margin:0 auto;min-width:auto;padding-top:0}.edit-post-meta-boxes-area #poststuff .stuffbox>h3,.edit-post-meta-boxes-area #poststuff h2.hndle,.edit-post-meta-boxes-area #poststuff h3.hndle{box-sizing:border-box;color:inherit;font-weight:600;outline:none;padding:0 24px;position:relative;width:100%}.edit-post-meta-boxes-area .postbox{border:0;color:inherit;margin-bottom:0}.edit-post-meta-boxes-area .postbox>.inside{color:inherit;margin:0;padding:0 24px 24px}.edit-post-meta-boxes-area .postbox .handlediv{height:44px;width:44px}.edit-post-meta-boxes-area.is-loading:before{background:transparent;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.edit-post-meta-boxes-area .components-spinner{left:20px;position:absolute;top:10px;z-index:5}.edit-post-meta-boxes-area .is-hidden{display:none}.edit-post-meta-boxes-area .metabox-location-side .postbox input[type=checkbox]{border:1px solid #757575}.edit-post-meta-boxes-area .metabox-location-side .postbox input[type=checkbox]:checked{background:#fff;border-color:#757575}.edit-post-meta-boxes-area .metabox-location-side .postbox input[type=checkbox]:before{margin:-3px -4px}.edit-post-meta-boxes-area__clear{clear:both}.components-panel__header.edit-post-sidebar__panel-tabs{padding-left:16px;padding-right:0}.components-panel__header.edit-post-sidebar__panel-tabs .components-button.has-icon{height:24px;min-width:24px;padding:0}@media (min-width:782px){.components-panel__header.edit-post-sidebar__panel-tabs .components-button.has-icon{display:flex}}.edit-post-sidebar__panel{margin-top:-1px}.edit-post-post-format,.edit-post-post-slug{align-items:stretch;display:flex;flex-direction:column}.edit-post-post-visibility__dialog .editor-post-visibility{margin:8px;min-width:248px}h2.edit-post-template-summary__title{font-weight:500;line-height:24px;margin:0 0 4px}.edit-post-text-editor{background-color:#fff;flex-grow:1;position:relative;width:100%}.edit-post-text-editor .editor-post-title.is-raw-text textarea,.edit-post-text-editor .editor-post-title:not(.is-raw-text){border:1px solid #949494;border-radius:0;font-family:Menlo,Consolas,monaco,monospace;font-size:2.5em;font-weight:400;line-height:1.4;max-width:none;padding:16px}@media (min-width:600px){.edit-post-text-editor .editor-post-title.is-raw-text textarea,.edit-post-text-editor .editor-post-title:not(.is-raw-text){padding:24px}}.edit-post-text-editor .editor-post-title.is-raw-text textarea:focus,.edit-post-text-editor .editor-post-title:not(.is-raw-text):focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-post-text-editor__body{margin-left:auto;margin-right:auto;max-width:1080px;padding:0 12px 12px;width:100%}@media (min-width:960px){.edit-post-text-editor__body{padding:0 24px 24px}}.edit-post-text-editor__toolbar{background:hsla(0,0%,100%,.8);display:flex;left:0;padding:4px 12px;position:sticky;right:0;top:0;z-index:1}@media (min-width:600px){.edit-post-text-editor__toolbar{padding:12px}}@media (min-width:960px){.edit-post-text-editor__toolbar{padding:12px 24px}}.edit-post-text-editor__toolbar h2{color:#1e1e1e;font-size:13px;line-height:36px;margin:0 0 0 auto}.edit-post-visual-editor{background-color:#1e1e1e;display:flex;flex:1 0 auto;flex-flow:column;position:relative}.edit-post-visual-editor:not(.has-inline-canvas){overflow:hidden}.edit-post-visual-editor .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;padding:6px 12px}.edit-post-visual-editor .components-button.has-icon{padding:6px}.edit-post-visual-editor__content-area{box-sizing:border-box;display:flex;flex-grow:1;height:100%;position:relative;width:100%}.edit-post-welcome-guide,.edit-template-welcome-guide{width:312px}.edit-post-welcome-guide__image,.edit-template-welcome-guide__image{background:#00a0d2;margin:0 0 16px}.edit-post-welcome-guide__image>img,.edit-template-welcome-guide__image>img{display:block;max-width:100%;object-fit:cover}.edit-post-welcome-guide__heading,.edit-template-welcome-guide__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:24px;line-height:1.4;margin:16px 0;padding:0 32px}.edit-post-welcome-guide__text,.edit-template-welcome-guide__text{font-size:13px;line-height:1.4;margin:0 0 24px;padding:0 32px}.edit-post-welcome-guide__inserter-icon,.edit-template-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}.edit-template-welcome-guide .components-button svg{fill:#fff}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:782px){.edit-post-start-page-options__modal-content .block-editor-block-patterns-list{column-count:3}}@media (min-width:1280px){.edit-post-start-page-options__modal-content .block-editor-block-patterns-list{column-count:4}}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column;margin-bottom:24px}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__container{min-height:100px}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__content{width:100%}@keyframes edit-post__fade-in-animation{0%{opacity:0}to{opacity:1}}body.js.block-editor-page{background:#fff}body.js.block-editor-page #wpcontent{padding-right:0}body.js.block-editor-page #wpbody-content{padding-bottom:0}body.js.block-editor-page #wpbody-content>div:not(.block-editor):not(#screen-meta),body.js.block-editor-page #wpfooter{display:none}body.js.block-editor-page .a11y-speak-region{right:-1px;top:-1px}body.js.block-editor-page ul#adminmenu a.wp-has-current-submenu:after,body.js.block-editor-page ul#adminmenu>li.current>a.current:after{border-left-color:#fff}body.js.block-editor-page .media-frame select.attachment-filters:last-of-type{max-width:100%;width:auto}.block-editor-page #wpwrap{overflow-y:auto}@media (min-width:782px){.block-editor-page #wpwrap{overflow-y:initial}}.components-modal__frame,.components-popover,.edit-post-header,.edit-post-sidebar,.edit-post-text-editor,.editor-post-publish-panel{box-sizing:border-box}.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before,.components-popover *,.components-popover :after,.components-popover :before,.edit-post-header *,.edit-post-header :after,.edit-post-header :before,.edit-post-sidebar *,.edit-post-sidebar :after,.edit-post-sidebar :before,.edit-post-text-editor *,.edit-post-text-editor :after,.edit-post-text-editor :before,.editor-post-publish-panel *,.editor-post-publish-panel :after,.editor-post-publish-panel :before{box-sizing:inherit}@media (min-width:600px){.block-editor__container{bottom:0;left:0;min-height:calc(100vh - 46px);position:absolute;right:0;top:0}}@media (min-width:782px){.block-editor__container{min-height:calc(100vh - 32px)}body.is-fullscreen-mode .block-editor__container{min-height:100vh}}.block-editor__container img{height:auto;max-width:100%}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}}.interface-interface-skeleton__sidebar{border-right:none}@media (min-width:782px){.is-sidebar-opened .interface-interface-skeleton__sidebar{border-right:1px solid #e0e0e0;overflow:hidden scroll}} \ No newline at end of file diff --git a/wp-includes/css/dist/edit-post/style.css b/wp-includes/css/dist/edit-post/style.css index abd9051411..378912d78a 100644 --- a/wp-includes/css/dist/edit-post/style.css +++ b/wp-includes/css/dist/edit-post/style.css @@ -359,8 +359,7 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .interface-pinned-items{ display:flex; - gap:4px; - margin-right:-4px; + gap:8px; } .interface-pinned-items .components-button{ display:none; @@ -377,92 +376,6 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .interface-pinned-items .components-button{ display:flex; } - .interface-preferences-modal{ - height:calc(100% - 120px); - width:calc(100% - 32px); - } -} -@media (min-width:782px){ - .interface-preferences-modal{ - width:750px; - } -} -@media (min-width:960px){ - .interface-preferences-modal{ - height:70%; - } -} -@media (max-width:781px){ - .interface-preferences-modal .components-modal__content{ - padding:0; - } -} - -.interface-preferences__tabs .components-tab-panel__tabs{ - left:16px; - position:absolute; - top:84px; - width:160px; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{ - border-radius:2px; - font-weight:400; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{ - background:#f0f0f0; - box-shadow:none; - font-weight:500; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active:after{ - content:none; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled){ - box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); - outline:2px solid transparent; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus-visible:before{ - content:none; -} -.interface-preferences__tabs .components-tab-panel__tab-content{ - margin-left:160px; - padding-left:24px; -} - -@media (max-width:781px){ - .interface-preferences__provider{ - height:100%; - } -} -.interface-preferences-modal__section{ - margin:0 0 2.5rem; -} -.interface-preferences-modal__section:last-child{ - margin:0; -} - -.interface-preferences-modal__section-legend{ - margin-bottom:8px; -} - -.interface-preferences-modal__section-title{ - font-size:.9rem; - font-weight:600; - margin-top:0; -} - -.interface-preferences-modal__section-description{ - color:#757575; - font-size:12px; - font-style:normal; - margin:-8px 0 8px; -} - -.interface-preferences-modal__option+.interface-preferences-modal__option{ - margin-top:16px; -} -.interface-preferences-modal__option .components-base-control__help{ - margin-left:48px; - margin-top:0; } .edit-post-header{ @@ -471,6 +384,7 @@ body.is-fullscreen-mode .interface-interface-skeleton{ display:flex; flex-wrap:wrap; height:60px; + justify-content:space-between; max-width:100vw; } @media (min-width:280px){ @@ -488,8 +402,12 @@ body.is-fullscreen-mode .interface-interface-skeleton{ } .edit-post-header__toolbar{ + align-items:center; display:flex; - flex-grow:1; + flex-grow:3; + flex-shrink:8; + overflow:hidden; + padding:2px 0; } .edit-post-header__toolbar .table-of-contents{ display:none; @@ -499,46 +417,60 @@ body.is-fullscreen-mode .interface-interface-skeleton{ display:block; } } +.edit-post-header__toolbar .selected-block-tools-wrapper{ + display:flex; + overflow-x:hidden; +} +.edit-post-header__toolbar .selected-block-tools-wrapper .block-editor-block-contextual-toolbar{ + border-bottom:0; +} +.edit-post-header__toolbar .selected-block-tools-wrapper:after{ + background-color:#ddd; + content:""; + margin-bottom:12px; + margin-left:8px; + margin-top:12px; + width:1px; +} +.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar,.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar-group{ + border-right:none; +} +.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar-group:after,.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar:after{ + background-color:#ddd; + content:""; + margin-bottom:12px; + margin-left:8px; + margin-top:12px; + width:1px; +} +.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar .components-toolbar-group.components-toolbar-group:after,.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar-group .components-toolbar-group.components-toolbar-group:after,.edit-post-header__toolbar .selected-block-tools-wrapper.is-collapsed{ + display:none; +} + +.edit-post-header__block-tools-toggle{ + margin-left:2px; +} .edit-post-header__center{ display:flex; flex-grow:1; justify-content:center; } +.edit-post-header__center.is-collapsed{ + display:none; +} .edit-post-header__settings{ align-items:center; display:inline-flex; - flex-wrap:wrap; - gap:4px; + flex-wrap:nowrap; + gap:8px; padding-right:4px; } @media (min-width:600px){ .edit-post-header__settings{ - gap:8px; padding-right:10px; } } - -.edit-post-header-preview__grouping-external{ - display:flex; - padding-bottom:0; - position:relative; -} - -.edit-post-header-preview__button-external{ - display:flex; - justify-content:flex-start; - margin-right:auto; - padding-left:8px; - width:100%; -} -.edit-post-header-preview__button-external svg{ - margin-left:auto; -} - -.edit-post-post-preview-dropdown .components-popover__content{ - padding-bottom:0; -} .edit-post-header__dropdown .components-button.has-icon,.show-icon-labels .edit-post-header .components-button.has-icon,.show-icon-labels.interface-pinned-items .components-button.has-icon{ width:auto; } @@ -567,12 +499,12 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .edit-post-header__dropdown .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon,.show-icon-labels .edit-post-header .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon,.show-icon-labels.interface-pinned-items .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon{ display:block; } -.edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{ +.edit-post-header__dropdown .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{ padding-left:8px; padding-right:8px; } @media (min-width:600px){ - .edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{ + .edit-post-header__dropdown .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{ padding-left:12px; padding-right:12px; } @@ -581,6 +513,23 @@ body.is-fullscreen-mode .interface-interface-skeleton{ content:none; } +.show-icon-labels .edit-post-header__toolbar .block-editor-block-mover{ + border-left:none; +} +.show-icon-labels .edit-post-header__toolbar .block-editor-block-mover:before{ + background-color:#ddd; + content:""; + margin-bottom:12px; + margin-left:8px; + margin-top:12px; + width:1px; +} +.show-icon-labels .edit-post-header__toolbar .block-editor-block-mover .block-editor-block-mover__move-button-container:before{ + background:#ddd; + left:calc(50% + 1px); + width:calc(100% - 24px); +} + .edit-post-header__dropdown .components-button.block-editor-list-view,.edit-post-header__dropdown .components-button.editor-history__redo,.edit-post-header__dropdown .components-button.editor-history__undo,.edit-post-header__dropdown .components-menu-item__button.components-menu-item__button,.edit-post-header__dropdown .table-of-contents .components-button{ justify-content:flex-start; margin:0; @@ -612,6 +561,12 @@ body.is-fullscreen-mode .interface-interface-skeleton{ margin-right:8px; } +@media (min-width:600px){ + .edit-post-header__post-preview-button{ + display:none; + } +} + .is-distraction-free .interface-interface-skeleton__header{ border-bottom:none; } @@ -623,10 +578,10 @@ body.is-fullscreen-mode .interface-interface-skeleton{ position:absolute; width:100%; } -.is-distraction-free .edit-post-header>.edit-post-header__settings>.editor-post-preview{ +.is-distraction-free .edit-post-header>.edit-post-header__settings>.edit-post-header__post-preview-button{ visibility:hidden; } -.is-distraction-free .edit-post-header>.edit-post-header__settings>.block-editor-post-preview__dropdown,.is-distraction-free .edit-post-header>.edit-post-header__settings>.interface-pinned-items,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .edit-post-header-toolbar__document-overview-toggle,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .edit-post-header-toolbar__inserter-toggle{ +.is-distraction-free .edit-post-header>.edit-post-header__settings>.editor-preview-dropdown,.is-distraction-free .edit-post-header>.edit-post-header__settings>.interface-pinned-items,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .editor-document-tools__document-overview-toggle,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .editor-document-tools__inserter-toggle{ display:none; } .is-distraction-free .interface-interface-skeleton__header:focus-within{ @@ -701,157 +656,6 @@ body.is-fullscreen-mode .interface-interface-skeleton{ width:36px; } -.edit-post-header-toolbar{ - align-items:center; - border:none; - display:inline-flex; -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button{ - display:none; -} -@media (min-width:600px){ - .edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button{ - display:inline-flex; - } -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle{ - display:inline-flex; -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle svg{ - transition:transform .2s cubic-bezier(.165, .84, .44, 1); -} -@media (prefers-reduced-motion:reduce){ - .edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle svg{ - transition-delay:0s; - transition-duration:0s; - } -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.is-pressed svg{ - transform:rotate(45deg); -} -.edit-post-header-toolbar .block-editor-list-view{ - display:none; -} -@media (min-width:600px){ - .edit-post-header-toolbar .block-editor-list-view{ - display:flex; - } -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon,.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon{ - height:36px; - min-width:36px; - padding:6px; -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon.is-pressed,.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon.is-pressed{ - background:#1e1e1e; -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon:focus:not(:disabled),.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon:focus:not(:disabled){ - box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 1px #fff; - outline:1px solid transparent; -} -.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon:before,.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon:before{ - display:none; -} - -@media (min-width:600px){ - .edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-button,.edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-dropdown>[aria-expanded=false]{ - transition:opacity .1s linear; - } -} -@media (min-width:600px) and (prefers-reduced-motion:reduce){ - .edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-button,.edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-dropdown>[aria-expanded=false]{ - transition-delay:0s; - transition-duration:0s; - } -} -@media (min-width:600px){ - .edit-post-header.has-reduced-ui:not(:hover) .edit-post-header-toolbar__left>*+.components-button,.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header-toolbar__left>*+.components-dropdown>[aria-expanded=false]{ - opacity:0; - } -} - -.edit-post-header-toolbar__left{ - align-items:center; - display:inline-flex; - margin-right:8px; - padding-left:8px; -} -@media (min-width:600px){ - .edit-post-header-toolbar__left{ - padding-left:24px; - } -} -@media (min-width:1280px){ - .edit-post-header-toolbar__left{ - padding-right:8px; - } -} - -.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-icon{ - height:32px; - margin-right:8px; - min-width:32px; - padding:0; - width:32px; -} -.show-icon-labels .edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-icon{ - height:36px; - padding:0 8px; - width:auto; -} - -.show-icon-labels .edit-post-header-toolbar__left>*+*{ - margin-left:8px; -} - -.edit-post-document-actions{ - align-items:center; - background:#f0f0f0; - border-radius:4px; - display:flex; - gap:8px; - height:36px; - justify-content:space-between; - min-width:0; - width:min(100%, 450px); -} -.edit-post-document-actions .components-button:hover{ - background:#e0e0e0; - color:var(--wp-block-synced-color); -} - -.edit-post-document-actions__command,.edit-post-document-actions__title{ - color:var(--wp-block-synced-color); - flex-grow:1; - overflow:hidden; -} -.edit-post-document-actions__title:hover{ - color:var(--wp-block-synced-color); -} -.edit-post-document-actions__title .block-editor-block-icon{ - flex-shrink:0; -} -.edit-post-document-actions__title h1{ - color:var(--wp-block-synced-color); - overflow:hidden; - text-overflow:ellipsis; - white-space:nowrap; -} - -.edit-post-document-actions__shortcut{ - color:#2f2f2f; -} - -.edit-post-document-actions__back.components-button.has-icon.has-text{ - color:#757575; - flex-shrink:0; - gap:0; - min-width:36px; -} -.edit-post-document-actions__back.components-button.has-icon.has-text:hover{ - color:currentColor; -} - .edit-post-keyboard-shortcut-help-modal__section{ margin:0 0 2rem; } @@ -1023,86 +827,6 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar{ height:61px; } -@media (min-width:782px){ - .edit-post-layout.has-fixed-toolbar .interface-interface-skeleton__header:not(:focus-within){ - z-index:19; - } -} - -.edit-post-block-manager__no-results{ - font-style:italic; - padding:24px 0; - text-align:center; -} - -.edit-post-block-manager__search{ - margin:16px 0; -} - -.edit-post-block-manager__disabled-blocks-count{ - background-color:#fff; - border:1px solid #ddd; - border-width:1px 0; - box-shadow:-32px 0 0 0 #fff,32px 0 0 0 #fff; - padding:8px; - position:sticky; - text-align:center; - top:-1px; - z-index:2; -} -.edit-post-block-manager__disabled-blocks-count~.edit-post-block-manager__results .edit-post-block-manager__category-title{ - top:35px; -} -.edit-post-block-manager__disabled-blocks-count .is-link{ - margin-left:12px; -} - -.edit-post-block-manager__category{ - margin:0 0 24px; -} - -.edit-post-block-manager__category-title{ - background-color:#fff; - padding:16px 0; - position:sticky; - top:-4px; - z-index:1; -} -.edit-post-block-manager__category-title .components-checkbox-control__label{ - font-weight:600; -} - -.edit-post-block-manager__checklist{ - margin-top:0; -} - -.edit-post-block-manager__category-title,.edit-post-block-manager__checklist-item{ - border-bottom:1px solid #ddd; -} - -.edit-post-block-manager__checklist-item{ - align-items:center; - display:flex; - justify-content:space-between; - margin-bottom:0; - padding:8px 0 8px 16px; -} -.components-modal__content .edit-post-block-manager__checklist-item.components-checkbox-control__input-container{ - margin:0 8px; -} -.edit-post-block-manager__checklist-item .block-editor-block-icon{ - fill:#1e1e1e; - margin-right:10px; -} - -.edit-post-block-manager__results{ - border-top:1px solid #ddd; -} - -.edit-post-block-manager__disabled-blocks-count+.edit-post-block-manager__results{ - border-top-width:0; -} - .edit-post-meta-boxes-area{ position:relative; } @@ -1177,146 +901,13 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar{ .edit-post-meta-boxes-area__clear{ clear:both; } -.edit-post-editor__document-overview-panel,.edit-post-editor__inserter-panel{ - display:flex; - flex-direction:column; - height:100%; -} - -@media (min-width:782px){ - .edit-post-editor__document-overview-panel{ - width:350px; - } -} -.edit-post-editor__document-overview-panel .edit-post-editor__document-overview-panel__close-button{ - background:#fff; - position:absolute; - right:8px; - top:6px; - z-index:1; -} -.edit-post-editor__document-overview-panel .components-tab-panel__tabs{ - border-bottom:1px solid #ddd; - box-sizing:border-box; - display:flex; - padding-right:56px; - width:100%; -} -.edit-post-editor__document-overview-panel .components-tab-panel__tabs .edit-post-sidebar__panel-tab{ - margin-bottom:-1px; - width:50%; -} -.edit-post-editor__document-overview-panel .components-tab-panel__tab-content{ - height:calc(100% - 47px); -} - -.edit-post-editor__inserter-panel-header{ - display:flex; - justify-content:flex-end; - padding-right:8px; - padding-top:8px; -} - -.edit-post-editor__inserter-panel-content{ - height:calc(100% - 44px); -} -@media (min-width:782px){ - .edit-post-editor__inserter-panel-content{ - height:100%; - } -} - -.edit-post-editor__list-view-container>.document-outline,.edit-post-editor__list-view-empty-headings,.edit-post-editor__list-view-panel-content{ - height:100%; - overflow:auto; - padding:8px 6px; - scrollbar-color:transparent transparent; - scrollbar-gutter:stable both-edges; - scrollbar-gutter:auto; - scrollbar-width:thin; - will-change:transform; -} -.edit-post-editor__list-view-container>.document-outline::-webkit-scrollbar,.edit-post-editor__list-view-empty-headings::-webkit-scrollbar,.edit-post-editor__list-view-panel-content::-webkit-scrollbar{ - height:12px; - width:12px; -} -.edit-post-editor__list-view-container>.document-outline::-webkit-scrollbar-track,.edit-post-editor__list-view-empty-headings::-webkit-scrollbar-track,.edit-post-editor__list-view-panel-content::-webkit-scrollbar-track{ - background-color:transparent; -} -.edit-post-editor__list-view-container>.document-outline::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content::-webkit-scrollbar-thumb{ - background-clip:padding-box; - background-color:transparent; - border:3px solid transparent; - border-radius:8px; -} -.edit-post-editor__list-view-container>.document-outline:focus-within::-webkit-scrollbar-thumb,.edit-post-editor__list-view-container>.document-outline:focus::-webkit-scrollbar-thumb,.edit-post-editor__list-view-container>.document-outline:hover::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings:focus-within::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings:focus::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings:hover::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content:focus-within::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content:focus::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content:hover::-webkit-scrollbar-thumb{ - background-color:#949494; -} -.edit-post-editor__list-view-container>.document-outline:focus,.edit-post-editor__list-view-container>.document-outline:focus-within,.edit-post-editor__list-view-container>.document-outline:hover,.edit-post-editor__list-view-empty-headings:focus,.edit-post-editor__list-view-empty-headings:focus-within,.edit-post-editor__list-view-empty-headings:hover,.edit-post-editor__list-view-panel-content:focus,.edit-post-editor__list-view-panel-content:focus-within,.edit-post-editor__list-view-panel-content:hover{ - scrollbar-color:#949494 transparent; -} -@media (hover:none){ - .edit-post-editor__list-view-container>.document-outline,.edit-post-editor__list-view-empty-headings,.edit-post-editor__list-view-panel-content{ - scrollbar-color:#949494 transparent; - } -} - -.edit-post-editor__list-view-empty-headings{ - color:#757575; - text-align:center; -} -.edit-post-editor__list-view-empty-headings>svg{ - margin-top:28px; -} -.edit-post-editor__list-view-empty-headings>p{ - padding-left:32px; - padding-right:32px; -} - -.edit-post-editor__list-view-overview{ - border-bottom:1px solid #ddd; - display:flex; - flex-direction:column; - gap:8px; - padding:16px; -} -.edit-post-editor__list-view-overview>div>span:first-child{ - display:inline-block; - width:90px; -} -.edit-post-editor__list-view-overview>div>span{ - color:#757575; - font-size:12px; - line-height:1.4; -} - -.edit-post-editor__list-view-container{ - display:flex; - flex-direction:column; - height:100%; -} - -.edit-post-editor__document-overview-panel__tab-panel{ - height:100%; -} .components-panel__header.edit-post-sidebar__panel-tabs{ - border-top:0; - justify-content:flex-start; - margin-top:0; padding-left:0; padding-right:16px; } -.components-panel__header.edit-post-sidebar__panel-tabs ul{ - display:flex; -} -.components-panel__header.edit-post-sidebar__panel-tabs li{ - margin:0; -} .components-panel__header.edit-post-sidebar__panel-tabs .components-button.has-icon{ - display:none; height:24px; - margin:0 0 0 auto; min-width:24px; padding:0; } @@ -1326,197 +917,21 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar{ } } -.components-panel__body.is-opened.edit-post-last-revision__panel{ - height:48px; - padding:0; +.edit-post-sidebar__panel{ + margin-top:-1px; } -.editor-post-last-revision__title.components-button{ - padding:16px; -} - -.edit-post-post-author,.edit-post-post-format{ +.edit-post-post-format,.edit-post-post-slug{ align-items:stretch; display:flex; flex-direction:column; } -.edit-post-post-schedule{ - align-items:flex-start; - justify-content:flex-start; - position:relative; - width:100%; -} -.edit-post-post-schedule span{ - display:block; - flex-shrink:0; - padding:6px 0; - width:45%; -} - -.components-button.edit-post-post-schedule__toggle{ - height:auto; - text-align:left; - white-space:normal; -} -.components-button.edit-post-post-schedule__toggle span{ - width:0; -} - -.edit-post-post-schedule__dialog .block-editor-publish-date-time-picker{ - margin:8px; -} - -.edit-post-post-slug{ - align-items:stretch; - display:flex; - flex-direction:column; -} - -.edit-post-post-status .edit-post-post-publish-dropdown__switch-to-draft{ - margin-top:15px; - text-align:center; - width:100%; -} - -.edit-post-post-template{ - justify-content:flex-start; - width:100%; -} -.edit-post-post-template span{ - display:block; - padding:6px 0; - width:45%; -} - -.edit-post-post-template__dropdown{ - max-width:55%; -} - -.components-button.edit-post-post-template__toggle{ - display:inline-block; - overflow:hidden; - text-overflow:ellipsis; - width:100%; -} - -.edit-post-post-template__dialog{ - z-index:99999; -} - -.edit-post-post-template__form{ - margin:8px; - min-width:248px; -} - -@media (min-width:782px){ - .edit-post-post-template__create-form{ - width:320px; - } -} - -.edit-post-post-url{ - align-items:flex-start; - justify-content:flex-start; - width:100%; -} -.edit-post-post-url span{ - display:block; - flex-shrink:0; - padding:6px 0; - width:45%; -} - -.components-button.edit-post-post-url__toggle{ - height:auto; - text-align:left; - white-space:normal; - word-break:break-word; -} - -.edit-post-post-url__dialog .editor-post-url{ - margin:8px; - min-width:248px; -} - -.edit-post-post-visibility{ - justify-content:flex-start; - width:100%; -} -.edit-post-post-visibility span{ - display:block; - padding:6px 0; - width:45%; -} - .edit-post-post-visibility__dialog .editor-post-visibility{ margin:8px; min-width:248px; } -.components-button.edit-post-sidebar__panel-tab{ - background:transparent; - border:none; - border-radius:0; - box-shadow:none; - cursor:pointer; - font-weight:500; - height:48px; - margin-left:0; - padding:3px 16px; - position:relative; -} -.components-button.edit-post-sidebar__panel-tab:focus:not(:disabled){ - box-shadow:none; - outline:none; - position:relative; -} -.components-button.edit-post-sidebar__panel-tab:after{ - background:var(--wp-admin-theme-color); - border-radius:0; - bottom:0; - content:""; - height:calc(var(--wp-admin-border-width-focus)*0); - left:0; - pointer-events:none; - position:absolute; - right:0; - transition:all .1s linear; -} -@media (prefers-reduced-motion:reduce){ - .components-button.edit-post-sidebar__panel-tab:after{ - transition-delay:0s; - transition-duration:0s; - } -} -.components-button.edit-post-sidebar__panel-tab.is-active:after{ - height:calc(var(--wp-admin-border-width-focus)*1); - outline:2px solid transparent; - outline-offset:-1px; -} -.components-button.edit-post-sidebar__panel-tab:before{ - border-radius:2px; - bottom:12px; - box-shadow:0 0 0 0 transparent; - content:""; - left:12px; - pointer-events:none; - position:absolute; - right:12px; - top:12px; - transition:all .1s linear; -} -@media (prefers-reduced-motion:reduce){ - .components-button.edit-post-sidebar__panel-tab:before{ - transition-delay:0s; - transition-duration:0s; - } -} -.components-button.edit-post-sidebar__panel-tab:focus-visible:before{ - box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); - outline:2px solid transparent; -} - h2.edit-post-template-summary__title{ font-weight:500; line-height:24px; @@ -1529,8 +944,9 @@ h2.edit-post-template-summary__title{ position:relative; width:100%; } -.edit-post-text-editor .editor-post-title{ +.edit-post-text-editor .editor-post-title.is-raw-text textarea,.edit-post-text-editor .editor-post-title:not(.is-raw-text){ border:1px solid #949494; + border-radius:0; font-family:Menlo,Consolas,monaco,monospace; font-size:2.5em; font-weight:400; @@ -1539,11 +955,11 @@ h2.edit-post-template-summary__title{ padding:16px; } @media (min-width:600px){ - .edit-post-text-editor .editor-post-title{ + .edit-post-text-editor .editor-post-title.is-raw-text textarea,.edit-post-text-editor .editor-post-title:not(.is-raw-text){ padding:24px; } } -.edit-post-text-editor .editor-post-title:focus{ +.edit-post-text-editor .editor-post-title.is-raw-text textarea:focus,.edit-post-text-editor .editor-post-title:not(.is-raw-text):focus{ border-color:var(--wp-admin-theme-color); box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); } @@ -1587,9 +1003,6 @@ h2.edit-post-template-summary__title{ line-height:36px; margin:0 auto 0 0; } -.edit-post-text-editor__toolbar .components-button svg{ - order:1; -} .edit-post-visual-editor{ background-color:#1e1e1e; @@ -1606,19 +1019,10 @@ h2.edit-post-template-summary__title{ font-size:13px; padding:6px 12px; } -.edit-post-visual-editor .components-button.has-icon,.edit-post-visual-editor .components-button.is-tertiary{ +.edit-post-visual-editor .components-button.has-icon{ padding:6px; } -.edit-post-visual-editor__post-title-wrapper{ - margin-bottom:var(--wp--style--block-gap); - margin-top:4rem; -} -.edit-post-visual-editor__post-title-wrapper .editor-post-title{ - margin-left:auto; - margin-right:auto; -} - .edit-post-visual-editor__content-area{ box-sizing:border-box; display:flex; @@ -1628,83 +1032,6 @@ h2.edit-post-template-summary__title{ width:100%; } -.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:0; -} -@media (min-width:783px){ - .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:160px; - } -} -@media (min-width:783px){ - .auto-fold .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:36px; - } -} -@media (min-width:961px){ - .auto-fold .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:160px; - } -} -.folded .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:0; -} -@media (min-width:783px){ - .folded .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:36px; - } -} - -body.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:0 !important; -} - -.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - display:block; - position:sticky; - top:0; - width:100%; - z-index:31; -} -@media (min-width:782px){ - .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - align-items:center; - border-bottom:none; - display:flex; - height:60px; - margin-left:180px; - min-height:auto; - position:fixed; - top:32px; - width:calc(100% - 180px); - } - .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{ - width:auto; - } - .is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-left:240px; - top:0; - } - .is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{ - width:auto; - } - .show-icon-labels .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-left:80px; - width:calc(100% - 140px); - } - .is-fullscreen-mode .show-icon-labels .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-left:144px; - } -} -@media (min-width:960px){ - .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed,.show-icon-labels .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - width:auto; - } - .is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - width:calc(100% - 536px); - } -} - .edit-post-welcome-guide,.edit-template-welcome-guide{ width:312px; } @@ -1804,10 +1131,10 @@ body.js.block-editor-page .media-frame select.attachment-filters:last-of-type{ } } -.components-modal__frame,.components-popover,.edit-post-editor__inserter-panel,.edit-post-header,.edit-post-sidebar,.edit-post-text-editor,.editor-post-publish-panel{ +.components-modal__frame,.components-popover,.edit-post-header,.edit-post-sidebar,.edit-post-text-editor,.editor-post-publish-panel{ box-sizing:border-box; } -.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before,.components-popover *,.components-popover :after,.components-popover :before,.edit-post-editor__inserter-panel *,.edit-post-editor__inserter-panel :after,.edit-post-editor__inserter-panel :before,.edit-post-header *,.edit-post-header :after,.edit-post-header :before,.edit-post-sidebar *,.edit-post-sidebar :after,.edit-post-sidebar :before,.edit-post-text-editor *,.edit-post-text-editor :after,.edit-post-text-editor :before,.editor-post-publish-panel *,.editor-post-publish-panel :after,.editor-post-publish-panel :before{ +.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before,.components-popover *,.components-popover :after,.components-popover :before,.edit-post-header *,.edit-post-header :after,.edit-post-header :before,.edit-post-sidebar *,.edit-post-sidebar :after,.edit-post-sidebar :before,.edit-post-text-editor *,.edit-post-text-editor :after,.edit-post-text-editor :before,.editor-post-publish-panel *,.editor-post-publish-panel :after,.editor-post-publish-panel :before{ box-sizing:inherit; } diff --git a/wp-includes/css/dist/edit-post/style.min.css b/wp-includes/css/dist/edit-post/style.min.css index f75e6c63c6..dd586d400f 100644 --- a/wp-includes/css/dist/edit-post/style.min.css +++ b/wp-includes/css/dist/edit-post/style.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-panel__header.interface-complementary-area-header__small{background:#fff;padding-right:4px}.components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:782px){.components-panel__header.interface-complementary-area-header__small{display:none}}.interface-complementary-area-header{background:#fff;padding-right:4px}.interface-complementary-area-header .components-button.has-icon{display:none;margin-left:auto}.interface-complementary-area-header .components-button.has-icon~.components-button{margin-left:0}@media (min-width:782px){.interface-complementary-area-header .components-button.has-icon{display:flex}.components-panel__header+.interface-complementary-area-header{margin-top:0}}.interface-complementary-area{background:#fff;color:#1e1e1e}@media (min-width:600px){.interface-complementary-area{-webkit-overflow-scrolling:touch}}@media (min-width:782px){.interface-complementary-area{width:280px}}.interface-complementary-area .components-panel{border:none;position:relative;z-index:0}.interface-complementary-area .components-panel__header{position:sticky;top:0;z-index:1}.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:48px}@media (min-width:782px){.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:0}}.interface-complementary-area p:not(.components-base-control__help){margin-top:0}.interface-complementary-area h2{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.interface-complementary-area h3{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.interface-complementary-area hr{border-bottom:1px solid #f0f0f0;border-top:none;margin:1.5em 0}.interface-complementary-area div.components-toolbar,.interface-complementary-area div.components-toolbar-group{box-shadow:none;margin-bottom:1.5em}.interface-complementary-area div.components-toolbar-group:last-child,.interface-complementary-area div.components-toolbar:last-child{margin-bottom:0}.interface-complementary-area .block-editor-skip-to-selected-block:focus{bottom:10px;left:auto;right:10px;top:auto}@media (min-width:782px){body.js.is-fullscreen-mode{height:calc(100% + 32px);margin-top:-32px}body.js.is-fullscreen-mode #adminmenumain,body.js.is-fullscreen-mode #wpadminbar{display:none}body.js.is-fullscreen-mode #wpcontent,body.js.is-fullscreen-mode #wpfooter{margin-left:0}}html.interface-interface-skeleton__html-container{position:fixed;width:100%}@media (min-width:782px){html.interface-interface-skeleton__html-container{position:static;width:auto}}.interface-interface-skeleton{bottom:0;display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;right:0;top:46px}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden}.interface-interface-skeleton{left:0}@media (min-width:783px){.interface-interface-skeleton{left:160px}}@media (min-width:783px){.auto-fold .interface-interface-skeleton{left:36px}}@media (min-width:961px){.auto-fold .interface-interface-skeleton{left:160px}}.folded .interface-interface-skeleton{left:0}@media (min-width:783px){.folded .interface-interface-skeleton{left:36px}}body.is-fullscreen-mode .interface-interface-skeleton{left:0!important}.interface-interface-skeleton__body{display:flex;flex-grow:1;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;z-index:20}@media (min-width:782px){.interface-interface-skeleton__content{z-index:auto}}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{background:#fff;bottom:0;color:#1e1e1e;flex-shrink:0;left:0;position:absolute;right:0;top:0;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;width:auto}.is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,.is-sidebar-opened .interface-interface-skeleton__sidebar{z-index:90}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-left:1px solid #e0e0e0}.interface-interface-skeleton__secondary-sidebar{border-right:1px solid #e0e0e0}}.interface-interface-skeleton__header{border-bottom:1px solid #e0e0e0;color:#1e1e1e;flex-shrink:0;height:auto;z-index:30}.interface-interface-skeleton__footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;color:#1e1e1e;display:none;flex-shrink:0;height:auto;left:0;position:absolute;width:100%;z-index:90}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{align-items:center;background:#fff;display:flex;font-size:13px;height:24px;padding:0 18px;z-index:30}.interface-interface-skeleton__actions{background:#fff;bottom:auto;color:#1e1e1e;left:auto;position:fixed!important;right:0;top:-9999em;width:100vw;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__actions{width:280px}}.interface-interface-skeleton__actions:focus,.interface-interface-skeleton__actions:focus-within{bottom:0;top:auto}.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:46px}@media (min-width:782px){.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{border-left:1px solid #ddd;top:32px}.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:0}}.interface-more-menu-dropdown{margin-left:-4px}.interface-more-menu-dropdown .components-button{padding:0 2px;width:auto}@media (min-width:600px){.interface-more-menu-dropdown{margin-left:0}.interface-more-menu-dropdown .components-button{padding:0 4px}}.interface-more-menu-dropdown__content .components-popover__content{min-width:280px}@media (min-width:480px){.interface-more-menu-dropdown__content .components-popover__content{max-width:480px}}.interface-more-menu-dropdown__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.interface-more-menu-dropdown__content{z-index:99998}.interface-pinned-items{display:flex;gap:4px;margin-right:-4px}.interface-pinned-items .components-button{display:none;margin:0}.interface-pinned-items .components-button[aria-controls="edit-post:block"],.interface-pinned-items .components-button[aria-controls="edit-post:document"],.interface-pinned-items .components-button[aria-controls="edit-site:block-inspector"],.interface-pinned-items .components-button[aria-controls="edit-site:global-styles"],.interface-pinned-items .components-button[aria-controls="edit-site:template"]{display:flex}.interface-pinned-items .components-button svg{max-height:24px;max-width:24px}@media (min-width:600px){.interface-pinned-items .components-button{display:flex}.interface-preferences-modal{height:calc(100% - 120px);width:calc(100% - 32px)}}@media (min-width:782px){.interface-preferences-modal{width:750px}}@media (min-width:960px){.interface-preferences-modal{height:70%}}@media (max-width:781px){.interface-preferences-modal .components-modal__content{padding:0}}.interface-preferences__tabs .components-tab-panel__tabs{left:16px;position:absolute;top:84px;width:160px}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{border-radius:2px;font-weight:400}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{background:#f0f0f0;box-shadow:none;font-weight:500}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active:after{content:none}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus-visible:before{content:none}.interface-preferences__tabs .components-tab-panel__tab-content{margin-left:160px;padding-left:24px}@media (max-width:781px){.interface-preferences__provider{height:100%}}.interface-preferences-modal__section{margin:0 0 2.5rem}.interface-preferences-modal__section:last-child{margin:0}.interface-preferences-modal__section-legend{margin-bottom:8px}.interface-preferences-modal__section-title{font-size:.9rem;font-weight:600;margin-top:0}.interface-preferences-modal__section-description{color:#757575;font-size:12px;font-style:normal;margin:-8px 0 8px}.interface-preferences-modal__option+.interface-preferences-modal__option{margin-top:16px}.interface-preferences-modal__option .components-base-control__help{margin-left:48px;margin-top:0}.edit-post-header{align-items:center;background:#fff;display:flex;flex-wrap:wrap;height:60px;max-width:100vw}@media (min-width:280px){.edit-post-header{flex-wrap:nowrap}}.edit-post-header>.edit-post-header__settings{order:1}@supports (position:sticky){.edit-post-header>.edit-post-header__settings{order:0}}.edit-post-header__toolbar{display:flex;flex-grow:1}.edit-post-header__toolbar .table-of-contents{display:none}@media (min-width:600px){.edit-post-header__toolbar .table-of-contents{display:block}}.edit-post-header__center{display:flex;flex-grow:1;justify-content:center}.edit-post-header__settings{align-items:center;display:inline-flex;flex-wrap:wrap;gap:4px;padding-right:4px}@media (min-width:600px){.edit-post-header__settings{gap:8px;padding-right:10px}}.edit-post-header-preview__grouping-external{display:flex;padding-bottom:0;position:relative}.edit-post-header-preview__button-external{display:flex;justify-content:flex-start;margin-right:auto;padding-left:8px;width:100%}.edit-post-header-preview__button-external svg{margin-left:auto}.edit-post-post-preview-dropdown .components-popover__content{padding-bottom:0}.edit-post-header__dropdown .components-button.has-icon,.show-icon-labels .edit-post-header .components-button.has-icon,.show-icon-labels.interface-pinned-items .components-button.has-icon{width:auto}.edit-post-header__dropdown .components-button.has-icon svg,.show-icon-labels .edit-post-header .components-button.has-icon svg,.show-icon-labels.interface-pinned-items .components-button.has-icon svg{display:none}.edit-post-header__dropdown .components-button.has-icon:after,.show-icon-labels .edit-post-header .components-button.has-icon:after,.show-icon-labels.interface-pinned-items .components-button.has-icon:after{content:attr(aria-label)}.edit-post-header__dropdown .components-button.has-icon[aria-disabled=true],.show-icon-labels .edit-post-header .components-button.has-icon[aria-disabled=true],.show-icon-labels.interface-pinned-items .components-button.has-icon[aria-disabled=true]{background-color:transparent}.edit-post-header__dropdown .is-tertiary:active,.show-icon-labels .edit-post-header .is-tertiary:active,.show-icon-labels.interface-pinned-items .is-tertiary:active{background-color:transparent;box-shadow:0 0 0 1.5px var(--wp-admin-theme-color)}.edit-post-header__dropdown .components-button.has-icon.button-toggle svg,.edit-post-header__dropdown .edit-post-fullscreen-mode-close.has-icon svg,.show-icon-labels .edit-post-header .components-button.has-icon.button-toggle svg,.show-icon-labels .edit-post-header .edit-post-fullscreen-mode-close.has-icon svg,.show-icon-labels.interface-pinned-items .components-button.has-icon.button-toggle svg,.show-icon-labels.interface-pinned-items .edit-post-fullscreen-mode-close.has-icon svg{display:block}.edit-post-header__dropdown .components-button.has-icon.button-toggle:after,.edit-post-header__dropdown .edit-post-fullscreen-mode-close.has-icon:after,.show-icon-labels .edit-post-header .components-button.has-icon.button-toggle:after,.show-icon-labels .edit-post-header .edit-post-fullscreen-mode-close.has-icon:after,.show-icon-labels.interface-pinned-items .components-button.has-icon.button-toggle:after,.show-icon-labels.interface-pinned-items .edit-post-fullscreen-mode-close.has-icon:after{content:none}.edit-post-header__dropdown .edit-post-fullscreen-mode-close.has-icon,.show-icon-labels .edit-post-header .edit-post-fullscreen-mode-close.has-icon,.show-icon-labels.interface-pinned-items .edit-post-fullscreen-mode-close.has-icon{width:60px}.edit-post-header__dropdown .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon,.show-icon-labels .edit-post-header .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon,.show-icon-labels.interface-pinned-items .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon{display:block}.edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{padding-left:8px;padding-right:8px}@media (min-width:600px){.edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{padding-left:12px;padding-right:12px}}.edit-post-header__dropdown .editor-post-save-draft.editor-post-save-draft:after,.edit-post-header__dropdown .editor-post-saved-state.editor-post-saved-state:after,.show-icon-labels .edit-post-header .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels .edit-post-header .editor-post-saved-state.editor-post-saved-state:after,.show-icon-labels.interface-pinned-items .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels.interface-pinned-items .editor-post-saved-state.editor-post-saved-state:after{content:none}.edit-post-header__dropdown .components-button.block-editor-list-view,.edit-post-header__dropdown .components-button.editor-history__redo,.edit-post-header__dropdown .components-button.editor-history__undo,.edit-post-header__dropdown .components-menu-item__button.components-menu-item__button,.edit-post-header__dropdown .table-of-contents .components-button{justify-content:flex-start;margin:0;padding:6px 6px 6px 40px;text-align:left;width:14.625rem}.show-icon-labels.interface-pinned-items{border-bottom:1px solid #ccc;display:block;margin:0 -12px;padding:6px 12px 12px}.show-icon-labels.interface-pinned-items>.components-button.has-icon{justify-content:flex-start;margin:0;padding:6px 6px 6px 8px;width:14.625rem}.show-icon-labels.interface-pinned-items>.components-button.has-icon[aria-expanded=true] svg{display:block;max-width:24px}.show-icon-labels.interface-pinned-items>.components-button.has-icon[aria-expanded=false]{padding-left:40px}.show-icon-labels.interface-pinned-items>.components-button.has-icon svg{margin-right:8px}.is-distraction-free .interface-interface-skeleton__header{border-bottom:none}.is-distraction-free .edit-post-header{-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;background-color:hsla(0,0%,100%,.9);border-bottom:1px solid #e0e0e0;position:absolute;width:100%}.is-distraction-free .edit-post-header>.edit-post-header__settings>.editor-post-preview{visibility:hidden}.is-distraction-free .edit-post-header>.edit-post-header__settings>.block-editor-post-preview__dropdown,.is-distraction-free .edit-post-header>.edit-post-header__settings>.interface-pinned-items,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .edit-post-header-toolbar__document-overview-toggle,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .edit-post-header-toolbar__inserter-toggle{display:none}.is-distraction-free .interface-interface-skeleton__header:focus-within{opacity:1!important}.is-distraction-free .interface-interface-skeleton__header:focus-within div{transform:translateX(0) translateZ(0)!important}.is-distraction-free .components-editor-notices__dismissible{position:absolute;z-index:35}.edit-post-fullscreen-mode-close.components-button{display:none}@media (min-width:782px){.edit-post-fullscreen-mode-close.components-button{align-items:center;align-self:stretch;background:#1e1e1e;border:none;border-radius:0;color:#fff;display:flex;height:61px;margin-bottom:-1px;position:relative;width:60px}.edit-post-fullscreen-mode-close.components-button:active{color:#fff}.edit-post-fullscreen-mode-close.components-button:focus{box-shadow:none}.edit-post-fullscreen-mode-close.components-button:before{border-radius:4px;bottom:10px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #1e1e1e;content:"";display:block;left:9px;position:absolute;right:9px;top:9px;transition:box-shadow .1s ease}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-fullscreen-mode-close.components-button:before{transition-delay:0s;transition-duration:0s}}@media (min-width:782px){.edit-post-fullscreen-mode-close.components-button:hover:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #757575}.edit-post-fullscreen-mode-close.components-button.has-icon:hover:before{box-shadow:none}.edit-post-fullscreen-mode-close.components-button:focus:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) hsla(0,0%,100%,.1),inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}}.edit-post-fullscreen-mode-close.components-button .edit-post-fullscreen-mode-close_site-icon{border-radius:2px;height:36px;margin-top:-1px;object-fit:cover;width:36px}.edit-post-header-toolbar{align-items:center;border:none;display:inline-flex}.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button{display:none}@media (min-width:600px){.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button{display:inline-flex}}.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle{display:inline-flex}.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle svg{transition:transform .2s cubic-bezier(.165,.84,.44,1)}@media (prefers-reduced-motion:reduce){.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle svg{transition-delay:0s;transition-duration:0s}}.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.is-pressed svg{transform:rotate(45deg)}.edit-post-header-toolbar .block-editor-list-view{display:none}@media (min-width:600px){.edit-post-header-toolbar .block-editor-list-view{display:flex}}.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon,.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon{height:36px;min-width:36px;padding:6px}.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon.is-pressed,.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon.is-pressed{background:#1e1e1e}.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon:focus:not(:disabled),.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 1px #fff;outline:1px solid transparent}.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-button.has-icon:before,.edit-post-header-toolbar .edit-post-header-toolbar__left>.components-dropdown>.components-button.has-icon:before{display:none}@media (min-width:600px){.edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-button,.edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-dropdown>[aria-expanded=false]{transition:opacity .1s linear}}@media (min-width:600px) and (prefers-reduced-motion:reduce){.edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-button,.edit-post-header.has-reduced-ui .edit-post-header-toolbar__left>*+.components-dropdown>[aria-expanded=false]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header-toolbar__left>*+.components-button,.edit-post-header.has-reduced-ui:not(:hover) .edit-post-header-toolbar__left>*+.components-dropdown>[aria-expanded=false]{opacity:0}}.edit-post-header-toolbar__left{align-items:center;display:inline-flex;margin-right:8px;padding-left:8px}@media (min-width:600px){.edit-post-header-toolbar__left{padding-left:24px}}@media (min-width:1280px){.edit-post-header-toolbar__left{padding-right:8px}}.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-icon{height:32px;margin-right:8px;min-width:32px;padding:0;width:32px}.show-icon-labels .edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-icon{height:36px;padding:0 8px;width:auto}.show-icon-labels .edit-post-header-toolbar__left>*+*{margin-left:8px}.edit-post-document-actions{align-items:center;background:#f0f0f0;border-radius:4px;display:flex;gap:8px;height:36px;justify-content:space-between;min-width:0;width:min(100%,450px)}.edit-post-document-actions .components-button:hover{background:#e0e0e0;color:var(--wp-block-synced-color)}.edit-post-document-actions__command,.edit-post-document-actions__title{color:var(--wp-block-synced-color);flex-grow:1;overflow:hidden}.edit-post-document-actions__title:hover{color:var(--wp-block-synced-color)}.edit-post-document-actions__title .block-editor-block-icon{flex-shrink:0}.edit-post-document-actions__title h1{color:var(--wp-block-synced-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-post-document-actions__shortcut{color:#2f2f2f}.edit-post-document-actions__back.components-button.has-icon.has-text{color:#757575;flex-shrink:0;gap:0;min-width:36px}.edit-post-document-actions__back.components-button.has-icon.has-text:hover{color:currentColor}.edit-post-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-post-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-post-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.edit-post-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.edit-post-keyboard-shortcut-help-modal__shortcut:empty{display:none}.edit-post-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 0 0 1rem;text-align:right}.edit-post-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination+.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.edit-post-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.edit-post-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.edit-post-layout__metaboxes{clear:both;flex-shrink:0}.edit-post-layout .components-editor-notices__snackbar{bottom:40px;padding-left:16px;padding-right:16px;position:fixed;right:0}.is-distraction-free .components-editor-notices__snackbar{bottom:20px}.edit-post-layout .components-editor-notices__snackbar{left:0}@media (min-width:783px){.edit-post-layout .components-editor-notices__snackbar{left:160px}}@media (min-width:783px){.auto-fold .edit-post-layout .components-editor-notices__snackbar{left:36px}}@media (min-width:961px){.auto-fold .edit-post-layout .components-editor-notices__snackbar{left:160px}}.folded .edit-post-layout .components-editor-notices__snackbar{left:0}@media (min-width:783px){.folded .edit-post-layout .components-editor-notices__snackbar{left:36px}}body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar{left:0!important}.edit-post-layout .editor-post-publish-panel{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:46px;z-index:100001}@media (min-width:782px){.edit-post-layout .editor-post-publish-panel{animation:edit-post-post-publish-panel__slide-in-animation .1s forwards;border-left:1px solid #ddd;left:auto;top:32px;transform:translateX(100%);width:281px;z-index:99998}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-layout .editor-post-publish-panel{animation-delay:0s;animation-duration:1ms}}@media (min-width:782px){body.is-fullscreen-mode .edit-post-layout .editor-post-publish-panel{top:0}[role=region]:focus .edit-post-layout .editor-post-publish-panel{transform:translateX(0)}}@keyframes edit-post-post-publish-panel__slide-in-animation{to{transform:translateX(0)}}.edit-post-layout .editor-post-publish-panel__header-publish-button{justify-content:center}.edit-post-layout__toggle-entities-saved-states-panel,.edit-post-layout__toggle-publish-panel,.edit-post-layout__toggle-sidebar-panel{background-color:#fff;border:1px dotted #ddd;bottom:auto;box-sizing:border-box;display:flex;height:auto!important;justify-content:center;left:auto;padding:24px;position:fixed!important;right:0;top:-9999em;width:280px;z-index:100000}.interface-interface-skeleton__sidebar:focus .edit-post-layout__toggle-sidebar-panel,.interface-interface-skeleton__sidebar:focus-within .edit-post-layout__toggle-sidebar-panel{bottom:0;top:auto}.interface-interface-skeleton__actions:focus .edit-post-layout__toggle-entities-saved-states-panel,.interface-interface-skeleton__actions:focus .edit-post-layout__toggle-publish-panel,.interface-interface-skeleton__actions:focus-within .edit-post-layout__toggle-entities-saved-states-panel,.interface-interface-skeleton__actions:focus-within .edit-post-layout__toggle-publish-panel{bottom:0;top:auto}.edit-post-layout .entities-saved-states__panel-header{height:61px}@media (min-width:782px){.edit-post-layout.has-fixed-toolbar .interface-interface-skeleton__header:not(:focus-within){z-index:19}}.edit-post-block-manager__no-results{font-style:italic;padding:24px 0;text-align:center}.edit-post-block-manager__search{margin:16px 0}.edit-post-block-manager__disabled-blocks-count{background-color:#fff;border:1px solid #ddd;border-width:1px 0;box-shadow:-32px 0 0 0 #fff,32px 0 0 0 #fff;padding:8px;position:sticky;text-align:center;top:-1px;z-index:2}.edit-post-block-manager__disabled-blocks-count~.edit-post-block-manager__results .edit-post-block-manager__category-title{top:35px}.edit-post-block-manager__disabled-blocks-count .is-link{margin-left:12px}.edit-post-block-manager__category{margin:0 0 24px}.edit-post-block-manager__category-title{background-color:#fff;padding:16px 0;position:sticky;top:-4px;z-index:1}.edit-post-block-manager__category-title .components-checkbox-control__label{font-weight:600}.edit-post-block-manager__checklist{margin-top:0}.edit-post-block-manager__category-title,.edit-post-block-manager__checklist-item{border-bottom:1px solid #ddd}.edit-post-block-manager__checklist-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:0;padding:8px 0 8px 16px}.components-modal__content .edit-post-block-manager__checklist-item.components-checkbox-control__input-container{margin:0 8px}.edit-post-block-manager__checklist-item .block-editor-block-icon{fill:#1e1e1e;margin-right:10px}.edit-post-block-manager__results{border-top:1px solid #ddd}.edit-post-block-manager__disabled-blocks-count+.edit-post-block-manager__results{border-top-width:0}.edit-post-meta-boxes-area{position:relative}.edit-post-meta-boxes-area .inside,.edit-post-meta-boxes-area__container{box-sizing:content-box}.edit-post-meta-boxes-area input,.edit-post-meta-boxes-area textarea{box-sizing:border-box}.edit-post-meta-boxes-area .postbox-header{border-bottom:0;border-top:1px solid #ddd}.edit-post-meta-boxes-area #poststuff{margin:0 auto;min-width:auto;padding-top:0}.edit-post-meta-boxes-area #poststuff .stuffbox>h3,.edit-post-meta-boxes-area #poststuff h2.hndle,.edit-post-meta-boxes-area #poststuff h3.hndle{box-sizing:border-box;color:inherit;font-weight:600;outline:none;padding:0 24px;position:relative;width:100%}.edit-post-meta-boxes-area .postbox{border:0;color:inherit;margin-bottom:0}.edit-post-meta-boxes-area .postbox>.inside{color:inherit;margin:0;padding:0 24px 24px}.edit-post-meta-boxes-area .postbox .handlediv{height:44px;width:44px}.edit-post-meta-boxes-area.is-loading:before{background:transparent;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.edit-post-meta-boxes-area .components-spinner{position:absolute;right:20px;top:10px;z-index:5}.edit-post-meta-boxes-area .is-hidden{display:none}.edit-post-meta-boxes-area .metabox-location-side .postbox input[type=checkbox]{border:1px solid #757575}.edit-post-meta-boxes-area .metabox-location-side .postbox input[type=checkbox]:checked{background:#fff;border-color:#757575}.edit-post-meta-boxes-area .metabox-location-side .postbox input[type=checkbox]:before{margin:-3px -4px}.edit-post-meta-boxes-area__clear{clear:both}.edit-post-editor__document-overview-panel,.edit-post-editor__inserter-panel{display:flex;flex-direction:column;height:100%}@media (min-width:782px){.edit-post-editor__document-overview-panel{width:350px}}.edit-post-editor__document-overview-panel .edit-post-editor__document-overview-panel__close-button{background:#fff;position:absolute;right:8px;top:6px;z-index:1}.edit-post-editor__document-overview-panel .components-tab-panel__tabs{border-bottom:1px solid #ddd;box-sizing:border-box;display:flex;padding-right:56px;width:100%}.edit-post-editor__document-overview-panel .components-tab-panel__tabs .edit-post-sidebar__panel-tab{margin-bottom:-1px;width:50%}.edit-post-editor__document-overview-panel .components-tab-panel__tab-content{height:calc(100% - 47px)}.edit-post-editor__inserter-panel-header{display:flex;justify-content:flex-end;padding-right:8px;padding-top:8px}.edit-post-editor__inserter-panel-content{height:calc(100% - 44px)}@media (min-width:782px){.edit-post-editor__inserter-panel-content{height:100%}}.edit-post-editor__list-view-container>.document-outline,.edit-post-editor__list-view-empty-headings,.edit-post-editor__list-view-panel-content{height:100%;overflow:auto;padding:8px 6px;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-gutter:auto;scrollbar-width:thin;will-change:transform}.edit-post-editor__list-view-container>.document-outline::-webkit-scrollbar,.edit-post-editor__list-view-empty-headings::-webkit-scrollbar,.edit-post-editor__list-view-panel-content::-webkit-scrollbar{height:12px;width:12px}.edit-post-editor__list-view-container>.document-outline::-webkit-scrollbar-track,.edit-post-editor__list-view-empty-headings::-webkit-scrollbar-track,.edit-post-editor__list-view-panel-content::-webkit-scrollbar-track{background-color:transparent}.edit-post-editor__list-view-container>.document-outline::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.edit-post-editor__list-view-container>.document-outline:focus-within::-webkit-scrollbar-thumb,.edit-post-editor__list-view-container>.document-outline:focus::-webkit-scrollbar-thumb,.edit-post-editor__list-view-container>.document-outline:hover::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings:focus-within::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings:focus::-webkit-scrollbar-thumb,.edit-post-editor__list-view-empty-headings:hover::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content:focus-within::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content:focus::-webkit-scrollbar-thumb,.edit-post-editor__list-view-panel-content:hover::-webkit-scrollbar-thumb{background-color:#949494}.edit-post-editor__list-view-container>.document-outline:focus,.edit-post-editor__list-view-container>.document-outline:focus-within,.edit-post-editor__list-view-container>.document-outline:hover,.edit-post-editor__list-view-empty-headings:focus,.edit-post-editor__list-view-empty-headings:focus-within,.edit-post-editor__list-view-empty-headings:hover,.edit-post-editor__list-view-panel-content:focus,.edit-post-editor__list-view-panel-content:focus-within,.edit-post-editor__list-view-panel-content:hover{scrollbar-color:#949494 transparent}@media (hover:none){.edit-post-editor__list-view-container>.document-outline,.edit-post-editor__list-view-empty-headings,.edit-post-editor__list-view-panel-content{scrollbar-color:#949494 transparent}}.edit-post-editor__list-view-empty-headings{color:#757575;text-align:center}.edit-post-editor__list-view-empty-headings>svg{margin-top:28px}.edit-post-editor__list-view-empty-headings>p{padding-left:32px;padding-right:32px}.edit-post-editor__list-view-overview{border-bottom:1px solid #ddd;display:flex;flex-direction:column;gap:8px;padding:16px}.edit-post-editor__list-view-overview>div>span:first-child{display:inline-block;width:90px}.edit-post-editor__list-view-overview>div>span{color:#757575;font-size:12px;line-height:1.4}.edit-post-editor__list-view-container{display:flex;flex-direction:column;height:100%}.edit-post-editor__document-overview-panel__tab-panel{height:100%}.components-panel__header.edit-post-sidebar__panel-tabs{border-top:0;justify-content:flex-start;margin-top:0;padding-left:0;padding-right:16px}.components-panel__header.edit-post-sidebar__panel-tabs ul{display:flex}.components-panel__header.edit-post-sidebar__panel-tabs li{margin:0}.components-panel__header.edit-post-sidebar__panel-tabs .components-button.has-icon{display:none;height:24px;margin:0 0 0 auto;min-width:24px;padding:0}@media (min-width:782px){.components-panel__header.edit-post-sidebar__panel-tabs .components-button.has-icon{display:flex}}.components-panel__body.is-opened.edit-post-last-revision__panel{height:48px;padding:0}.editor-post-last-revision__title.components-button{padding:16px}.edit-post-post-author,.edit-post-post-format{align-items:stretch;display:flex;flex-direction:column}.edit-post-post-schedule{align-items:flex-start;justify-content:flex-start;position:relative;width:100%}.edit-post-post-schedule span{display:block;flex-shrink:0;padding:6px 0;width:45%}.components-button.edit-post-post-schedule__toggle{height:auto;text-align:left;white-space:normal}.components-button.edit-post-post-schedule__toggle span{width:0}.edit-post-post-schedule__dialog .block-editor-publish-date-time-picker{margin:8px}.edit-post-post-slug{align-items:stretch;display:flex;flex-direction:column}.edit-post-post-status .edit-post-post-publish-dropdown__switch-to-draft{margin-top:15px;text-align:center;width:100%}.edit-post-post-template{justify-content:flex-start;width:100%}.edit-post-post-template span{display:block;padding:6px 0;width:45%}.edit-post-post-template__dropdown{max-width:55%}.components-button.edit-post-post-template__toggle{display:inline-block;overflow:hidden;text-overflow:ellipsis;width:100%}.edit-post-post-template__dialog{z-index:99999}.edit-post-post-template__form{margin:8px;min-width:248px}@media (min-width:782px){.edit-post-post-template__create-form{width:320px}}.edit-post-post-url{align-items:flex-start;justify-content:flex-start;width:100%}.edit-post-post-url span{display:block;flex-shrink:0;padding:6px 0;width:45%}.components-button.edit-post-post-url__toggle{height:auto;text-align:left;white-space:normal;word-break:break-word}.edit-post-post-url__dialog .editor-post-url{margin:8px;min-width:248px}.edit-post-post-visibility{justify-content:flex-start;width:100%}.edit-post-post-visibility span{display:block;padding:6px 0;width:45%}.edit-post-post-visibility__dialog .editor-post-visibility{margin:8px;min-width:248px}.components-button.edit-post-sidebar__panel-tab{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-left:0;padding:3px 16px;position:relative}.components-button.edit-post-sidebar__panel-tab:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-button.edit-post-sidebar__panel-tab:after{background:var(--wp-admin-theme-color);border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-post-sidebar__panel-tab:after{transition-delay:0s;transition-duration:0s}}.components-button.edit-post-sidebar__panel-tab.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-button.edit-post-sidebar__panel-tab:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-post-sidebar__panel-tab:before{transition-delay:0s;transition-duration:0s}}.components-button.edit-post-sidebar__panel-tab:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}h2.edit-post-template-summary__title{font-weight:500;line-height:24px;margin:0 0 4px}.edit-post-text-editor{background-color:#fff;flex-grow:1;position:relative;width:100%}.edit-post-text-editor .editor-post-title{border:1px solid #949494;font-family:Menlo,Consolas,monaco,monospace;font-size:2.5em;font-weight:400;line-height:1.4;max-width:none;padding:16px}@media (min-width:600px){.edit-post-text-editor .editor-post-title{padding:24px}}.edit-post-text-editor .editor-post-title:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-post-text-editor__body{margin-left:auto;margin-right:auto;max-width:1080px;padding:0 12px 12px;width:100%}@media (min-width:960px){.edit-post-text-editor__body{padding:0 24px 24px}}.edit-post-text-editor__toolbar{background:hsla(0,0%,100%,.8);display:flex;left:0;padding:4px 12px;position:sticky;right:0;top:0;z-index:1}@media (min-width:600px){.edit-post-text-editor__toolbar{padding:12px}}@media (min-width:960px){.edit-post-text-editor__toolbar{padding:12px 24px}}.edit-post-text-editor__toolbar h2{color:#1e1e1e;font-size:13px;line-height:36px;margin:0 auto 0 0}.edit-post-text-editor__toolbar .components-button svg{order:1}.edit-post-visual-editor{background-color:#1e1e1e;display:flex;flex:1 0 auto;flex-flow:column;position:relative}.edit-post-visual-editor:not(.has-inline-canvas){overflow:hidden}.edit-post-visual-editor .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;padding:6px 12px}.edit-post-visual-editor .components-button.has-icon,.edit-post-visual-editor .components-button.is-tertiary{padding:6px}.edit-post-visual-editor__post-title-wrapper{margin-bottom:var(--wp--style--block-gap);margin-top:4rem}.edit-post-visual-editor__post-title-wrapper .editor-post-title{margin-left:auto;margin-right:auto}.edit-post-visual-editor__content-area{box-sizing:border-box;display:flex;flex-grow:1;height:100%;position:relative;width:100%}.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:0}@media (min-width:783px){.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:160px}}@media (min-width:783px){.auto-fold .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:36px}}@media (min-width:961px){.auto-fold .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:160px}}.folded .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:0}@media (min-width:783px){.folded .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:36px}}body.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:0!important}.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{display:block;position:sticky;top:0;width:100%;z-index:31}@media (min-width:782px){.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{align-items:center;border-bottom:none;display:flex;height:60px;margin-left:180px;min-height:auto;position:fixed;top:32px;width:calc(100% - 180px)}.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{width:auto}.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{margin-left:240px;top:0}.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{width:auto}.show-icon-labels .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{margin-left:80px;width:calc(100% - 140px)}.is-fullscreen-mode .show-icon-labels .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{margin-left:144px}}@media (min-width:960px){.edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed,.show-icon-labels .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{width:auto}.is-fullscreen-mode .edit-post-visual-editor .block-editor-block-contextual-toolbar.is-fixed{width:calc(100% - 536px)}}.edit-post-welcome-guide,.edit-template-welcome-guide{width:312px}.edit-post-welcome-guide__image,.edit-template-welcome-guide__image{background:#00a0d2;margin:0 0 16px}.edit-post-welcome-guide__image>img,.edit-template-welcome-guide__image>img{display:block;max-width:100%;object-fit:cover}.edit-post-welcome-guide__heading,.edit-template-welcome-guide__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:24px;line-height:1.4;margin:16px 0;padding:0 32px}.edit-post-welcome-guide__text,.edit-template-welcome-guide__text{font-size:13px;line-height:1.4;margin:0 0 24px;padding:0 32px}.edit-post-welcome-guide__inserter-icon,.edit-template-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}.edit-template-welcome-guide .components-button svg{fill:#fff}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:782px){.edit-post-start-page-options__modal-content .block-editor-block-patterns-list{column-count:3}}@media (min-width:1280px){.edit-post-start-page-options__modal-content .block-editor-block-patterns-list{column-count:4}}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column;margin-bottom:24px}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__container{min-height:100px}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__content{width:100%}@keyframes edit-post__fade-in-animation{0%{opacity:0}to{opacity:1}}body.js.block-editor-page{background:#fff}body.js.block-editor-page #wpcontent{padding-left:0}body.js.block-editor-page #wpbody-content{padding-bottom:0}body.js.block-editor-page #wpbody-content>div:not(.block-editor):not(#screen-meta),body.js.block-editor-page #wpfooter{display:none}body.js.block-editor-page .a11y-speak-region{left:-1px;top:-1px}body.js.block-editor-page ul#adminmenu a.wp-has-current-submenu:after,body.js.block-editor-page ul#adminmenu>li.current>a.current:after{border-right-color:#fff}body.js.block-editor-page .media-frame select.attachment-filters:last-of-type{max-width:100%;width:auto}.block-editor-page #wpwrap{overflow-y:auto}@media (min-width:782px){.block-editor-page #wpwrap{overflow-y:initial}}.components-modal__frame,.components-popover,.edit-post-editor__inserter-panel,.edit-post-header,.edit-post-sidebar,.edit-post-text-editor,.editor-post-publish-panel{box-sizing:border-box}.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before,.components-popover *,.components-popover :after,.components-popover :before,.edit-post-editor__inserter-panel *,.edit-post-editor__inserter-panel :after,.edit-post-editor__inserter-panel :before,.edit-post-header *,.edit-post-header :after,.edit-post-header :before,.edit-post-sidebar *,.edit-post-sidebar :after,.edit-post-sidebar :before,.edit-post-text-editor *,.edit-post-text-editor :after,.edit-post-text-editor :before,.editor-post-publish-panel *,.editor-post-publish-panel :after,.editor-post-publish-panel :before{box-sizing:inherit}@media (min-width:600px){.block-editor__container{bottom:0;left:0;min-height:calc(100vh - 46px);position:absolute;right:0;top:0}}@media (min-width:782px){.block-editor__container{min-height:calc(100vh - 32px)}body.is-fullscreen-mode .block-editor__container{min-height:100vh}}.block-editor__container img{height:auto;max-width:100%}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}}.interface-interface-skeleton__sidebar{border-left:none}@media (min-width:782px){.is-sidebar-opened .interface-interface-skeleton__sidebar{border-left:1px solid #e0e0e0;overflow:hidden scroll}} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-panel__header.interface-complementary-area-header__small{background:#fff;padding-right:4px}.components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:782px){.components-panel__header.interface-complementary-area-header__small{display:none}}.interface-complementary-area-header{background:#fff;padding-right:4px}.interface-complementary-area-header .components-button.has-icon{display:none;margin-left:auto}.interface-complementary-area-header .components-button.has-icon~.components-button{margin-left:0}@media (min-width:782px){.interface-complementary-area-header .components-button.has-icon{display:flex}.components-panel__header+.interface-complementary-area-header{margin-top:0}}.interface-complementary-area{background:#fff;color:#1e1e1e}@media (min-width:600px){.interface-complementary-area{-webkit-overflow-scrolling:touch}}@media (min-width:782px){.interface-complementary-area{width:280px}}.interface-complementary-area .components-panel{border:none;position:relative;z-index:0}.interface-complementary-area .components-panel__header{position:sticky;top:0;z-index:1}.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:48px}@media (min-width:782px){.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:0}}.interface-complementary-area p:not(.components-base-control__help){margin-top:0}.interface-complementary-area h2{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.interface-complementary-area h3{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.interface-complementary-area hr{border-bottom:1px solid #f0f0f0;border-top:none;margin:1.5em 0}.interface-complementary-area div.components-toolbar,.interface-complementary-area div.components-toolbar-group{box-shadow:none;margin-bottom:1.5em}.interface-complementary-area div.components-toolbar-group:last-child,.interface-complementary-area div.components-toolbar:last-child{margin-bottom:0}.interface-complementary-area .block-editor-skip-to-selected-block:focus{bottom:10px;left:auto;right:10px;top:auto}@media (min-width:782px){body.js.is-fullscreen-mode{height:calc(100% + 32px);margin-top:-32px}body.js.is-fullscreen-mode #adminmenumain,body.js.is-fullscreen-mode #wpadminbar{display:none}body.js.is-fullscreen-mode #wpcontent,body.js.is-fullscreen-mode #wpfooter{margin-left:0}}html.interface-interface-skeleton__html-container{position:fixed;width:100%}@media (min-width:782px){html.interface-interface-skeleton__html-container{position:static;width:auto}}.interface-interface-skeleton{bottom:0;display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;right:0;top:46px}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden}.interface-interface-skeleton{left:0}@media (min-width:783px){.interface-interface-skeleton{left:160px}}@media (min-width:783px){.auto-fold .interface-interface-skeleton{left:36px}}@media (min-width:961px){.auto-fold .interface-interface-skeleton{left:160px}}.folded .interface-interface-skeleton{left:0}@media (min-width:783px){.folded .interface-interface-skeleton{left:36px}}body.is-fullscreen-mode .interface-interface-skeleton{left:0!important}.interface-interface-skeleton__body{display:flex;flex-grow:1;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;z-index:20}@media (min-width:782px){.interface-interface-skeleton__content{z-index:auto}}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{background:#fff;bottom:0;color:#1e1e1e;flex-shrink:0;left:0;position:absolute;right:0;top:0;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;width:auto}.is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,.is-sidebar-opened .interface-interface-skeleton__sidebar{z-index:90}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-left:1px solid #e0e0e0}.interface-interface-skeleton__secondary-sidebar{border-right:1px solid #e0e0e0}}.interface-interface-skeleton__header{border-bottom:1px solid #e0e0e0;color:#1e1e1e;flex-shrink:0;height:auto;z-index:30}.interface-interface-skeleton__footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;color:#1e1e1e;display:none;flex-shrink:0;height:auto;left:0;position:absolute;width:100%;z-index:90}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{align-items:center;background:#fff;display:flex;font-size:13px;height:24px;padding:0 18px;z-index:30}.interface-interface-skeleton__actions{background:#fff;bottom:auto;color:#1e1e1e;left:auto;position:fixed!important;right:0;top:-9999em;width:100vw;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__actions{width:280px}}.interface-interface-skeleton__actions:focus,.interface-interface-skeleton__actions:focus-within{bottom:0;top:auto}.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:46px}@media (min-width:782px){.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{border-left:1px solid #ddd;top:32px}.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:0}}.interface-more-menu-dropdown{margin-left:-4px}.interface-more-menu-dropdown .components-button{padding:0 2px;width:auto}@media (min-width:600px){.interface-more-menu-dropdown{margin-left:0}.interface-more-menu-dropdown .components-button{padding:0 4px}}.interface-more-menu-dropdown__content .components-popover__content{min-width:280px}@media (min-width:480px){.interface-more-menu-dropdown__content .components-popover__content{max-width:480px}}.interface-more-menu-dropdown__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.interface-more-menu-dropdown__content{z-index:99998}.interface-pinned-items{display:flex;gap:8px}.interface-pinned-items .components-button{display:none;margin:0}.interface-pinned-items .components-button[aria-controls="edit-post:block"],.interface-pinned-items .components-button[aria-controls="edit-post:document"],.interface-pinned-items .components-button[aria-controls="edit-site:block-inspector"],.interface-pinned-items .components-button[aria-controls="edit-site:global-styles"],.interface-pinned-items .components-button[aria-controls="edit-site:template"]{display:flex}.interface-pinned-items .components-button svg{max-height:24px;max-width:24px}@media (min-width:600px){.interface-pinned-items .components-button{display:flex}}.edit-post-header{align-items:center;background:#fff;display:flex;flex-wrap:wrap;height:60px;justify-content:space-between;max-width:100vw}@media (min-width:280px){.edit-post-header{flex-wrap:nowrap}}.edit-post-header>.edit-post-header__settings{order:1}@supports (position:sticky){.edit-post-header>.edit-post-header__settings{order:0}}.edit-post-header__toolbar{align-items:center;display:flex;flex-grow:3;flex-shrink:8;overflow:hidden;padding:2px 0}.edit-post-header__toolbar .table-of-contents{display:none}@media (min-width:600px){.edit-post-header__toolbar .table-of-contents{display:block}}.edit-post-header__toolbar .selected-block-tools-wrapper{display:flex;overflow-x:hidden}.edit-post-header__toolbar .selected-block-tools-wrapper .block-editor-block-contextual-toolbar{border-bottom:0}.edit-post-header__toolbar .selected-block-tools-wrapper:after{background-color:#ddd;content:"";margin-bottom:12px;margin-left:8px;margin-top:12px;width:1px}.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar,.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar-group{border-right:none}.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar-group:after,.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar:after{background-color:#ddd;content:"";margin-bottom:12px;margin-left:8px;margin-top:12px;width:1px}.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar .components-toolbar-group.components-toolbar-group:after,.edit-post-header__toolbar .selected-block-tools-wrapper .components-toolbar-group .components-toolbar-group.components-toolbar-group:after,.edit-post-header__toolbar .selected-block-tools-wrapper.is-collapsed{display:none}.edit-post-header__block-tools-toggle{margin-left:2px}.edit-post-header__center{display:flex;flex-grow:1;justify-content:center}.edit-post-header__center.is-collapsed{display:none}.edit-post-header__settings{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:8px;padding-right:4px}@media (min-width:600px){.edit-post-header__settings{padding-right:10px}}.edit-post-header__dropdown .components-button.has-icon,.show-icon-labels .edit-post-header .components-button.has-icon,.show-icon-labels.interface-pinned-items .components-button.has-icon{width:auto}.edit-post-header__dropdown .components-button.has-icon svg,.show-icon-labels .edit-post-header .components-button.has-icon svg,.show-icon-labels.interface-pinned-items .components-button.has-icon svg{display:none}.edit-post-header__dropdown .components-button.has-icon:after,.show-icon-labels .edit-post-header .components-button.has-icon:after,.show-icon-labels.interface-pinned-items .components-button.has-icon:after{content:attr(aria-label)}.edit-post-header__dropdown .components-button.has-icon[aria-disabled=true],.show-icon-labels .edit-post-header .components-button.has-icon[aria-disabled=true],.show-icon-labels.interface-pinned-items .components-button.has-icon[aria-disabled=true]{background-color:transparent}.edit-post-header__dropdown .is-tertiary:active,.show-icon-labels .edit-post-header .is-tertiary:active,.show-icon-labels.interface-pinned-items .is-tertiary:active{background-color:transparent;box-shadow:0 0 0 1.5px var(--wp-admin-theme-color)}.edit-post-header__dropdown .components-button.has-icon.button-toggle svg,.edit-post-header__dropdown .edit-post-fullscreen-mode-close.has-icon svg,.show-icon-labels .edit-post-header .components-button.has-icon.button-toggle svg,.show-icon-labels .edit-post-header .edit-post-fullscreen-mode-close.has-icon svg,.show-icon-labels.interface-pinned-items .components-button.has-icon.button-toggle svg,.show-icon-labels.interface-pinned-items .edit-post-fullscreen-mode-close.has-icon svg{display:block}.edit-post-header__dropdown .components-button.has-icon.button-toggle:after,.edit-post-header__dropdown .edit-post-fullscreen-mode-close.has-icon:after,.show-icon-labels .edit-post-header .components-button.has-icon.button-toggle:after,.show-icon-labels .edit-post-header .edit-post-fullscreen-mode-close.has-icon:after,.show-icon-labels.interface-pinned-items .components-button.has-icon.button-toggle:after,.show-icon-labels.interface-pinned-items .edit-post-fullscreen-mode-close.has-icon:after{content:none}.edit-post-header__dropdown .edit-post-fullscreen-mode-close.has-icon,.show-icon-labels .edit-post-header .edit-post-fullscreen-mode-close.has-icon,.show-icon-labels.interface-pinned-items .edit-post-fullscreen-mode-close.has-icon{width:60px}.edit-post-header__dropdown .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon,.show-icon-labels .edit-post-header .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon,.show-icon-labels.interface-pinned-items .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon{display:block}.edit-post-header__dropdown .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{padding-left:8px;padding-right:8px}@media (min-width:600px){.edit-post-header__dropdown .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.edit-post-header__dropdown .interface-pinned-items .components-button,.show-icon-labels .edit-post-header .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels .edit-post-header .interface-pinned-items .components-button,.show-icon-labels.interface-pinned-items .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,.show-icon-labels.interface-pinned-items .interface-pinned-items .components-button{padding-left:12px;padding-right:12px}}.edit-post-header__dropdown .editor-post-save-draft.editor-post-save-draft:after,.edit-post-header__dropdown .editor-post-saved-state.editor-post-saved-state:after,.show-icon-labels .edit-post-header .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels .edit-post-header .editor-post-saved-state.editor-post-saved-state:after,.show-icon-labels.interface-pinned-items .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels.interface-pinned-items .editor-post-saved-state.editor-post-saved-state:after{content:none}.show-icon-labels .edit-post-header__toolbar .block-editor-block-mover{border-left:none}.show-icon-labels .edit-post-header__toolbar .block-editor-block-mover:before{background-color:#ddd;content:"";margin-bottom:12px;margin-left:8px;margin-top:12px;width:1px}.show-icon-labels .edit-post-header__toolbar .block-editor-block-mover .block-editor-block-mover__move-button-container:before{background:#ddd;left:calc(50% + 1px);width:calc(100% - 24px)}.edit-post-header__dropdown .components-button.block-editor-list-view,.edit-post-header__dropdown .components-button.editor-history__redo,.edit-post-header__dropdown .components-button.editor-history__undo,.edit-post-header__dropdown .components-menu-item__button.components-menu-item__button,.edit-post-header__dropdown .table-of-contents .components-button{justify-content:flex-start;margin:0;padding:6px 6px 6px 40px;text-align:left;width:14.625rem}.show-icon-labels.interface-pinned-items{border-bottom:1px solid #ccc;display:block;margin:0 -12px;padding:6px 12px 12px}.show-icon-labels.interface-pinned-items>.components-button.has-icon{justify-content:flex-start;margin:0;padding:6px 6px 6px 8px;width:14.625rem}.show-icon-labels.interface-pinned-items>.components-button.has-icon[aria-expanded=true] svg{display:block;max-width:24px}.show-icon-labels.interface-pinned-items>.components-button.has-icon[aria-expanded=false]{padding-left:40px}.show-icon-labels.interface-pinned-items>.components-button.has-icon svg{margin-right:8px}@media (min-width:600px){.edit-post-header__post-preview-button{display:none}}.is-distraction-free .interface-interface-skeleton__header{border-bottom:none}.is-distraction-free .edit-post-header{-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;background-color:hsla(0,0%,100%,.9);border-bottom:1px solid #e0e0e0;position:absolute;width:100%}.is-distraction-free .edit-post-header>.edit-post-header__settings>.edit-post-header__post-preview-button{visibility:hidden}.is-distraction-free .edit-post-header>.edit-post-header__settings>.editor-preview-dropdown,.is-distraction-free .edit-post-header>.edit-post-header__settings>.interface-pinned-items,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .editor-document-tools__document-overview-toggle,.is-distraction-free .edit-post-header>.edit-post-header__toolbar .editor-document-tools__inserter-toggle{display:none}.is-distraction-free .interface-interface-skeleton__header:focus-within{opacity:1!important}.is-distraction-free .interface-interface-skeleton__header:focus-within div{transform:translateX(0) translateZ(0)!important}.is-distraction-free .components-editor-notices__dismissible{position:absolute;z-index:35}.edit-post-fullscreen-mode-close.components-button{display:none}@media (min-width:782px){.edit-post-fullscreen-mode-close.components-button{align-items:center;align-self:stretch;background:#1e1e1e;border:none;border-radius:0;color:#fff;display:flex;height:61px;margin-bottom:-1px;position:relative;width:60px}.edit-post-fullscreen-mode-close.components-button:active{color:#fff}.edit-post-fullscreen-mode-close.components-button:focus{box-shadow:none}.edit-post-fullscreen-mode-close.components-button:before{border-radius:4px;bottom:10px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #1e1e1e;content:"";display:block;left:9px;position:absolute;right:9px;top:9px;transition:box-shadow .1s ease}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-fullscreen-mode-close.components-button:before{transition-delay:0s;transition-duration:0s}}@media (min-width:782px){.edit-post-fullscreen-mode-close.components-button:hover:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #757575}.edit-post-fullscreen-mode-close.components-button.has-icon:hover:before{box-shadow:none}.edit-post-fullscreen-mode-close.components-button:focus:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) hsla(0,0%,100%,.1),inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}}.edit-post-fullscreen-mode-close.components-button .edit-post-fullscreen-mode-close_site-icon{border-radius:2px;height:36px;margin-top:-1px;object-fit:cover;width:36px}.edit-post-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-post-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-post-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.edit-post-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.edit-post-keyboard-shortcut-help-modal__shortcut:empty{display:none}.edit-post-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 0 0 1rem;text-align:right}.edit-post-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination+.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.edit-post-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.edit-post-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.edit-post-layout__metaboxes{clear:both;flex-shrink:0}.edit-post-layout .components-editor-notices__snackbar{bottom:40px;padding-left:16px;padding-right:16px;position:fixed;right:0}.is-distraction-free .components-editor-notices__snackbar{bottom:20px}.edit-post-layout .components-editor-notices__snackbar{left:0}@media (min-width:783px){.edit-post-layout .components-editor-notices__snackbar{left:160px}}@media (min-width:783px){.auto-fold .edit-post-layout .components-editor-notices__snackbar{left:36px}}@media (min-width:961px){.auto-fold .edit-post-layout .components-editor-notices__snackbar{left:160px}}.folded .edit-post-layout .components-editor-notices__snackbar{left:0}@media (min-width:783px){.folded .edit-post-layout .components-editor-notices__snackbar{left:36px}}body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar{left:0!important}.edit-post-layout .editor-post-publish-panel{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:46px;z-index:100001}@media (min-width:782px){.edit-post-layout .editor-post-publish-panel{animation:edit-post-post-publish-panel__slide-in-animation .1s forwards;border-left:1px solid #ddd;left:auto;top:32px;transform:translateX(100%);width:281px;z-index:99998}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-layout .editor-post-publish-panel{animation-delay:0s;animation-duration:1ms}}@media (min-width:782px){body.is-fullscreen-mode .edit-post-layout .editor-post-publish-panel{top:0}[role=region]:focus .edit-post-layout .editor-post-publish-panel{transform:translateX(0)}}@keyframes edit-post-post-publish-panel__slide-in-animation{to{transform:translateX(0)}}.edit-post-layout .editor-post-publish-panel__header-publish-button{justify-content:center}.edit-post-layout__toggle-entities-saved-states-panel,.edit-post-layout__toggle-publish-panel,.edit-post-layout__toggle-sidebar-panel{background-color:#fff;border:1px dotted #ddd;bottom:auto;box-sizing:border-box;display:flex;height:auto!important;justify-content:center;left:auto;padding:24px;position:fixed!important;right:0;top:-9999em;width:280px;z-index:100000}.interface-interface-skeleton__sidebar:focus .edit-post-layout__toggle-sidebar-panel,.interface-interface-skeleton__sidebar:focus-within .edit-post-layout__toggle-sidebar-panel{bottom:0;top:auto}.interface-interface-skeleton__actions:focus .edit-post-layout__toggle-entities-saved-states-panel,.interface-interface-skeleton__actions:focus .edit-post-layout__toggle-publish-panel,.interface-interface-skeleton__actions:focus-within .edit-post-layout__toggle-entities-saved-states-panel,.interface-interface-skeleton__actions:focus-within .edit-post-layout__toggle-publish-panel{bottom:0;top:auto}.edit-post-layout .entities-saved-states__panel-header{height:61px}.edit-post-meta-boxes-area{position:relative}.edit-post-meta-boxes-area .inside,.edit-post-meta-boxes-area__container{box-sizing:content-box}.edit-post-meta-boxes-area input,.edit-post-meta-boxes-area textarea{box-sizing:border-box}.edit-post-meta-boxes-area .postbox-header{border-bottom:0;border-top:1px solid #ddd}.edit-post-meta-boxes-area #poststuff{margin:0 auto;min-width:auto;padding-top:0}.edit-post-meta-boxes-area #poststuff .stuffbox>h3,.edit-post-meta-boxes-area #poststuff h2.hndle,.edit-post-meta-boxes-area #poststuff h3.hndle{box-sizing:border-box;color:inherit;font-weight:600;outline:none;padding:0 24px;position:relative;width:100%}.edit-post-meta-boxes-area .postbox{border:0;color:inherit;margin-bottom:0}.edit-post-meta-boxes-area .postbox>.inside{color:inherit;margin:0;padding:0 24px 24px}.edit-post-meta-boxes-area .postbox .handlediv{height:44px;width:44px}.edit-post-meta-boxes-area.is-loading:before{background:transparent;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.edit-post-meta-boxes-area .components-spinner{position:absolute;right:20px;top:10px;z-index:5}.edit-post-meta-boxes-area .is-hidden{display:none}.edit-post-meta-boxes-area .metabox-location-side .postbox input[type=checkbox]{border:1px solid #757575}.edit-post-meta-boxes-area .metabox-location-side .postbox input[type=checkbox]:checked{background:#fff;border-color:#757575}.edit-post-meta-boxes-area .metabox-location-side .postbox input[type=checkbox]:before{margin:-3px -4px}.edit-post-meta-boxes-area__clear{clear:both}.components-panel__header.edit-post-sidebar__panel-tabs{padding-left:0;padding-right:16px}.components-panel__header.edit-post-sidebar__panel-tabs .components-button.has-icon{height:24px;min-width:24px;padding:0}@media (min-width:782px){.components-panel__header.edit-post-sidebar__panel-tabs .components-button.has-icon{display:flex}}.edit-post-sidebar__panel{margin-top:-1px}.edit-post-post-format,.edit-post-post-slug{align-items:stretch;display:flex;flex-direction:column}.edit-post-post-visibility__dialog .editor-post-visibility{margin:8px;min-width:248px}h2.edit-post-template-summary__title{font-weight:500;line-height:24px;margin:0 0 4px}.edit-post-text-editor{background-color:#fff;flex-grow:1;position:relative;width:100%}.edit-post-text-editor .editor-post-title.is-raw-text textarea,.edit-post-text-editor .editor-post-title:not(.is-raw-text){border:1px solid #949494;border-radius:0;font-family:Menlo,Consolas,monaco,monospace;font-size:2.5em;font-weight:400;line-height:1.4;max-width:none;padding:16px}@media (min-width:600px){.edit-post-text-editor .editor-post-title.is-raw-text textarea,.edit-post-text-editor .editor-post-title:not(.is-raw-text){padding:24px}}.edit-post-text-editor .editor-post-title.is-raw-text textarea:focus,.edit-post-text-editor .editor-post-title:not(.is-raw-text):focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-post-text-editor__body{margin-left:auto;margin-right:auto;max-width:1080px;padding:0 12px 12px;width:100%}@media (min-width:960px){.edit-post-text-editor__body{padding:0 24px 24px}}.edit-post-text-editor__toolbar{background:hsla(0,0%,100%,.8);display:flex;left:0;padding:4px 12px;position:sticky;right:0;top:0;z-index:1}@media (min-width:600px){.edit-post-text-editor__toolbar{padding:12px}}@media (min-width:960px){.edit-post-text-editor__toolbar{padding:12px 24px}}.edit-post-text-editor__toolbar h2{color:#1e1e1e;font-size:13px;line-height:36px;margin:0 auto 0 0}.edit-post-visual-editor{background-color:#1e1e1e;display:flex;flex:1 0 auto;flex-flow:column;position:relative}.edit-post-visual-editor:not(.has-inline-canvas){overflow:hidden}.edit-post-visual-editor .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;padding:6px 12px}.edit-post-visual-editor .components-button.has-icon{padding:6px}.edit-post-visual-editor__content-area{box-sizing:border-box;display:flex;flex-grow:1;height:100%;position:relative;width:100%}.edit-post-welcome-guide,.edit-template-welcome-guide{width:312px}.edit-post-welcome-guide__image,.edit-template-welcome-guide__image{background:#00a0d2;margin:0 0 16px}.edit-post-welcome-guide__image>img,.edit-template-welcome-guide__image>img{display:block;max-width:100%;object-fit:cover}.edit-post-welcome-guide__heading,.edit-template-welcome-guide__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:24px;line-height:1.4;margin:16px 0;padding:0 32px}.edit-post-welcome-guide__text,.edit-template-welcome-guide__text{font-size:13px;line-height:1.4;margin:0 0 24px;padding:0 32px}.edit-post-welcome-guide__inserter-icon,.edit-template-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}.edit-template-welcome-guide .components-button svg{fill:#fff}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:782px){.edit-post-start-page-options__modal-content .block-editor-block-patterns-list{column-count:3}}@media (min-width:1280px){.edit-post-start-page-options__modal-content .block-editor-block-patterns-list{column-count:4}}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column;margin-bottom:24px}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__container{min-height:100px}.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__content{width:100%}@keyframes edit-post__fade-in-animation{0%{opacity:0}to{opacity:1}}body.js.block-editor-page{background:#fff}body.js.block-editor-page #wpcontent{padding-left:0}body.js.block-editor-page #wpbody-content{padding-bottom:0}body.js.block-editor-page #wpbody-content>div:not(.block-editor):not(#screen-meta),body.js.block-editor-page #wpfooter{display:none}body.js.block-editor-page .a11y-speak-region{left:-1px;top:-1px}body.js.block-editor-page ul#adminmenu a.wp-has-current-submenu:after,body.js.block-editor-page ul#adminmenu>li.current>a.current:after{border-right-color:#fff}body.js.block-editor-page .media-frame select.attachment-filters:last-of-type{max-width:100%;width:auto}.block-editor-page #wpwrap{overflow-y:auto}@media (min-width:782px){.block-editor-page #wpwrap{overflow-y:initial}}.components-modal__frame,.components-popover,.edit-post-header,.edit-post-sidebar,.edit-post-text-editor,.editor-post-publish-panel{box-sizing:border-box}.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before,.components-popover *,.components-popover :after,.components-popover :before,.edit-post-header *,.edit-post-header :after,.edit-post-header :before,.edit-post-sidebar *,.edit-post-sidebar :after,.edit-post-sidebar :before,.edit-post-text-editor *,.edit-post-text-editor :after,.edit-post-text-editor :before,.editor-post-publish-panel *,.editor-post-publish-panel :after,.editor-post-publish-panel :before{box-sizing:inherit}@media (min-width:600px){.block-editor__container{bottom:0;left:0;min-height:calc(100vh - 46px);position:absolute;right:0;top:0}}@media (min-width:782px){.block-editor__container{min-height:calc(100vh - 32px)}body.is-fullscreen-mode .block-editor__container{min-height:100vh}}.block-editor__container img{height:auto;max-width:100%}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}}.interface-interface-skeleton__sidebar{border-left:none}@media (min-width:782px){.is-sidebar-opened .interface-interface-skeleton__sidebar{border-left:1px solid #e0e0e0;overflow:hidden scroll}} \ No newline at end of file diff --git a/wp-includes/css/dist/edit-site/style-rtl.css b/wp-includes/css/dist/edit-site/style-rtl.css index b71ff629e2..3028af9171 100644 --- a/wp-includes/css/dist/edit-site/style-rtl.css +++ b/wp-includes/css/dist/edit-site/style-rtl.css @@ -359,8 +359,7 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .interface-pinned-items{ display:flex; - gap:4px; - margin-left:-4px; + gap:8px; } .interface-pinned-items .components-button{ display:none; @@ -377,92 +376,421 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .interface-pinned-items .components-button{ display:flex; } - .interface-preferences-modal{ - height:calc(100% - 120px); - width:calc(100% - 32px); - } -} -@media (min-width:782px){ - .interface-preferences-modal{ - width:750px; - } -} -@media (min-width:960px){ - .interface-preferences-modal{ - height:70%; - } -} -@media (max-width:781px){ - .interface-preferences-modal .components-modal__content{ - padding:0; - } } -.interface-preferences__tabs .components-tab-panel__tabs{ +.dataviews-wrapper{ + box-sizing:border-box; + height:100%; + overflow:auto; + scroll-padding-bottom:64px; + width:100%; +} +.dataviews-wrapper>div{ + min-height:100%; +} + +.dataviews-filters__view-actions{ + padding:12px 32px; +} +.dataviews-filters__view-actions .components-search-control{ + flex-grow:1; + max-width:240px; +} + +.dataviews-filters__view-actions.components-h-stack{ + align-items:center; +} + +.dataviews-filters-button{ + position:relative; +} + +.dataviews-filters-count{ + align-items:center; + background-color:var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba)); + border-radius:8px; + color:var(--wp-components-color-accent-inverted, #fff); + display:flex; + font-size:11px; + font-weight:300; + height:16px; + justify-content:center; + left:0; + min-width:16px; + padding:0 4px; position:absolute; - right:16px; - top:84px; - width:160px; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{ - border-radius:2px; - font-weight:400; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{ - background:#f0f0f0; - box-shadow:none; - font-weight:500; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active:after{ - content:none; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled){ - box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); - outline:2px solid transparent; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus-visible:before{ - content:none; -} -.interface-preferences__tabs .components-tab-panel__tab-content{ - margin-right:160px; - padding-right:24px; + top:0; + transform:translateX(-40%) translateY(-40%); } -@media (max-width:781px){ - .interface-preferences__provider{ - height:100%; +.dataviews-pagination{ + -webkit-backdrop-filter:blur(6px); + backdrop-filter:blur(6px); + background-color:hsla(0,0%,100%,.8); + border-top:1px solid #f0f0f0; + bottom:0; + color:#757575; + margin-top:auto; + padding:12px 32px; + position:sticky; +} + +.dataviews-filters-options{ + margin:32px 0 16px; +} + +.dataviews-view-table-wrapper{ + overflow-x:auto; +} + +.dataviews-view-table{ + border-collapse:collapse; + border-color:inherit; + color:#757575; + position:relative; + text-indent:0; + width:100%; +} +.dataviews-view-table a{ + color:#1e1e1e; + font-weight:500; + text-decoration:none; +} +.dataviews-view-table th{ + color:var(--wp-components-color-foreground, #1e1e1e); + font-size:13px; + font-weight:400; + text-align:right; +} +.dataviews-view-table td,.dataviews-view-table th{ + padding:12px; + white-space:nowrap; +} +@media (min-width:1440px){ + .dataviews-view-table td,.dataviews-view-table th{ + min-width:200px; } } -.interface-preferences-modal__section{ - margin:0 0 2.5rem; +.dataviews-view-table td[data-field-id=actions],.dataviews-view-table th[data-field-id=actions]{ + text-align:left; } -.interface-preferences-modal__section:last-child{ +.dataviews-view-table td.dataviews-view-table__checkbox-column,.dataviews-view-table th.dataviews-view-table__checkbox-column{ + padding-left:0; +} +.dataviews-view-table td .components-checkbox-control__input-container,.dataviews-view-table th .components-checkbox-control__input-container{ + margin:4px; +} +.dataviews-view-table tr{ + border-bottom:1px solid #f0f0f0; +} +.dataviews-view-table tr .dataviews-view-table-header-button{ + gap:4px; +} +.dataviews-view-table tr td:first-child,.dataviews-view-table tr th:first-child{ + padding-right:32px; +} +.dataviews-view-table tr td:first-child .dataviews-view-table-header,.dataviews-view-table tr td:first-child .dataviews-view-table-header-button,.dataviews-view-table tr th:first-child .dataviews-view-table-header,.dataviews-view-table tr th:first-child .dataviews-view-table-header-button{ + margin-right:-8px; +} +.dataviews-view-table tr td:last-child,.dataviews-view-table tr th:last-child{ + padding-left:32px; +} +.dataviews-view-table tr:last-child{ + border-bottom:0; +} +.dataviews-view-table tr:hover{ + background-color:#f8f8f8; +} +.dataviews-view-table tr .components-checkbox-control__input{ + opacity:0; +} +.dataviews-view-table tr .components-checkbox-control__input:checked,.dataviews-view-table tr .components-checkbox-control__input:focus,.dataviews-view-table tr .components-checkbox-control__input:indeterminate{ + opacity:1; +} +.dataviews-view-table tr:focus-within .components-checkbox-control__input,.dataviews-view-table tr:hover .components-checkbox-control__input{ + opacity:1; +} +.dataviews-view-table tr.is-selected{ + background-color:rgba(var(--wp-admin-theme-color--rgb), .04); + color:#757575; +} +.dataviews-view-table tr.is-selected:hover{ + background-color:rgba(var(--wp-admin-theme-color--rgb), .08); +} +.dataviews-view-table thead tr{ + border:0; +} +.dataviews-view-table thead th{ + background-color:#fff; + box-shadow:inset 0 -1px 0 #f0f0f0; + font-size:11px; + font-weight:500; + padding-bottom:8px; + padding-right:4px; + padding-top:8px; + position:sticky; + text-transform:uppercase; + top:-1px; + z-index:1; +} +.dataviews-view-table tbody td{ + vertical-align:top; +} +.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper{ + align-items:center; + display:flex; + min-height:32px; +} +.dataviews-view-table .dataviews-view-table-header-button{ + font-size:11px; + font-weight:500; + padding:4px 8px; + text-transform:uppercase; +} +.dataviews-view-table .dataviews-view-table-header-button:not(:hover){ + color:#1e1e1e; +} +.dataviews-view-table .dataviews-view-table-header-button span{ + speak:none; +} +.dataviews-view-table .dataviews-view-table-header-button span:empty{ + display:none; +} +.dataviews-view-table .dataviews-view-table-header{ + padding-right:4px; +} +.dataviews-view-table .dataviews-view-table__actions-column{ + width:1%; +} + +.dataviews-view-grid__primary-field,.dataviews-view-list__primary-field,.dataviews-view-table__primary-field{ + color:#1e1e1e; + display:block; + font-size:13px; + font-weight:500; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + width:100%; +} +.dataviews-view-grid__primary-field a,.dataviews-view-list__primary-field a,.dataviews-view-table__primary-field a{ + color:inherit; + display:block; + overflow:hidden; + text-decoration:none; + text-overflow:ellipsis; + white-space:nowrap; + width:100%; +} +.dataviews-view-grid__primary-field a:hover,.dataviews-view-list__primary-field a:hover,.dataviews-view-table__primary-field a:hover{ + color:#1e1e1e; +} +.dataviews-view-grid__primary-field button.components-button.is-link,.dataviews-view-list__primary-field button.components-button.is-link,.dataviews-view-table__primary-field button.components-button.is-link{ + color:inherit; + display:block; + font-weight:inherit; + overflow:hidden; + text-decoration:none; + text-overflow:ellipsis; + white-space:nowrap; + width:100%; +} + +.dataviews-view-grid{ + grid-template-columns:repeat(2, minmax(0, 1fr)) !important; + margin-bottom:24px; + padding:0 32px; +} +@media (min-width:1080px){ + .dataviews-view-grid{ + grid-template-columns:repeat(3, minmax(0, 1fr)) !important; + } +} +@media (min-width:1440px){ + .dataviews-view-grid{ + grid-template-columns:repeat(4, minmax(0, 1fr)) !important; + } +} +.dataviews-view-grid .dataviews-view-grid__card{ + border:1px solid #e0e0e0; + border-radius:4px; + height:100%; + justify-content:flex-start; +} +.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-actions{ + padding:0 4px; +} +.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field{ + min-height:40px; +} +.dataviews-view-grid .dataviews-view-grid__media{ + aspect-ratio:1/1; + background-color:#f0f0f0; + border-bottom:1px solid #e0e0e0; + border-radius:3px 3px 0 0; + min-height:200px; + width:100%; +} +.dataviews-view-grid .dataviews-view-grid__media img{ + height:100%; + object-fit:cover; + width:100%; +} +.dataviews-view-grid .dataviews-view-grid__primary-field{ + padding:8px; +} +.dataviews-view-grid .dataviews-view-grid__fields{ + font-size:12px; + line-height:16px; + position:relative; +} +.dataviews-view-grid .dataviews-view-grid__fields:not(:empty){ + padding:0 12px 12px; +} +.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-value{ + color:#757575; +} + +.dataviews-view-list{ + margin:0; + padding:8px; +} +.dataviews-view-list li{ margin:0; } - -.interface-preferences-modal__section-legend{ - margin-bottom:8px; +.dataviews-view-list li .dataviews-view-list__item-wrapper{ + border-radius:4px; + padding-left:24px; + position:relative; } - -.interface-preferences-modal__section-title{ - font-size:.9rem; - font-weight:600; - margin-top:0; +.dataviews-view-list li .dataviews-view-list__item-wrapper:after{ + background:#f0f0f0; + content:""; + height:1px; + left:24px; + position:absolute; + right:24px; + top:100%; } - -.interface-preferences-modal__section-description{ +.dataviews-view-list li:not(.is-selected):hover,.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields,.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field{ + color:var(--wp-admin-theme-color); +} +.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper{ + background-color:var(--wp-admin-theme-color); + color:#fff; +} +.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .components-button,.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .components-button,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field{ + color:#fff; +} +.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper:after,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper:after{ + background:transparent; +} +.dataviews-view-list .dataviews-view-list__item{ + cursor:pointer; + padding:12px 24px 12px 0; + width:100%; +} +.dataviews-view-list .dataviews-view-list__item:focus:before{ + border-radius:4px; + bottom:-1px; + box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + content:""; + left:-1px; + position:absolute; + right:-1px; + top:-1px; + z-index:-1; +} +.dataviews-view-list .dataviews-view-list__item h3{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; +} +.dataviews-view-list .dataviews-view-list__media-wrapper{ + background-color:#f0f0f0; + border-radius:4px; + flex-shrink:0; + height:32px; + overflow:hidden; + position:relative; + width:32px; +} +.dataviews-view-list .dataviews-view-list__media-wrapper img{ + height:100%; + object-fit:cover; + width:100%; +} +.dataviews-view-list .dataviews-view-list__media-wrapper:after{ + border-radius:4px; + box-shadow:inset 0 0 0 1px rgba(0,0,0,.1); + content:""; + height:100%; + position:absolute; + right:0; + top:0; + width:100%; +} +.dataviews-view-list .dataviews-view-list__media-placeholder{ + background-color:#e0e0e0; + height:32px; + min-width:32px; +} +.dataviews-view-list .dataviews-view-list__fields{ color:#757575; - font-size:12px; - font-style:normal; - margin:-8px 0 8px; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; +} +.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field{ + margin-left:12px; +} +.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:last-child{ + margin-left:0; +} +.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:empty{ + display:none; +} +.dataviews-view-list+.dataviews-pagination{ + justify-content:space-between; +} +.dataviews-view-list .dataviews-view-list__details-button{ + align-self:center; + opacity:0; +} +.dataviews-view-list li.is-selected .dataviews-view-list__details-button,.dataviews-view-list li:focus-within .dataviews-view-list__details-button,.dataviews-view-list li:hover .dataviews-view-list__details-button{ + opacity:1; +} +.dataviews-view-list li.is-selected .dataviews-view-list__details-button:focus{ + box-shadow:0 0 0 var(--wp-admin-border-width-focus) currentColor; } -.interface-preferences-modal__option+.interface-preferences-modal__option{ - margin-top:16px; +.dataviews-action-modal{ + z-index:1000001; } -.interface-preferences-modal__option .components-base-control__help{ - margin-right:48px; - margin-top:0; + +.dataviews-loading,.dataviews-no-results{ + padding:0 32px; +} + +.dataviews-view-table-selection-checkbox label{ + clip:rect(0, 0, 0, 0); + border:0; + height:1px; + margin:-1px; + overflow:hidden; + padding:0; + position:absolute; + white-space:nowrap; + width:1px; +} + +.dataviews-filters__custom-menu-radio-item-prefix{ + display:block; + width:24px; +} + +.dataviews-bulk-edit-button.components-button{ + flex-shrink:0; } .edit-site-custom-template-modal__contents-wrapper{ @@ -496,7 +824,8 @@ body.is-fullscreen-mode .interface-interface-skeleton{ } @media (min-width:600px){ .edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list{ - overflow:scroll; + max-height:224px; + overflow-y:auto; } } .edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item{ @@ -645,7 +974,7 @@ body.is-fullscreen-mode .interface-interface-skeleton{ padding:6px; } -.edit-site-block-editor__block-list.is-navigation-block{ +.edit-site-editor-canvas__block-list.is-navigation-block{ padding:24px; } @@ -663,9 +992,6 @@ body.is-fullscreen-mode .interface-interface-skeleton{ height:100%; width:100%; } -.edit-site-visual-editor .edit-site-visual-editor__editor-canvas{ - height:100%; -} .edit-site-visual-editor .edit-site-visual-editor__editor-canvas.is-focused{ outline:calc(var(--wp-admin-border-width-focus)*2) solid var(--wp-admin-theme-color); outline-offset:calc(var(--wp-admin-border-width-focus)*-2); @@ -687,9 +1013,6 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .edit-site-visual-editor.is-view-mode{ box-shadow:0 20px 25px -5px rgba(0,0,0,.8),0 8px 10px -6px rgba(0,0,0,.8); } -.edit-site-visual-editor.is-view-mode .block-editor-block-contextual-toolbar.is-fixed{ - display:none; -} .edit-site-visual-editor__back-button{ color:#fff; @@ -701,6 +1024,10 @@ body.is-fullscreen-mode .interface-interface-skeleton{ color:#f0f0f0; } +.is-distraction-free .edit-site-visual-editor__back-button{ + display:none; +} + .resizable-editor__drag-handle{ -webkit-appearance:none; appearance:none; @@ -776,82 +1103,6 @@ body.is-fullscreen-mode .interface-interface-skeleton{ box-shadow:inset 0 0 0 2px var(--wp-admin-theme-color); } -.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:0; -} -@media (min-width:783px){ - .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:160px; - } -} -@media (min-width:783px){ - .auto-fold .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:36px; - } -} -@media (min-width:961px){ - .auto-fold .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:160px; - } -} -.folded .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:0; -} -@media (min-width:783px){ - .folded .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:36px; - } -} - -body.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:0 !important; -} - -.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - display:block; - position:sticky; - top:0; - width:100%; - z-index:31; -} -@media (min-width:782px){ - .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - align-items:center; - display:flex; - height:60px; - margin-right:180px; - min-height:auto; - position:fixed; - top:32px; - width:calc(100% - 180px); - } - .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{ - width:auto; - } - .is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-right:240px; - top:0; - } - .is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{ - width:auto; - } - .show-icon-labels .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-right:80px; - width:calc(100% - 140px); - } - .is-fullscreen-mode .show-icon-labels .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-right:144px; - } -} -@media (min-width:960px){ - .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed,.show-icon-labels .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - width:auto; - } - .is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - width:calc(100% - 536px); - } -} - .edit-site-canvas-loader{ align-items:center; animation:edit-site-canvas-loader__fade-in-animation .5s ease .2s; @@ -927,9 +1178,6 @@ body.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual- line-height:36px; margin:0 0 0 auto; } -.edit-site-code-editor__toolbar .components-button svg{ - order:1; -} textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{ border:1px solid #949494; @@ -1018,6 +1266,10 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp width:24px; } +.edit-site-global-styles-screen-typography__font-variants-count{ + color:#757575; +} + .edit-site-global-styles-screen-colors{ margin:16px; } @@ -1142,81 +1394,94 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp fill:currentColor; } -[class][class].edit-site-global-styles-sidebar__revisions-count-badge{ - align-items:center; - background:#2f2f2f; - border-radius:2px; - color:#fff; - display:inline-flex; - justify-content:center; - min-height:24px; - min-width:24px; -} - -.edit-site-global-styles-screen-revisions{ - margin:16px; -} - .edit-site-global-styles-screen-revisions__revisions-list{ + flex-grow:1; list-style:none; - margin:0; + margin:0 16px 16px; } .edit-site-global-styles-screen-revisions__revisions-list li{ - border-right:1px solid #ddd; margin-bottom:0; } .edit-site-global-styles-screen-revisions__revision-item{ - padding:8px 12px 8px 0; + cursor:pointer; + display:flex; + flex-direction:column; position:relative; } -.edit-site-global-styles-screen-revisions__revision-item:first-child{ - padding-top:0; +.edit-site-global-styles-screen-revisions__revision-item:hover{ + background:rgba(var(--wp-admin-theme-color--rgb), .04); } -.edit-site-global-styles-screen-revisions__revision-item:last-child{ - padding-bottom:0; +.edit-site-global-styles-screen-revisions__revision-item:hover .edit-site-global-styles-screen-revisions__date{ + color:var(--wp-admin-theme-color); +} +.edit-site-global-styles-screen-revisions__revision-item:after,.edit-site-global-styles-screen-revisions__revision-item:before{ + content:"\a"; + display:block; + position:absolute; } .edit-site-global-styles-screen-revisions__revision-item:before{ background:#ddd; + border:4px solid transparent; border-radius:50%; - content:"\a"; - display:inline-block; height:8px; - position:absolute; - right:0; - top:50%; + right:17px; + top:18px; transform:translate(50%, -50%); width:8px; + z-index:1; +} +.edit-site-global-styles-screen-revisions__revision-item.is-selected{ + border-radius:2px; + outline:3px solid transparent; + outline-offset:-2px; } .edit-site-global-styles-screen-revisions__revision-item.is-selected:before{ background:var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba)); } - -.edit-site-global-styles-screen-revisions__revision-button{ +.edit-site-global-styles-screen-revisions__revision-item:after{ + border:.5px solid #ddd; + height:100%; + right:16px; + top:0; + width:0; +} +.edit-site-global-styles-screen-revisions__revision-item:first-child:after{ + top:18px; +} +.edit-site-global-styles-screen-revisions__revision-item:last-child:after{ + height:18px; +} +.edit-site-global-styles-screen-revisions__revision-item .edit-site-global-styles-screen-revisions__revision-button{ display:block; height:auto; - padding:8px 12px; + outline-offset:-2px; + padding:12px 40px 8px 12px; + position:relative; width:100%; -} -.edit-site-global-styles-screen-revisions__revision-button:hover{ - background:rgba(var(--wp-admin-theme-color--rgb), .04); -} -.edit-site-global-styles-screen-revisions__revision-button:hover .edit-site-global-styles-screen-revisions__date{ - color:var(--wp-admin-theme-color); + z-index:1; } -.is-selected .edit-site-global-styles-screen-revisions__revision-button{ +.is-selected{ background:rgba(var(--wp-admin-theme-color--rgb), .04); color:var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba)); +} +.is-selected .edit-site-global-styles-screen-revisions__revision-button{ opacity:1; } -.is-selected .edit-site-global-styles-screen-revisions__meta{ +.is-selected .edit-site-global-styles-screen-revisions__date{ color:var(--wp-admin-theme-color); } -.edit-site-global-styles-screen-revisions__button{ - justify-content:center; - width:100%; +.edit-site-global-styles-screen-revisions__applied-text,.edit-site-global-styles-screen-revisions__apply-button.is-primary{ + align-self:flex-start; + margin:0 40px 12px 12px; +} + +.edit-site-global-styles-screen-revisions__applied-text{ + color:#949494; + font-size:12px; + font-style:italic; } .edit-site-global-styles-screen-revisions__description{ @@ -1225,18 +1490,25 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp flex-direction:column; gap:8px; } +.edit-site-global-styles-screen-revisions__description .edit-site-global-styles-screen-revisions__date{ + font-size:12px; + font-weight:600; + text-transform:uppercase; +} -.edit-site-global-styles-screen-revisions__meta{ - align-items:center; - color:#757575; +.edit-site-global-styles-screen-revisions__changes,.edit-site-global-styles-screen-revisions__meta{ + align-items:flex-start; + color:#949494; display:flex; - justify-content:space-between; + font-size:12px; + justify-content:start; text-align:right; width:100%; } -.edit-site-global-styles-screen-revisions__meta img{ +.edit-site-global-styles-screen-revisions__changes img,.edit-site-global-styles-screen-revisions__meta img{ border-radius:100%; height:16px; + margin-left:8px; width:16px; } @@ -1244,6 +1516,53 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp margin:24px auto !important; } +.edit-site-global-styles-screen-revisions__changes{ + color:#1e1e1e; + line-height:1.4; + margin-bottom:4px; + text-align:right; +} + +.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination{ + gap:2px; + justify-content:space-between; +} +.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .edit-site-pagination__total{ + height:1px; + margin:-1px; + overflow:hidden; + position:absolute; + right:-1000px; +} +.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-text{ + font-size:12px; + will-change:opacity; +} +.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-button.is-tertiary{ + color:#1e1e1e; + font-size:28px; + font-weight:200; + line-height:1.2; + margin-bottom:4px; +} +.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-button.is-tertiary:disabled{ + color:#949494; +} +.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-button.is-tertiary:hover{ + background:transparent; +} + +.edit-site-global-styles-screen-revisions__footer{ + background:#fff; + border-top:1px solid #ddd; + bottom:0; + height:56px; + min-width:100%; + padding:12px; + position:sticky; + z-index:1; +} + .edit-site-header-edit-mode{ align-items:center; background-color:#fff; @@ -1257,8 +1576,17 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp width:100%; } .edit-site-header-edit-mode .edit-site-header-edit-mode__start{ + align-items:center; border:none; display:flex; + flex-shrink:2; + height:100%; + overflow:hidden; +} +@media (min-width:782px){ + .edit-site-header-edit-mode .edit-site-header-edit-mode__start{ + padding-left:2px; + } } .edit-site-header-edit-mode .edit-site-header-edit-mode__end{ display:flex; @@ -1270,18 +1598,19 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp flex-grow:1; height:100%; justify-content:center; - margin:0 8px; + margin:0 16px; min-width:0; } .edit-site-header-edit-mode__toolbar{ align-items:center; display:flex; - padding-right:8px; + gap:8px; + padding-right:16px; } -@media (min-width:600px){ +@media (min-width:782px){ .edit-site-header-edit-mode__toolbar{ - padding-right:24px; + padding-right:20px; } } @media (min-width:1280px){ @@ -1289,13 +1618,6 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp padding-left:8px; } } -.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle{ - height:32px; - margin-left:8px; - min-width:32px; - padding:0; - width:32px; -} .edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle svg{ transition:transform .2s cubic-bezier(.165, .84, .44, 1); } @@ -1311,14 +1633,8 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp .edit-site-header-edit-mode__actions{ align-items:center; display:inline-flex; - gap:4px; - padding-left:4px; -} -@media (min-width:600px){ - .edit-site-header-edit-mode__actions{ - gap:8px; - padding-left:10px; - } + gap:8px; + padding-left:8px; } .edit-site-header-edit-mode__preview-options{ @@ -1329,37 +1645,6 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp opacity:0; } -.edit-site-header-edit-mode__start{ - border:none; - display:flex; -} -.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon,.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon{ - height:36px; - min-width:36px; - padding:6px; -} -.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon.is-pressed,.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon.is-pressed{ - background:#1e1e1e; -} -.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon:focus:not(:disabled),.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon:focus:not(:disabled){ - box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 1px #fff; - outline:1px solid transparent; -} -.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon:before,.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon:before{ - display:none; -} -.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.edit-site-header-edit-mode__inserter-toggle.has-icon{ - height:32px; - margin-left:8px; - min-width:32px; - padding:0; - width:32px; -} -.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.edit-site-header-edit-mode__inserter-toggle.has-text.has-icon{ - padding:0 8px; - width:auto; -} - .edit-site-header-edit-mode.show-icon-labels .components-button.has-icon{ width:auto; } @@ -1387,145 +1672,48 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp height:36px; padding:0 8px; } -.edit-site-header-edit-mode.show-icon-labels .edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>*+*{ +.edit-site-header-edit-mode.show-icon-labels .block-editor-block-mover{ + border-right:none; +} +.edit-site-header-edit-mode.show-icon-labels .block-editor-block-mover:before{ + background-color:#ddd; + content:""; + margin-bottom:12px; margin-right:8px; + margin-top:12px; + width:1px; +} +.edit-site-header-edit-mode.show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container:before{ + background:#ddd; + right:calc(50% + 1px); + width:calc(100% - 24px); } -.edit-site-document-actions{ - align-items:center; - background:#f0f0f0; - border-radius:4px; - display:flex; - height:36px; - justify-content:space-between; - min-width:0; - width:min(100%, 450px); +.has-fixed-toolbar .selected-block-tools-wrapper{ + overflow-x:scroll; } -.has-fixed-toolbar .edit-site-document-actions{ - width:min(100%, 380px); +.has-fixed-toolbar .selected-block-tools-wrapper .block-editor-block-contextual-toolbar{ + border-bottom:0; } -.edit-site-document-actions:hover{ - background-color:#e0e0e0; +.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar-group{ + border-left:none; } -.edit-site-document-actions .components-button{ - border-radius:4px; +.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar-group:after,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar:after{ + background-color:#ddd; + content:""; + margin-bottom:12px; + margin-right:8px; + margin-top:12px; + width:1px; } -.edit-site-document-actions .components-button:hover{ - background:#e0e0e0; - color:var(--wp-block-synced-color); -} -@media (min-width:960px){ - .edit-site-document-actions{ - width:min(100%, 450px); - } -} -.edit-site-document-actions.is-synced-entity .edit-site-document-actions__title,.edit-site-document-actions.is-synced-entity .edit-site-document-actions__title h1{ - color:var(--wp-block-synced-color); -} - -.edit-site-document-actions__command{ - color:var(--wp-block-synced-color); - flex-grow:1; - overflow:hidden; -} - -.edit-site-document-actions__title{ - flex-grow:1; - overflow:hidden; -} -@media (min-width:600px){ - .edit-site-document-actions__title{ - padding-right:32px; - } -} -.edit-site-document-actions__title:hover{ - color:var(--wp-block-synced-color); -} -.edit-site-document-actions__title .block-editor-block-icon{ - flex-shrink:0; - min-width:24px; -} -.edit-site-document-actions__title h1{ - max-width:50%; - overflow:hidden; - text-overflow:ellipsis; - white-space:nowrap; -} -.edit-site-document-actions.is-page .edit-site-document-actions__title,.edit-site-document-actions.is-page .edit-site-document-actions__title h1{ - color:#2f2f2f; -} -.edit-site-document-actions.is-animated .edit-site-document-actions__title{ - animation:edit-site-document-actions__slide-in-left .3s; -} -@media (prefers-reduced-motion:reduce){ - .edit-site-document-actions.is-animated .edit-site-document-actions__title{ - animation-delay:0s; - animation-duration:1ms; - } -} -.edit-site-document-actions.is-animated.is-page .edit-site-document-actions__title{ - animation:edit-site-document-actions__slide-in-right .3s; -} -@media (prefers-reduced-motion:reduce){ - .edit-site-document-actions.is-animated.is-page .edit-site-document-actions__title{ - animation-delay:0s; - animation-duration:1ms; - } -} - -.edit-site-document-actions__shortcut{ - color:#2f2f2f; +.has-fixed-toolbar .edit-site-header-edit-mode__center.is-collapsed,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar .components-toolbar-group.components-toolbar-group:after,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar-group .components-toolbar-group.components-toolbar-group:after,.has-fixed-toolbar .selected-block-tools-wrapper.is-collapsed{ display:none; - min-width:32px; -} -@media (min-width:600px){ - .edit-site-document-actions__shortcut{ - display:initial; - } } -.edit-site-document-actions__back.components-button.has-icon.has-text{ - color:#757575; - flex-shrink:0; - gap:0; - min-width:36px; - position:absolute; - z-index:1; -} -.edit-site-document-actions__back.components-button.has-icon.has-text:hover{ - background-color:transparent; - color:currentColor; -} -.edit-site-document-actions.is-animated .edit-site-document-actions__back.components-button.has-icon.has-text{ - animation:edit-site-document-actions__slide-in-left .3s; -} -@media (prefers-reduced-motion:reduce){ - .edit-site-document-actions.is-animated .edit-site-document-actions__back.components-button.has-icon.has-text{ - animation-delay:0s; - animation-duration:1ms; - } +.edit-site-header-edit-mode__block-tools-toggle{ + margin-right:2px; } -@keyframes edit-site-document-actions__slide-in-right{ - 0%{ - opacity:0; - transform:translateX(15%); - } - to{ - opacity:1; - transform:translateX(0); - } -} -@keyframes edit-site-document-actions__slide-in-left{ - 0%{ - opacity:0; - transform:translateX(-15%); - } - to{ - opacity:1; - transform:translateX(0); - } -} .edit-site-list-header{ align-items:center; box-sizing:border-box; @@ -1661,33 +1849,31 @@ body.is-fullscreen-mode .edit-site-list-header{ } .edit-site-list-added-by__icon{ - align-items:center; - background:#2f2f2f; - border-radius:100%; display:flex; flex-shrink:0; - height:32px; - justify-content:center; - width:32px; + height:24px; + width:24px; } .edit-site-list-added-by__icon svg{ - fill:#fff; + fill:currentColor; } .edit-site-list-added-by__avatar{ - background:#2f2f2f; - border-radius:100%; + align-items:center; + display:flex; flex-shrink:0; - height:32px; + height:24px; + justify-content:center; overflow:hidden; - width:32px; + width:24px; } .edit-site-list-added-by__avatar img{ - height:32px; + border-radius:100%; + height:20px; object-fit:cover; opacity:0; transition:opacity .1s linear; - width:32px; + width:20px; } @media (prefers-reduced-motion:reduce){ .edit-site-list-added-by__avatar img{ @@ -1707,22 +1893,14 @@ body.is-fullscreen-mode .edit-site-list-header{ .edit-site-page{ background:#fff; color:#2f2f2f; - flex-grow:1; - margin:60px 0 0; - overflow:hidden; -} -@media (min-width:782px){ - .edit-site-page{ - border-radius:8px; - margin:24px 0 24px 24px; - } + height:100%; } .edit-site-page-header{ background:#fff; border-bottom:1px solid #f0f0f0; - min-height:60px; - padding:0 32px; + min-height:72px; + padding:16px 32px; position:sticky; top:0; z-index:2; @@ -1747,11 +1925,54 @@ body.is-fullscreen-mode .edit-site-list-header{ z-index:1; } +.edit-site-page-pages__media-wrapper{ + background-color:#f0f0f0; + border-radius:4px; + display:block; + height:40px; + overflow:hidden; + position:relative; + width:40px; +} +.edit-site-page-pages__media-wrapper .edit-site-page-pages__featured-image{ + height:100%; + object-fit:cover; + width:100%; +} +.edit-site-page-pages__media-wrapper:after{ + border-radius:4px; + box-shadow:inset 0 0 0 1px rgba(0,0,0,.1); + content:""; + height:100%; + position:absolute; + right:0; + top:0; + width:100%; +} + +.page-pages-preview-field__button{ + background-color:unset; + border:none; + border-radius:3px 3px 0 0; + box-shadow:none; + box-sizing:border-box; + cursor:pointer; + height:100%; + overflow:hidden; + padding:0; + width:100%; +} +.page-pages-preview-field__button:focus-visible{ + box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + outline:2px solid transparent; +} + .edit-site-patterns{ - background:none; + background:#1e1e1e; border-radius:0; border-right:1px solid #2f2f2f; margin:60px 0 0; + min-height:100%; overflow-x:auto; padding:0; } @@ -1810,28 +2031,6 @@ body.is-fullscreen-mode .edit-site-list-header{ background:#757575; color:#f0f0f0; } -.edit-site-patterns .edit-site-patterns__grid-pagination{ - background:#1e1e1e; - border-top:1px solid #2f2f2f; - bottom:0; - padding:24px 32px; - position:sticky; - z-index:2; -} -.edit-site-patterns .edit-site-patterns__grid-pagination .components-button.is-tertiary{ - background-color:#2f2f2f; - color:#f0f0f0; - height:32px; - justify-content:center; - width:32px; -} -.edit-site-patterns .edit-site-patterns__grid-pagination .components-button.is-tertiary:disabled{ - background:none; - color:#949494; -} -.edit-site-patterns .edit-site-patterns__grid-pagination .components-button.is-tertiary:hover:not(:disabled){ - background-color:#757575; -} .edit-site-patterns__header{ background:#1e1e1e; @@ -1840,6 +2039,9 @@ body.is-fullscreen-mode .edit-site-list-header{ top:0; z-index:2; } +.edit-site-patterns__header .edit-site-patterns__button{ + color:#949494; +} .edit-site-patterns__section{ flex:1; @@ -1947,6 +2149,141 @@ body.is-fullscreen-mode .edit-site-list-header{ color:#949494; } +.edit-site-patterns__delete-modal{ + width:384px; +} + +.edit-site-patterns__pagination{ + background:#1e1e1e; + border-top:1px solid #2f2f2f; + bottom:0; + color:#f0f0f0; + padding:24px 32px; + position:sticky; + z-index:2; +} +.edit-site-patterns__pagination .components-button.is-tertiary{ + background-color:#2f2f2f; + color:#f0f0f0; +} +.edit-site-patterns__pagination .components-button.is-tertiary:disabled{ + background:none; + color:#949494; +} +.edit-site-patterns__pagination .components-button.is-tertiary:hover:not(:disabled){ + background-color:#757575; +} +.edit-site-page-patterns-dataviews .page-patterns-preview-field{ + border-radius:3px 3px 0 0; + display:flex; + flex-direction:column; + height:100%; +} +.edit-site-page-patterns-dataviews .page-patterns-preview-field.is-viewtype-grid .block-editor-block-preview__container{ + border-radius:3px 3px 0 0; + height:100%; +} +.edit-site-page-patterns-dataviews .page-patterns-preview-field .page-patterns-preview-field__button{ + background-color:unset; + border:none; + border-radius:3px 3px 0 0; + box-shadow:none; + box-sizing:border-box; + cursor:pointer; + height:100%; + overflow:hidden; + padding:0; +} +.edit-site-page-patterns-dataviews .page-patterns-preview-field .page-patterns-preview-field__button:focus-visible{ + box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + outline:2px solid transparent; +} +.edit-site-page-patterns-dataviews .edit-site-patterns__pattern-icon{ + fill:var(--wp-block-synced-color); + flex-shrink:0; +} +.edit-site-page-patterns-dataviews .edit-site-patterns__pattern-lock-icon{ + min-width:min-content; +} +.edit-site-page-patterns-dataviews .edit-site-patterns__section-header{ + border-bottom:1px solid #f0f0f0; + min-height:72px; + padding:16px 32px; + position:sticky; + top:0; + z-index:2; +} +.edit-site-page-patterns-dataviews .edit-site-patterns__pattern-title{ + color:inherit; + display:block; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + width:100%; +} + +.dataviews-action-modal__duplicate-pattern [role=dialog]>[role=document]{ + width:350px; +} +.dataviews-action-modal__duplicate-pattern .patterns-menu-items__convert-modal-categories{ + position:relative; +} +.dataviews-action-modal__duplicate-pattern .components-form-token-field__suggestions-list:not(:empty){ + background-color:#fff; + border:1px solid var(--wp-admin-theme-color); + border-bottom-left-radius:2px; + border-bottom-right-radius:2px; + box-shadow:0 0 .5px .5px var(--wp-admin-theme-color); + box-sizing:border-box; + max-height:96px; + min-width:auto; + position:absolute; + right:-1px; + width:calc(100% + 2px); + z-index:1; +} + +@media (min-width:600px){ + .dataviews-action-modal__duplicate-template-part .components-modal__frame{ + max-width:500px; + } +} + +.page-templates-preview-field{ + border-radius:3px 3px 0 0; + display:flex; + flex-direction:column; + height:100%; +} +.page-templates-preview-field .page-templates-preview-field__button{ + background-color:unset; + border:none; + border-radius:3px; + box-shadow:none; + box-sizing:border-box; + cursor:pointer; + height:100%; + overflow:hidden; + padding:0; +} +.page-templates-preview-field .page-templates-preview-field__button:focus-visible{ + box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + outline:2px solid transparent; +} +.page-templates-preview-field.is-viewtype-list .block-editor-block-preview__container{ + height:120px; +} +.page-templates-preview-field.is-viewtype-grid .block-editor-block-preview__container{ + height:auto; +} +.page-templates-preview-field.is-viewtype-grid .page-templates-preview-field__button{ + border-radius:3px 3px 0 0; +} + +.page-templates-description{ + white-space:normal; +} + .edit-site-table-wrapper{ padding:32px; width:100%; @@ -2069,46 +2406,10 @@ body.is-fullscreen-mode .edit-site-list-header{ font-size:12px; } -.edit-site-sidebar-fixed-bottom-slot{ - background:#fff; - border-top:1px solid #ddd; - bottom:0; - box-sizing:content-box; - display:flex; - padding:16px; - position:sticky; -} - -.edit-site-swap-template-modal{ - z-index:1000001; -} - .edit-site-page-panels__swap-template__confirm-modal__actions{ margin-top:24px; } -.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list{ - column-count:2; - column-gap:24px; - padding-top:2px; -} -@media (min-width:782px){ - .edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list{ - column-count:3; - } -} -@media (min-width:1280px){ - .edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list{ - column-count:4; - } -} -.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{ - break-inside:avoid-column; -} -.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__item:not(:focus):not(:hover) .block-editor-block-preview__container{ - box-shadow:0 0 0 1px #ddd; -} - .edit-site-change-status__content .components-popover__content{ min-width:320px; padding:16px; @@ -2125,10 +2426,7 @@ body.is-fullscreen-mode .edit-site-list-header{ padding:0; } -.edit-site-summary-field .components-dropdown{ - width:70%; -} -.edit-site-summary-field .edit-site-summary-field__trigger{ +.edit-site-summary-field__trigger{ display:block; max-width:100%; overflow:hidden; @@ -2136,13 +2434,6 @@ body.is-fullscreen-mode .edit-site-list-header{ text-overflow:ellipsis; white-space:nowrap; } -.edit-site-summary-field .edit-site-summary-field__label{ - width:30%; -} - -.edit-site-page-panels-edit-template__dropdown .components-popover__content{ - min-width:240px; -} .components-panel__header.edit-site-sidebar-edit-mode__panel-tabs{ border-top:0; @@ -2283,10 +2574,6 @@ body.is-fullscreen-mode .edit-site-list-header{ padding:0; } -.edit-site-template-revisions{ - margin-right:-4px; -} - h3.edit-site-template-card__template-areas-title{ font-weight:500; margin:0 0 8px; @@ -2429,79 +2716,6 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ margin-right:auto; min-width:24px; } -.edit-site-editor__inserter-panel,.edit-site-editor__list-view-panel{ - display:flex; - flex-direction:column; - height:100%; -} - -@media (min-width:782px){ - .edit-site-editor__list-view-panel{ - width:350px; - } -} - -.edit-site-editor__inserter-panel-header{ - display:flex; - justify-content:flex-end; - padding-left:8px; - padding-top:8px; -} - -.edit-site-editor__inserter-panel-content,.edit-site-editor__list-view-panel-content{ - height:calc(100% - 44px); -} - -@media (min-width:782px){ - .edit-site-editor__inserter-panel-content{ - height:100%; - } -} - -.edit-site-editor__list-view-panel-header{ - align-items:center; - border-bottom:1px solid #ddd; - display:flex; - height:48px; - justify-content:space-between; - padding-left:4px; - padding-right:16px; -} - -.edit-site-editor__list-view-panel-content{ - height:100%; - overflow:auto; - padding:8px 6px; - scrollbar-color:transparent transparent; - scrollbar-gutter:stable both-edges; - scrollbar-gutter:auto; - scrollbar-width:thin; - will-change:transform; -} -.edit-site-editor__list-view-panel-content::-webkit-scrollbar{ - height:12px; - width:12px; -} -.edit-site-editor__list-view-panel-content::-webkit-scrollbar-track{ - background-color:transparent; -} -.edit-site-editor__list-view-panel-content::-webkit-scrollbar-thumb{ - background-clip:padding-box; - background-color:transparent; - border:3px solid transparent; - border-radius:8px; -} -.edit-site-editor__list-view-panel-content:focus-within::-webkit-scrollbar-thumb,.edit-site-editor__list-view-panel-content:focus::-webkit-scrollbar-thumb,.edit-site-editor__list-view-panel-content:hover::-webkit-scrollbar-thumb{ - background-color:#949494; -} -.edit-site-editor__list-view-panel-content:focus,.edit-site-editor__list-view-panel-content:focus-within,.edit-site-editor__list-view-panel-content:hover{ - scrollbar-color:#949494 transparent; -} -@media (hover:none){ - .edit-site-editor__list-view-panel-content{ - scrollbar-color:#949494 transparent; - } -} .edit-site-welcome-guide{ width:312px; @@ -2648,13 +2862,9 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ position:fixed; right:0; top:0; - width:calc(100vw - 48px); + width:calc(100vw - 32px); z-index:3; } -.edit-site-layout.is-full-canvas.is-edit-mode .edit-site-layout__hub{ - padding-left:0; - width:60px; -} @media (min-width:782px){ .edit-site-layout__hub{ width:336px; @@ -2669,7 +2879,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ @media (min-width:782px){ .edit-site-layout.is-full-canvas .edit-site-layout__hub{ padding-left:0; - width:auto; + width:60px; } } @@ -2758,9 +2968,9 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ } @media (min-width:782px){ .edit-site-layout__canvas{ - bottom:24px; - top:24px; - width:calc(100% - 24px); + bottom:16px; + top:16px; + width:calc(100% - 16px); } .edit-site-layout:not(.is-full-canvas) .edit-site-layout__canvas>div .edit-site-visual-editor__editor-canvas,.edit-site-layout:not(.is-full-canvas) .edit-site-layout__canvas>div .interface-interface-skeleton__content,.edit-site-layout__canvas>div{ border-radius:8px; @@ -2775,11 +2985,15 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ border-radius:0; } -.edit-site-layout__canvas .interface-interface-skeleton{ +.edit-site-layout__canvas .interface-interface-skeleton,.edit-site-template-pages-preview .interface-interface-skeleton{ min-height:100% !important; position:relative !important; } +.edit-site-template-pages-preview{ + height:100%; +} + .edit-site-layout__view-mode-toggle.components-button{ align-items:center; border-bottom:1px solid transparent; @@ -2793,7 +3007,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ position:relative; width:60px; } -.edit-site-layout.is-full-canvas.is-edit-mode .edit-site-layout__view-mode-toggle.components-button{ +.edit-site-layout.is-full-canvas .edit-site-layout__view-mode-toggle.components-button{ border-bottom-color:#e0e0e0; transition:border-bottom-color .15s ease-out .4s; } @@ -2855,21 +3069,9 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ .edit-site-layout__actions{ border-right:1px solid #ddd; } - .edit-site-layout.has-fixed-toolbar .edit-site-layout__canvas-container{ - z-index:5; - } - .edit-site-layout.has-fixed-toolbar .edit-site-site-hub{ - z-index:4; - } } -@media (min-width:782px){ - .edit-site-layout.has-fixed-toolbar .edit-site-layout__header:focus-within{ - z-index:3; - } -} - -.is-edit-mode.is-distraction-free .edit-site-layout__header-container{ +.edit-site-layout.is-distraction-free .edit-site-layout__header-container{ height:60px; left:0; position:absolute; @@ -2878,33 +3080,45 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ width:100%; z-index:4; } -.is-edit-mode.is-distraction-free .edit-site-layout__header-container:focus-within{ +.edit-site-layout.is-distraction-free .edit-site-layout__header-container:focus-within{ opacity:1 !important; } -.is-edit-mode.is-distraction-free .edit-site-layout__header-container:focus-within div{ +.edit-site-layout.is-distraction-free .edit-site-layout__header-container:focus-within div{ transform:translateX(0) translateY(0) translateZ(0) !important; } -.is-edit-mode.is-distraction-free .edit-site-layout__header-container:focus-within .edit-site-layout__header{ +.edit-site-layout.is-distraction-free .edit-site-layout__header-container:focus-within .edit-site-layout__header{ opacity:1 !important; } -.is-edit-mode.is-distraction-free .edit-site-layout__header,.is-edit-mode.is-distraction-free .edit-site-site-hub{ +.edit-site-layout.is-distraction-free .edit-site-layout__header,.edit-site-layout.is-distraction-free .edit-site-site-hub{ position:absolute; top:0; z-index:2; } -.is-edit-mode.is-distraction-free .edit-site-site-hub{ +.edit-site-layout.is-distraction-free .edit-site-site-hub{ z-index:3; } -.is-edit-mode.is-distraction-free .edit-site-layout__header{ +.edit-site-layout.is-distraction-free .edit-site-layout__header{ width:100%; } +.edit-site-layout__area{ + flex-grow:1; + margin:0; + overflow:hidden; +} +@media (min-width:782px){ + .edit-site-layout__area{ + border-radius:8px; + margin:16px 0 16px 16px; + } +} + .edit-site-save-hub{ border-top:1px solid #2f2f2f; color:#949494; flex-shrink:0; margin:0; - padding:20px 24px; + padding:20px 16px; } .edit-site-save-hub__button{ @@ -2918,6 +3132,9 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ .edit-site-save-hub__button[aria-disabled=true]:hover{ color:inherit; } +.edit-site-save-hub__button:not(.is-primary).is-busy,.edit-site-save-hub__button:not(.is-primary).is-busy[aria-disabled=true]:hover{ + color:#1e1e1e; +} @media (min-width:600px){ .edit-site-save-panel__modal{ @@ -2929,37 +3146,39 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ flex-grow:1; overflow-y:auto; } -.edit-site-sidebar__content .components-navigator-screen{ + +.edit-site-sidebar__screen-wrapper{ display:flex; flex-direction:column; height:100%; + padding:0 12px; scrollbar-color:transparent transparent; scrollbar-gutter:stable both-edges; scrollbar-gutter:stable; scrollbar-width:thin; will-change:transform; } -.edit-site-sidebar__content .components-navigator-screen::-webkit-scrollbar{ +.edit-site-sidebar__screen-wrapper::-webkit-scrollbar{ height:12px; width:12px; } -.edit-site-sidebar__content .components-navigator-screen::-webkit-scrollbar-track{ +.edit-site-sidebar__screen-wrapper::-webkit-scrollbar-track{ background-color:transparent; } -.edit-site-sidebar__content .components-navigator-screen::-webkit-scrollbar-thumb{ +.edit-site-sidebar__screen-wrapper::-webkit-scrollbar-thumb{ background-clip:padding-box; background-color:transparent; border:3px solid transparent; border-radius:8px; } -.edit-site-sidebar__content .components-navigator-screen:focus-within::-webkit-scrollbar-thumb,.edit-site-sidebar__content .components-navigator-screen:focus::-webkit-scrollbar-thumb,.edit-site-sidebar__content .components-navigator-screen:hover::-webkit-scrollbar-thumb{ +.edit-site-sidebar__screen-wrapper:focus-within::-webkit-scrollbar-thumb,.edit-site-sidebar__screen-wrapper:focus::-webkit-scrollbar-thumb,.edit-site-sidebar__screen-wrapper:hover::-webkit-scrollbar-thumb{ background-color:#757575; } -.edit-site-sidebar__content .components-navigator-screen:focus,.edit-site-sidebar__content .components-navigator-screen:focus-within,.edit-site-sidebar__content .components-navigator-screen:hover{ +.edit-site-sidebar__screen-wrapper:focus,.edit-site-sidebar__screen-wrapper:focus-within,.edit-site-sidebar__screen-wrapper:hover{ scrollbar-color:#757575 transparent; } @media (hover:none){ - .edit-site-sidebar__content .components-navigator-screen{ + .edit-site-sidebar__screen-wrapper{ scrollbar-color:#757575 transparent; } } @@ -2967,12 +3186,8 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ .edit-site-sidebar__footer{ border-top:1px solid #2f2f2f; flex-shrink:0; - margin:0 24px; - padding:24px 0; -} - -.edit-site-sidebar__content>div{ - padding:0 12px; + margin:0 16px; + padding:16px 0; } .edit-site-sidebar-button{ @@ -3018,7 +3233,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ .edit-site-sidebar-navigation-screen__content .block-editor-list-view-block-select-button{ cursor:grab; - padding:8px; + padding:8px 0 8px 8px; } .edit-site-sidebar-navigation-screen{ @@ -3086,6 +3301,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ } .edit-site-sidebar-navigation-screen__actions{ + display:flex; flex-shrink:0; } @@ -3226,6 +3442,15 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ fill:#4ab866; } +.edit-site-sidebar-navigation-screen-templates__templates-group-title.components-item{ + border-top:1px solid #2f2f2f; + color:#e0e0e0; + font-size:11px; + font-weight:500; + padding:24px 16px 16px 6px; + text-transform:uppercase; +} + .edit-site-sidebar-navigation-details-screen-panel{ margin:24px 0; } @@ -3309,14 +3534,19 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ } .edit-site-sidebar-navigation-screen-template__added-by-description-author img{ border-radius:12px; + height:20px; + width:20px; } .edit-site-sidebar-navigation-screen-template__added-by-description-author svg{ fill:#949494; } .edit-site-sidebar-navigation-screen-template__added-by-description-author-icon{ + align-items:center; + display:inline-flex; height:24px; - margin-left:8px; + justify-content:center; + margin-left:4px; width:24px; } @@ -3342,6 +3572,31 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ display:flex; } +.edit-site-sidebar-navigation-screen-dataviews__group-header{ + margin-top:32px; +} +.edit-site-sidebar-navigation-screen-dataviews__group-header h2{ + font-size:11px; + font-weight:500; + text-transform:uppercase; +} + +.edit-site-sidebar-dataviews-dataview-item{ + border-radius:2px; + padding-left:8px; +} +.edit-site-sidebar-dataviews-dataview-item .edit-site-sidebar-dataviews-dataview-item__dropdown-menu{ + min-width:auto; +} +.edit-site-sidebar-dataviews-dataview-item:focus,.edit-site-sidebar-dataviews-dataview-item:hover,.edit-site-sidebar-dataviews-dataview-item[aria-current]{ + background:#2f2f2f; + color:#e0e0e0; +} +.edit-site-sidebar-dataviews-dataview-item.is-selected{ + background:var(--wp-admin-theme-color); + color:#fff; +} + .edit-site-site-hub{ align-items:center; display:flex; @@ -3351,31 +3606,19 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ .edit-site-site-hub .edit-site-site-hub__container{ gap:0; } -.edit-site-site-hub .edit-site-site-hub__site-title,.edit-site-site-hub .edit-site-site-hub_toggle-command-center{ +.edit-site-site-hub .edit-site-site-hub__site-title,.edit-site-site-hub .edit-site-site-hub__site-view-link,.edit-site-site-hub .edit-site-site-hub_toggle-command-center{ transition:opacity .1s ease; } -.edit-site-site-hub .edit-site-site-hub__site-title.is-transparent,.edit-site-site-hub .edit-site-site-hub_toggle-command-center.is-transparent{ +.edit-site-site-hub .edit-site-site-hub__site-title.is-transparent,.edit-site-site-hub .edit-site-site-hub__site-view-link.is-transparent,.edit-site-site-hub .edit-site-site-hub_toggle-command-center.is-transparent{ opacity:0 !important; } .edit-site-site-hub .edit-site-site-hub__site-view-link{ flex-grow:0; margin-left:var(--wp-admin-border-width-focus); } -@media (min-width:480px){ - .edit-site-site-hub .edit-site-site-hub__site-view-link{ - opacity:0; - transition:opacity .2s ease-in-out; - } -} -.edit-site-site-hub .edit-site-site-hub__site-view-link:focus{ - opacity:1; -} .edit-site-site-hub .edit-site-site-hub__site-view-link svg{ fill:#e0e0e0; } -.edit-site-site-hub:hover .edit-site-site-hub__site-view-link{ - opacity:1; -} .edit-site-site-hub__post-type{ opacity:.6; @@ -3410,8 +3653,8 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ .edit-site-site-hub_toggle-command-center{ color:#e0e0e0; } -.edit-site-site-hub_toggle-command-center:hover{ - color:#f0f0f0; +.edit-site-site-hub_toggle-command-center:active svg,.edit-site-site-hub_toggle-command-center:hover svg{ + fill:#f0f0f0; } .edit-site-sidebar-navigation-screen__description{ @@ -3492,7 +3735,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ object-fit:cover; width:100%; } -.edit-site-layout.is-full-canvas.is-edit-mode .edit-site-site-icon__image{ +.edit-site-layout.is-full-canvas .edit-site-site-icon__image{ border-radius:0; } @@ -3508,11 +3751,11 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ outline-offset:calc(var(--wp-admin-border-width-focus)*-2); } -.edit-site-style-book__tab-panel .components-tab-panel__tabs{ +.edit-site-style-book__tabs [role=tablist]{ background:#fff; color:#1e1e1e; } -.edit-site-style-book__tab-panel .components-tab-panel__tab-content{ +.edit-site-style-book__tabs [role=tabpanel]{ bottom:0; left:0; overflow:auto; @@ -3622,12 +3865,12 @@ body:has(.edit-site-resizable-frame__inner.is-resizing){ text-transform:uppercase; } -.font-library-modal__tab-layout main{ - padding-bottom:4rem; +.font-library-modal__tabpanel-layout .font-library-modal__tabpanel-layout__main{ + padding-bottom:64px; } -.font-library-modal__tab-layout footer{ +.font-library-modal__tabpanel-layout .font-library-modal__tabpanel-layout__footer{ background-color:#fff; - border-top:1px solid #e5e5e5; + border-top:1px solid #ddd; bottom:32px; margin:0 -32px -32px; padding:16px 32px; @@ -3641,68 +3884,63 @@ body:has(.edit-site-resizable-frame__inner.is-resizing){ } .font-library-modal__font-card{ - border:1px solid #e5e5e5; + border:1px solid #e0e0e0; height:auto; margin-top:-1px; - padding:1rem; + padding:16px; + width:100%; } .font-library-modal__font-card .font-library-modal__font-card__name{ font-weight:700; } .font-library-modal__font-card .font-library-modal__font-card__count{ - color:#6e6e6e; + color:#757575; } .font-library-modal__library-font-variant{ - border:1px solid #e5e5e5; + border:1px solid #e0e0e0; margin-top:-1px; - padding:1rem; + padding:16px; } .font-library-modal__font-variant{ - border-bottom:1px solid #e5e5e5; - padding-bottom:1rem; + border-bottom:1px solid #e0e0e0; + padding-bottom:16px; } -.font-library-modal__tab-panel [role=tablist]{ +.font-library-modal__tabs [role=tablist]{ background:#fff; - border-bottom:1px solid #e6e6e6; + border-bottom:1px solid #ddd; margin:0 -32px; padding:0 16px; position:sticky; top:0; - width:calc(100% + 64px); z-index:1; } .font-library-modal__upload-area{ align-items:center; - background-color:#f0f0f0; display:flex; - height:250px; + height:256px; justify-content:center; width:100%; } +button.font-library-modal__upload-area{ + background-color:#f0f0f0; +} + .font-library-modal__local-fonts{ margin:0 auto; width:80%; } .font-library-modal__local-fonts .font-library-modal__upload-area__text{ - color:#6e6e6e; + color:#757575; } .font-library-modal__local-fonts .font-library-modal__upload-area__notice{ margin:0; } -.font-library-modal__font-name{ - font-weight:700; -} - -.font-library-modal__font-filename{ - color:#6e6e6e; -} - .font-library-modal__font-variant_demo-wrapper{ overflow:hidden; position:relative; @@ -3733,8 +3971,10 @@ body:has(.edit-site-resizable-frame__inner.is-resizing){ width:50%; } -.font-library-modal__font-collection__notice{ - margin:0; +.edit-site-pagination .components-button.is-tertiary{ + height:32px; + justify-content:center; + width:32px; } body.js #wpadminbar{ diff --git a/wp-includes/css/dist/edit-site/style-rtl.min.css b/wp-includes/css/dist/edit-site/style-rtl.min.css index 11c1505afc..40b90568ca 100644 --- a/wp-includes/css/dist/edit-site/style-rtl.min.css +++ b/wp-includes/css/dist/edit-site/style-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-panel__header.interface-complementary-area-header__small{background:#fff;padding-left:4px}.components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:782px){.components-panel__header.interface-complementary-area-header__small{display:none}}.interface-complementary-area-header{background:#fff;padding-left:4px}.interface-complementary-area-header .components-button.has-icon{display:none;margin-right:auto}.interface-complementary-area-header .components-button.has-icon~.components-button{margin-right:0}@media (min-width:782px){.interface-complementary-area-header .components-button.has-icon{display:flex}.components-panel__header+.interface-complementary-area-header{margin-top:0}}.interface-complementary-area{background:#fff;color:#1e1e1e}@media (min-width:600px){.interface-complementary-area{-webkit-overflow-scrolling:touch}}@media (min-width:782px){.interface-complementary-area{width:280px}}.interface-complementary-area .components-panel{border:none;position:relative;z-index:0}.interface-complementary-area .components-panel__header{position:sticky;top:0;z-index:1}.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:48px}@media (min-width:782px){.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:0}}.interface-complementary-area p:not(.components-base-control__help){margin-top:0}.interface-complementary-area h2{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.interface-complementary-area h3{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.interface-complementary-area hr{border-bottom:1px solid #f0f0f0;border-top:none;margin:1.5em 0}.interface-complementary-area div.components-toolbar,.interface-complementary-area div.components-toolbar-group{box-shadow:none;margin-bottom:1.5em}.interface-complementary-area div.components-toolbar-group:last-child,.interface-complementary-area div.components-toolbar:last-child{margin-bottom:0}.interface-complementary-area .block-editor-skip-to-selected-block:focus{bottom:10px;left:10px;right:auto;top:auto}@media (min-width:782px){body.js.is-fullscreen-mode{height:calc(100% + 32px);margin-top:-32px}body.js.is-fullscreen-mode #adminmenumain,body.js.is-fullscreen-mode #wpadminbar{display:none}body.js.is-fullscreen-mode #wpcontent,body.js.is-fullscreen-mode #wpfooter{margin-right:0}}html.interface-interface-skeleton__html-container{position:fixed;width:100%}@media (min-width:782px){html.interface-interface-skeleton__html-container{position:static;width:auto}}.interface-interface-skeleton{bottom:0;display:flex;flex-direction:row;height:auto;left:0;max-height:100%;position:fixed;top:46px}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden}.interface-interface-skeleton{right:0}@media (min-width:783px){.interface-interface-skeleton{right:160px}}@media (min-width:783px){.auto-fold .interface-interface-skeleton{right:36px}}@media (min-width:961px){.auto-fold .interface-interface-skeleton{right:160px}}.folded .interface-interface-skeleton{right:0}@media (min-width:783px){.folded .interface-interface-skeleton{right:36px}}body.is-fullscreen-mode .interface-interface-skeleton{right:0!important}.interface-interface-skeleton__body{display:flex;flex-grow:1;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;z-index:20}@media (min-width:782px){.interface-interface-skeleton__content{z-index:auto}}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{background:#fff;bottom:0;color:#1e1e1e;flex-shrink:0;left:0;position:absolute;right:0;top:0;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;width:auto}.is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,.is-sidebar-opened .interface-interface-skeleton__sidebar{z-index:90}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-right:1px solid #e0e0e0}.interface-interface-skeleton__secondary-sidebar{border-left:1px solid #e0e0e0}}.interface-interface-skeleton__header{border-bottom:1px solid #e0e0e0;color:#1e1e1e;flex-shrink:0;height:auto;z-index:30}.interface-interface-skeleton__footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;color:#1e1e1e;display:none;flex-shrink:0;height:auto;position:absolute;right:0;width:100%;z-index:90}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{align-items:center;background:#fff;display:flex;font-size:13px;height:24px;padding:0 18px;z-index:30}.interface-interface-skeleton__actions{background:#fff;bottom:auto;color:#1e1e1e;left:0;position:fixed!important;right:auto;top:-9999em;width:100vw;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__actions{width:280px}}.interface-interface-skeleton__actions:focus,.interface-interface-skeleton__actions:focus-within{bottom:0;top:auto}.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:46px}@media (min-width:782px){.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{border-right:1px solid #ddd;top:32px}.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:0}}.interface-more-menu-dropdown{margin-right:-4px}.interface-more-menu-dropdown .components-button{padding:0 2px;width:auto}@media (min-width:600px){.interface-more-menu-dropdown{margin-right:0}.interface-more-menu-dropdown .components-button{padding:0 4px}}.interface-more-menu-dropdown__content .components-popover__content{min-width:280px}@media (min-width:480px){.interface-more-menu-dropdown__content .components-popover__content{max-width:480px}}.interface-more-menu-dropdown__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.interface-more-menu-dropdown__content{z-index:99998}.interface-pinned-items{display:flex;gap:4px;margin-left:-4px}.interface-pinned-items .components-button{display:none;margin:0}.interface-pinned-items .components-button[aria-controls="edit-post:block"],.interface-pinned-items .components-button[aria-controls="edit-post:document"],.interface-pinned-items .components-button[aria-controls="edit-site:block-inspector"],.interface-pinned-items .components-button[aria-controls="edit-site:global-styles"],.interface-pinned-items .components-button[aria-controls="edit-site:template"]{display:flex}.interface-pinned-items .components-button svg{max-height:24px;max-width:24px}@media (min-width:600px){.interface-pinned-items .components-button{display:flex}.interface-preferences-modal{height:calc(100% - 120px);width:calc(100% - 32px)}}@media (min-width:782px){.interface-preferences-modal{width:750px}}@media (min-width:960px){.interface-preferences-modal{height:70%}}@media (max-width:781px){.interface-preferences-modal .components-modal__content{padding:0}}.interface-preferences__tabs .components-tab-panel__tabs{position:absolute;right:16px;top:84px;width:160px}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{border-radius:2px;font-weight:400}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{background:#f0f0f0;box-shadow:none;font-weight:500}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active:after{content:none}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus-visible:before{content:none}.interface-preferences__tabs .components-tab-panel__tab-content{margin-right:160px;padding-right:24px}@media (max-width:781px){.interface-preferences__provider{height:100%}}.interface-preferences-modal__section{margin:0 0 2.5rem}.interface-preferences-modal__section:last-child{margin:0}.interface-preferences-modal__section-legend{margin-bottom:8px}.interface-preferences-modal__section-title{font-size:.9rem;font-weight:600;margin-top:0}.interface-preferences-modal__section-description{color:#757575;font-size:12px;font-style:normal;margin:-8px 0 8px}.interface-preferences-modal__option+.interface-preferences-modal__option{margin-top:16px}.interface-preferences-modal__option .components-base-control__help{margin-right:48px;margin-top:0}.edit-site-custom-template-modal__contents-wrapper{height:100%;justify-content:flex-start!important}.edit-site-custom-template-modal__contents-wrapper>*{width:100%}.edit-site-custom-template-modal__contents-wrapper__suggestions_list{margin-left:-12px;margin-right:-12px;width:calc(100% + 24px)}.edit-site-custom-template-modal__contents>.components-button{height:auto;justify-content:center}.edit-site-custom-template-modal .components-search-control input[type=search].components-search-control__input{background:#fff;border:1px solid #ddd}.edit-site-custom-template-modal .components-search-control input[type=search].components-search-control__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color)}@media (min-width:782px){.edit-site-custom-template-modal{width:456px}}@media (min-width:600px){.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list{overflow:scroll}}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item{display:block;height:auto;overflow-wrap:break-word;padding:8px 12px;text-align:right;white-space:pre-wrap;width:100%}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item mark{background:none;font-weight:700}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04)}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:hover *,.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:hover mark{color:var(--wp-admin-theme-color)}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:focus{background-color:#f0f0f0}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color) inset}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item__info,.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item__title{display:block;overflow:hidden;text-overflow:ellipsis}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item__info{color:#757575;word-break:break-all}.edit-site-custom-template-modal__no-results{border:1px solid #ccc;border-radius:2px;padding:16px}.edit-site-custom-generic-template__modal .components-modal__header{border-bottom:none}.edit-site-custom-generic-template__modal .components-modal__content:before{margin-bottom:4px}.edit-site-template-actions-loading-screen-modal{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:transparent}.edit-site-template-actions-loading-screen-modal.is-full-screen{background-color:#fff;box-shadow:0 0 0 transparent;min-height:100%;min-width:100%}.edit-site-template-actions-loading-screen-modal__content{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:50%;transform:translateX(50%)}.edit-site-add-new-template__modal{margin-top:64px;max-height:calc(100% - 128px);max-width:832px;width:calc(100% - 64px)}@media (min-width:960px){.edit-site-add-new-template__modal{width:calc(100% - 128px)}}.edit-site-add-new-template__modal .edit-site-add-new-template__custom-template-button svg,.edit-site-add-new-template__modal .edit-site-add-new-template__template-button svg{fill:var(--wp-admin-theme-color)}.edit-site-add-new-template__modal .edit-site-add-new-template__custom-template-button .edit-site-add-new-template__template-name{align-items:flex-start;flex-grow:1}.edit-site-add-new-template__modal .edit-site-add-new-template__template-icon{background:rgba(var(--wp-admin-theme-color--rgb),.04);border-radius:100%;max-height:40px;max-width:40px;padding:8px}.edit-site-add-new-template__template-list__contents>.components-button,.edit-site-custom-template-modal__contents>.components-button{border:1px solid #ddd;border-radius:2px;display:flex;flex-direction:column;justify-content:center;outline:1px solid transparent;padding:32px}.edit-site-add-new-template__template-list__contents>.components-button span:first-child,.edit-site-custom-template-modal__contents>.components-button span:first-child{color:#1e1e1e}.edit-site-add-new-template__template-list__contents>.components-button span,.edit-site-custom-template-modal__contents>.components-button span{color:#757575}.edit-site-add-new-template__template-list__contents>.components-button:hover,.edit-site-custom-template-modal__contents>.components-button:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04);border-color:transparent;color:var(--wp-admin-theme-color-darker-10)}.edit-site-add-new-template__template-list__contents>.components-button:hover span,.edit-site-custom-template-modal__contents>.components-button:hover span{color:var(--wp-admin-theme-color)}.edit-site-add-new-template__template-list__contents>.components-button:focus,.edit-site-custom-template-modal__contents>.components-button:focus{border-color:transparent;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid transparent}.edit-site-add-new-template__template-list__contents>.components-button:focus span:first-child,.edit-site-custom-template-modal__contents>.components-button:focus span:first-child{color:var(--wp-admin-theme-color)}.edit-site-add-new-template__template-list__contents .edit-site-add-new-template__custom-template-button,.edit-site-add-new-template__template-list__contents .edit-site-add-new-template__template-list__prompt,.edit-site-custom-template-modal__contents .edit-site-add-new-template__custom-template-button,.edit-site-custom-template-modal__contents .edit-site-add-new-template__template-list__prompt{grid-column-end:4;grid-column-start:1}.edit-site-add-new-template__template-list__contents>.components-button{align-items:flex-start;height:100%;text-align:start}.edit-site-block-editor__editor-styles-wrapper .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;padding:6px 12px}.edit-site-block-editor__editor-styles-wrapper .components-button.has-icon,.edit-site-block-editor__editor-styles-wrapper .components-button.is-tertiary{padding:6px}.edit-site-block-editor__block-list.is-navigation-block{padding:24px}.edit-site-visual-editor{align-items:center;background-color:#1e1e1e;display:block;height:100%;overflow:hidden;position:relative}.edit-site-visual-editor iframe{background:#fff;display:block;height:100%;width:100%}.edit-site-visual-editor .edit-site-visual-editor__editor-canvas{height:100%}.edit-site-visual-editor .edit-site-visual-editor__editor-canvas.is-focused{outline:calc(var(--wp-admin-border-width-focus)*2) solid var(--wp-admin-theme-color);outline-offset:calc(var(--wp-admin-border-width-focus)*-2)}.edit-site-layout.is-full-canvas .edit-site-visual-editor.is-focus-mode{padding:48px}.edit-site-visual-editor.is-focus-mode .edit-site-visual-editor__editor-canvas{border-radius:2px;max-height:100%}.edit-site-visual-editor.is-focus-mode .components-resizable-box__container{overflow:visible}.edit-site-visual-editor .components-resizable-box__container{margin:0 auto;overflow:auto}.edit-site-visual-editor.is-view-mode{box-shadow:0 20px 25px -5px rgba(0,0,0,.8),0 8px 10px -6px rgba(0,0,0,.8)}.edit-site-visual-editor.is-view-mode .block-editor-block-contextual-toolbar.is-fixed{display:none}.edit-site-visual-editor__back-button{color:#fff;position:absolute;right:8px;top:8px}.edit-site-visual-editor__back-button:active:not([aria-disabled=true]),.edit-site-visual-editor__back-button:focus:not([aria-disabled=true]),.edit-site-visual-editor__back-button:hover{color:#f0f0f0}.resizable-editor__drag-handle{-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:2px;bottom:0;cursor:ew-resize;margin:auto 0;outline:none;padding:0;position:absolute;top:0;width:12px}.resizable-editor__drag-handle.is-variation-default{height:100px}.resizable-editor__drag-handle.is-variation-separator{height:100%;left:0;width:24px}.resizable-editor__drag-handle.is-variation-separator:after{background:transparent;border-radius:0;left:0;right:50%;transform:translateX(1px);transition:all .2s ease;transition-delay:.1s;width:2px}@media (prefers-reduced-motion:reduce){.resizable-editor__drag-handle.is-variation-separator:after{animation-delay:0s;animation-duration:1ms;transition-delay:0s;transition-duration:0s}}.resizable-editor__drag-handle:after{background:#949494;border-radius:2px;bottom:24px;content:"";left:0;position:absolute;right:4px;top:24px;width:4px}.resizable-editor__drag-handle.is-left{right:-16px}.resizable-editor__drag-handle.is-right{left:-16px}.resizable-editor__drag-handle:active,.resizable-editor__drag-handle:hover{opacity:1}.resizable-editor__drag-handle:active.is-variation-default:after,.resizable-editor__drag-handle:hover.is-variation-default:after{background:#ccc}.resizable-editor__drag-handle:active.is-variation-separator:after,.resizable-editor__drag-handle:hover.is-variation-separator:after{background:var(--wp-admin-theme-color)}.resizable-editor__drag-handle:focus:after{box-shadow:0 0 0 1px #2f2f2f,0 0 0 calc(var(--wp-admin-border-width-focus) + 1px) var(--wp-admin-theme-color)}.resizable-editor__drag-handle.is-variation-separator:focus:after{border-radius:2px;box-shadow:inset 0 0 0 2px var(--wp-admin-theme-color)}.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:0}@media (min-width:783px){.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:160px}}@media (min-width:783px){.auto-fold .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:36px}}@media (min-width:961px){.auto-fold .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:160px}}.folded .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:0}@media (min-width:783px){.folded .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:36px}}body.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{right:0!important}.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{display:block;position:sticky;top:0;width:100%;z-index:31}@media (min-width:782px){.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{align-items:center;display:flex;height:60px;margin-right:180px;min-height:auto;position:fixed;top:32px;width:calc(100% - 180px)}.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{width:auto}.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{margin-right:240px;top:0}.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{width:auto}.show-icon-labels .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{margin-right:80px;width:calc(100% - 140px)}.is-fullscreen-mode .show-icon-labels .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{margin-right:144px}}@media (min-width:960px){.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed,.show-icon-labels .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{width:auto}.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{width:calc(100% - 536px)}}.edit-site-canvas-loader{align-items:center;animation:edit-site-canvas-loader__fade-in-animation .5s ease .2s;animation-fill-mode:forwards;display:flex;height:100%;justify-content:center;opacity:0;position:absolute;right:0;top:0;width:100%}@media (prefers-reduced-motion:reduce){.edit-site-canvas-loader{animation-delay:0s;animation-duration:1ms}}.edit-site-canvas-loader>div{width:160px}@keyframes edit-site-canvas-loader__fade-in-animation{0%{opacity:0}to{opacity:1}}.edit-site-code-editor{background-color:#fff;min-height:100%;position:relative;width:100%}.edit-site-code-editor__body{margin-left:auto;margin-right:auto;max-width:1080px;padding:12px;width:100%}@media (min-width:960px){.edit-site-code-editor__body{padding:24px}}.edit-site-code-editor__toolbar{background:hsla(0,0%,100%,.8);display:flex;left:0;padding:4px 12px;position:sticky;right:0;top:0;z-index:1}@media (min-width:600px){.edit-site-code-editor__toolbar{padding:12px}}@media (min-width:960px){.edit-site-code-editor__toolbar{padding:12px 24px}}.edit-site-code-editor__toolbar h2{color:#1e1e1e;font-size:13px;line-height:36px;margin:0 0 0 auto}.edit-site-code-editor__toolbar .components-button svg{order:1}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{border:1px solid #949494;border-radius:0;box-shadow:none;display:block;font-family:Menlo,Consolas,monaco,monospace;font-size:16px!important;line-height:2.4;margin:0;min-height:200px;overflow:hidden;padding:16px;resize:none;transition:border .1s ease-out,box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{font-size:15px!important;padding:24px}}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);position:relative}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area::-webkit-input-placeholder{color:rgba(30,30,30,.62)}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-input-placeholder{color:rgba(30,30,30,.62)}.edit-site-global-styles-preview{align-items:center;cursor:pointer;display:flex;justify-content:center;line-height:1}.edit-site-global-styles-preview__iframe{display:block;max-width:100%}.edit-site-typography-preview{align-items:center;background:#f0f0f0;border-radius:2px;display:flex;justify-content:center;margin-bottom:16px;min-height:100px;overflow:hidden}.edit-site-typography-panel__full-width-control{grid-column:1/-1;max-width:100%}.edit-site-global-styles-screen-css,.edit-site-global-styles-screen-typography{margin:16px}.edit-site-global-styles-screen-typography__indicator{align-items:center;border-radius:2px;display:flex!important;font-size:14px;height:24px;justify-content:center;width:24px}.edit-site-global-styles-screen-colors{margin:16px}.edit-site-global-styles-screen-colors .color-block-support-panel{border-top:none;padding-left:0;padding-right:0}.edit-site-global-styles-header__description{padding:0 16px}.edit-site-block-types-search{margin-bottom:8px;padding:0 16px}.edit-site-global-styles-header{margin-bottom:0!important}.edit-site-global-styles-subtitle{font-size:11px!important;font-weight:500!important;margin-bottom:0!important;text-transform:uppercase}.edit-site-global-styles-section-title{color:#2f2f2f;font-weight:600;line-height:1.2;margin:0;padding:16px 16px 0}.edit-site-global-styles-variations_item{border-radius:2px;box-sizing:border-box}.edit-site-global-styles-variations_item .edit-site-global-styles-variations_item-preview{border-radius:2px;box-shadow:0 0 0 1px #e0e0e0;outline:1px solid transparent;padding:2px}.edit-site-global-styles-variations_item.is-active .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px #1e1e1e;outline-width:3px}.edit-site-global-styles-variations_item:hover .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.edit-site-global-styles-variations_item:focus .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-global-styles-variations_item:focus-visible{outline:3px solid transparent;outline-offset:0}.edit-site-global-styles-icon-with-current-color{fill:currentColor}.edit-site-global-styles__color-indicator-wrapper{flex-shrink:0;height:24px}.edit-site-global-styles__block-preview-panel{border:1px solid #e0e0e0;border-radius:2px;overflow:auto;position:relative;width:100%}.edit-site-global-styles-screen-css{display:flex;flex:1 1 auto;flex-direction:column}.edit-site-global-styles-screen-css .components-v-stack{flex:1 1 auto}.edit-site-global-styles-screen-css .components-v-stack .block-editor-global-styles-advanced-panel__custom-css-input,.edit-site-global-styles-screen-css .components-v-stack .block-editor-global-styles-advanced-panel__custom-css-input .components-base-control__field{display:flex;flex:1 1 auto;flex-direction:column}.edit-site-global-styles-screen-css .components-v-stack .block-editor-global-styles-advanced-panel__custom-css-input .components-base-control__field .components-textarea-control__input{direction:ltr;flex:1 1 auto}.edit-site-global-styles-screen-css-help-link{display:block;margin-top:8px}.edit-site-global-styles-screen-variations{border-top:1px solid #ddd;margin-top:16px}.edit-site-global-styles-screen-variations>*{margin:24px 16px}.edit-site-global-styles-sidebar__navigator-screen{display:flex;flex-direction:column}.edit-site-global-styles-screen-root.edit-site-global-styles-screen-root,.edit-site-global-styles-screen-style-variations.edit-site-global-styles-screen-style-variations{background:unset;color:inherit}.edit-site-global-styles-sidebar__panel .block-editor-block-icon svg{fill:currentColor}[class][class].edit-site-global-styles-sidebar__revisions-count-badge{align-items:center;background:#2f2f2f;border-radius:2px;color:#fff;display:inline-flex;justify-content:center;min-height:24px;min-width:24px}.edit-site-global-styles-screen-revisions{margin:16px}.edit-site-global-styles-screen-revisions__revisions-list{list-style:none;margin:0}.edit-site-global-styles-screen-revisions__revisions-list li{border-right:1px solid #ddd;margin-bottom:0}.edit-site-global-styles-screen-revisions__revision-item{padding:8px 12px 8px 0;position:relative}.edit-site-global-styles-screen-revisions__revision-item:first-child{padding-top:0}.edit-site-global-styles-screen-revisions__revision-item:last-child{padding-bottom:0}.edit-site-global-styles-screen-revisions__revision-item:before{background:#ddd;border-radius:50%;content:"\a";display:inline-block;height:8px;position:absolute;right:0;top:50%;transform:translate(50%,-50%);width:8px}.edit-site-global-styles-screen-revisions__revision-item.is-selected:before{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba))}.edit-site-global-styles-screen-revisions__revision-button{display:block;height:auto;padding:8px 12px;width:100%}.edit-site-global-styles-screen-revisions__revision-button:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04)}.edit-site-global-styles-screen-revisions__revision-button:hover .edit-site-global-styles-screen-revisions__date{color:var(--wp-admin-theme-color)}.is-selected .edit-site-global-styles-screen-revisions__revision-button{background:rgba(var(--wp-admin-theme-color--rgb),.04);color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba));opacity:1}.is-selected .edit-site-global-styles-screen-revisions__meta{color:var(--wp-admin-theme-color)}.edit-site-global-styles-screen-revisions__button{justify-content:center;width:100%}.edit-site-global-styles-screen-revisions__description{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.edit-site-global-styles-screen-revisions__meta{align-items:center;color:#757575;display:flex;justify-content:space-between;text-align:right;width:100%}.edit-site-global-styles-screen-revisions__meta img{border-radius:100%;height:16px;width:16px}.edit-site-global-styles-screen-revisions__loading{margin:24px auto!important}.edit-site-header-edit-mode{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;box-sizing:border-box;color:#1e1e1e;display:flex;height:60px;justify-content:space-between;padding-right:60px;width:100%}.edit-site-header-edit-mode .edit-site-header-edit-mode__start{border:none;display:flex}.edit-site-header-edit-mode .edit-site-header-edit-mode__end{display:flex;justify-content:flex-end}.edit-site-header-edit-mode .edit-site-header-edit-mode__center{align-items:center;display:flex;flex-grow:1;height:100%;justify-content:center;margin:0 8px;min-width:0}.edit-site-header-edit-mode__toolbar{align-items:center;display:flex;padding-right:8px}@media (min-width:600px){.edit-site-header-edit-mode__toolbar{padding-right:24px}}@media (min-width:1280px){.edit-site-header-edit-mode__toolbar{padding-left:8px}}.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle{height:32px;margin-left:8px;min-width:32px;padding:0;width:32px}.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle svg{transition:transform .2s cubic-bezier(.165,.84,.44,1)}@media (prefers-reduced-motion:reduce){.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle svg{transition-delay:0s;transition-duration:0s}}.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle.is-pressed svg{transform:rotate(-45deg)}.edit-site-header-edit-mode__actions{align-items:center;display:inline-flex;gap:4px;padding-left:4px}@media (min-width:600px){.edit-site-header-edit-mode__actions{gap:8px;padding-left:10px}}.edit-site-header-edit-mode__preview-options{opacity:1;transition:opacity .3s}.edit-site-header-edit-mode__preview-options.is-zoomed-out{opacity:0}.edit-site-header-edit-mode__start{border:none;display:flex}.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon,.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon{height:36px;min-width:36px;padding:6px}.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon.is-pressed,.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon.is-pressed{background:#1e1e1e}.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon:focus:not(:disabled),.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 1px #fff;outline:1px solid transparent}.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon:before,.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon:before{display:none}.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.edit-site-header-edit-mode__inserter-toggle.has-icon{height:32px;margin-left:8px;min-width:32px;padding:0;width:32px}.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.edit-site-header-edit-mode__inserter-toggle.has-text.has-icon{padding:0 8px;width:auto}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon{width:auto}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon svg{display:none}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon:after{content:attr(aria-label)}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon[aria-disabled=true]{background-color:transparent}.edit-site-header-edit-mode.show-icon-labels .is-tertiary:active{background-color:transparent;box-shadow:0 0 0 1.5px var(--wp-admin-theme-color)}.edit-site-header-edit-mode.show-icon-labels .edit-site-save-button__button{padding-left:6px;padding-right:6px}.edit-site-header-edit-mode.show-icon-labels .edit-site-document-actions__get-info.edit-site-document-actions__get-info.edit-site-document-actions__get-info:after{content:none}.edit-site-header-edit-mode.show-icon-labels .edit-site-document-actions__get-info.edit-site-document-actions__get-info.edit-site-document-actions__get-info,.edit-site-header-edit-mode.show-icon-labels .edit-site-header-edit-mode__inserter-toggle.edit-site-header-edit-mode__inserter-toggle{height:36px;padding:0 8px}.edit-site-header-edit-mode.show-icon-labels .edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>*+*{margin-right:8px}.edit-site-document-actions{align-items:center;background:#f0f0f0;border-radius:4px;display:flex;height:36px;justify-content:space-between;min-width:0;width:min(100%,450px)}.has-fixed-toolbar .edit-site-document-actions{width:min(100%,380px)}.edit-site-document-actions:hover{background-color:#e0e0e0}.edit-site-document-actions .components-button{border-radius:4px}.edit-site-document-actions .components-button:hover{background:#e0e0e0;color:var(--wp-block-synced-color)}@media (min-width:960px){.edit-site-document-actions{width:min(100%,450px)}}.edit-site-document-actions.is-synced-entity .edit-site-document-actions__title,.edit-site-document-actions.is-synced-entity .edit-site-document-actions__title h1{color:var(--wp-block-synced-color)}.edit-site-document-actions__command{color:var(--wp-block-synced-color);flex-grow:1;overflow:hidden}.edit-site-document-actions__title{flex-grow:1;overflow:hidden}@media (min-width:600px){.edit-site-document-actions__title{padding-right:32px}}.edit-site-document-actions__title:hover{color:var(--wp-block-synced-color)}.edit-site-document-actions__title .block-editor-block-icon{flex-shrink:0;min-width:24px}.edit-site-document-actions__title h1{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-site-document-actions.is-page .edit-site-document-actions__title,.edit-site-document-actions.is-page .edit-site-document-actions__title h1{color:#2f2f2f}.edit-site-document-actions.is-animated .edit-site-document-actions__title{animation:edit-site-document-actions__slide-in-left .3s}@media (prefers-reduced-motion:reduce){.edit-site-document-actions.is-animated .edit-site-document-actions__title{animation-delay:0s;animation-duration:1ms}}.edit-site-document-actions.is-animated.is-page .edit-site-document-actions__title{animation:edit-site-document-actions__slide-in-right .3s}@media (prefers-reduced-motion:reduce){.edit-site-document-actions.is-animated.is-page .edit-site-document-actions__title{animation-delay:0s;animation-duration:1ms}}.edit-site-document-actions__shortcut{color:#2f2f2f;display:none;min-width:32px}@media (min-width:600px){.edit-site-document-actions__shortcut{display:initial}}.edit-site-document-actions__back.components-button.has-icon.has-text{color:#757575;flex-shrink:0;gap:0;min-width:36px;position:absolute;z-index:1}.edit-site-document-actions__back.components-button.has-icon.has-text:hover{background-color:transparent;color:currentColor}.edit-site-document-actions.is-animated .edit-site-document-actions__back.components-button.has-icon.has-text{animation:edit-site-document-actions__slide-in-left .3s}@media (prefers-reduced-motion:reduce){.edit-site-document-actions.is-animated .edit-site-document-actions__back.components-button.has-icon.has-text{animation-delay:0s;animation-duration:1ms}}@keyframes edit-site-document-actions__slide-in-right{0%{opacity:0;transform:translateX(15%)}to{opacity:1;transform:translateX(0)}}@keyframes edit-site-document-actions__slide-in-left{0%{opacity:0;transform:translateX(-15%)}to{opacity:1;transform:translateX(0)}}.edit-site-list-header{align-items:center;box-sizing:border-box;display:flex;height:60px;justify-content:flex-end;padding-left:16px;position:relative;width:100%}body.is-fullscreen-mode .edit-site-list-header{padding-right:60px;transition:padding-right 20ms linear;transition-delay:80ms}@media (prefers-reduced-motion:reduce){body.is-fullscreen-mode .edit-site-list-header{transition-delay:0s;transition-duration:0s}}.edit-site-list-header .edit-site-list-header__title{font-size:20px;margin:0;padding:0;position:absolute;right:0;text-align:center;width:100%}.edit-site-list-header__right{position:relative}.edit-site .edit-site-list{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px rgba(0,0,0,.8),0 8px 10px -6px rgba(0,0,0,.8);flex-grow:1}.edit-site .edit-site-list .interface-interface-skeleton__editor{min-width:100%}@media (min-width:782px){.edit-site .edit-site-list .interface-interface-skeleton__editor{min-width:0}}.edit-site .edit-site-list .interface-interface-skeleton__content{align-items:center;background:#fff;padding:16px}@media (min-width:782px){.edit-site .edit-site-list .interface-interface-skeleton__content{padding:72px}}.edit-site-list-table{border:1px solid #ddd;border-radius:2px;border-spacing:0;margin:0 auto;max-width:960px;min-width:100%;overflow:hidden}.edit-site-list-table tr{align-items:center;border-top:1px solid #f0f0f0;box-sizing:border-box;display:flex;margin:0;padding:16px}.edit-site-list-table tr:first-child{border-top:0}@media (min-width:782px){.edit-site-list-table tr{padding:24px 32px}}.edit-site-list-table tr .edit-site-list-table-column:first-child{padding-left:24px;width:calc(60% - 18px)}.edit-site-list-table tr .edit-site-list-table-column:first-child a{display:inline-block;font-weight:500;margin-bottom:4px;text-decoration:none}.edit-site-list-table tr .edit-site-list-table-column:nth-child(2){width:calc(40% - 18px);word-break:break-word}.edit-site-list-table tr .edit-site-list-table-column:nth-child(3){flex-shrink:0;min-width:36px}.edit-site-list-table tr.edit-site-list-table-head{border-bottom:1px solid #ddd;border-top:none;color:#1e1e1e;font-size:16px;font-weight:600;text-align:right}.edit-site-list-table tr.edit-site-list-table-head th{font-weight:inherit}@media (min-width:782px){.edit-site-list.is-navigation-open .components-snackbar-list{margin-right:360px}}.edit-site-list__rename-modal{z-index:1000001}@media (min-width:782px){.edit-site-list__rename-modal .components-base-control{width:320px}}.edit-site-template__actions button:not(:last-child){margin-left:8px}.edit-site-list-added-by__icon{align-items:center;background:#2f2f2f;border-radius:100%;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.edit-site-list-added-by__icon svg{fill:#fff}.edit-site-list-added-by__avatar{background:#2f2f2f;border-radius:100%;flex-shrink:0;height:32px;overflow:hidden;width:32px}.edit-site-list-added-by__avatar img{height:32px;object-fit:cover;opacity:0;transition:opacity .1s linear;width:32px}@media (prefers-reduced-motion:reduce){.edit-site-list-added-by__avatar img{transition-delay:0s;transition-duration:0s}}.edit-site-list-added-by__avatar.is-loaded img{opacity:1}.edit-site-list-added-by__customized-info{color:#757575;display:block}.edit-site-page{background:#fff;color:#2f2f2f;flex-grow:1;margin:60px 0 0;overflow:hidden}@media (min-width:782px){.edit-site-page{border-radius:8px;margin:24px 0 24px 24px}}.edit-site-page-header{background:#fff;border-bottom:1px solid #f0f0f0;min-height:60px;padding:0 32px;position:sticky;top:0;z-index:2}.edit-site-page-header .components-text{color:#2f2f2f}.edit-site-page-header .components-heading{color:#1e1e1e}.edit-site-page-header .edit-site-page-header__sub-title{color:#757575;margin-top:8px}.edit-site-page-content{display:flex;flex-flow:column;height:100%;overflow:auto;position:relative;z-index:1}.edit-site-patterns{background:none;border-radius:0;border-right:1px solid #2f2f2f;margin:60px 0 0;overflow-x:auto;padding:0}.edit-site-patterns .components-base-control{width:100%}@media (min-width:782px){.edit-site-patterns .components-base-control{width:auto}}.edit-site-patterns .components-text{color:#949494}.edit-site-patterns .components-heading{color:#e0e0e0}@media (min-width:782px){.edit-site-patterns{margin:0}}.edit-site-patterns .edit-site-patterns__search-block{flex-grow:1;min-width:-moz-fit-content;min-width:fit-content}.edit-site-patterns .edit-site-patterns__search input[type=search]{background:#2f2f2f;color:#e0e0e0;height:40px}.edit-site-patterns .edit-site-patterns__search input[type=search]:focus{background:#2f2f2f}.edit-site-patterns .edit-site-patterns__search svg{fill:#949494}.edit-site-patterns .edit-site-patterns__sync-status-filter{background:#2f2f2f;border:none;height:40px;max-width:100%;min-width:max-content;width:100%}@media (min-width:782px){.edit-site-patterns .edit-site-patterns__sync-status-filter{width:300px}}.edit-site-patterns .edit-site-patterns__sync-status-filter-option:not([aria-checked=true]){color:#949494}.edit-site-patterns .edit-site-patterns__sync-status-filter-option:active{background:#757575;color:#f0f0f0}.edit-site-patterns .edit-site-patterns__grid-pagination{background:#1e1e1e;border-top:1px solid #2f2f2f;bottom:0;padding:24px 32px;position:sticky;z-index:2}.edit-site-patterns .edit-site-patterns__grid-pagination .components-button.is-tertiary{background-color:#2f2f2f;color:#f0f0f0;height:32px;justify-content:center;width:32px}.edit-site-patterns .edit-site-patterns__grid-pagination .components-button.is-tertiary:disabled{background:none;color:#949494}.edit-site-patterns .edit-site-patterns__grid-pagination .components-button.is-tertiary:hover:not(:disabled){background-color:#757575}.edit-site-patterns__header{background:#1e1e1e;padding:32px 32px 16px;position:sticky;top:0;z-index:2}.edit-site-patterns__section{flex:1;padding:24px 32px}.edit-site-patterns__section-header .screen-reader-shortcut:focus{top:0}.edit-site-patterns__grid{display:grid;gap:32px;grid-template-columns:1fr;margin-bottom:0;margin-top:0}@media (min-width:960px){.edit-site-patterns__grid{grid-template-columns:1fr 1fr}}@media (min-width:1440px){.edit-site-patterns__grid{grid-template-columns:1fr 1fr 1fr}}@media (min-width:1920px){.edit-site-patterns__grid{grid-template-columns:1fr 1fr 1fr 1fr}}.edit-site-patterns__grid .edit-site-patterns__pattern{break-inside:avoid-column;display:flex;flex-direction:column}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview{background-color:unset;border:none;border-radius:4px;box-shadow:none;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:0}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview:focus{box-shadow:inset 0 0 0 0 #fff,0 0 0 2px var(--wp-admin-theme-color);outline:2px solid transparent}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview.is-inactive{cursor:default}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview.is-inactive:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #2f2f2f;opacity:.8}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__button,.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__footer{color:#949494}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__dropdown{flex-shrink:0}.edit-site-patterns__grid .edit-site-patterns__pattern.is-placeholder .edit-site-patterns__preview{align-items:center;border:1px dashed #2f2f2f;color:#949494;display:flex;justify-content:center;min-height:64px}.edit-site-patterns__grid .edit-site-patterns__pattern.is-placeholder .edit-site-patterns__preview:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-patterns__grid .edit-site-patterns__preview{flex:0 1 auto;margin-bottom:12px}.edit-site-patterns__load-more{align-self:center}.edit-site-patterns__pattern-title{color:#e0e0e0}.edit-site-patterns__pattern-title .is-link{color:#e0e0e0;text-decoration:none}.edit-site-patterns__pattern-title .is-link:focus,.edit-site-patterns__pattern-title .is-link:hover{color:#fff}.edit-site-patterns__pattern-title .edit-site-patterns__pattern-icon{fill:#fff;background:var(--wp-block-synced-color);border-radius:4px}.edit-site-patterns__pattern-title .edit-site-patterns__pattern-lock-icon{fill:currentcolor}.edit-site-patterns__no-results{color:#949494}.edit-site-table-wrapper{padding:32px;width:100%}.edit-site-table{border-collapse:collapse;border-color:inherit;position:relative;text-indent:0;width:100%}.edit-site-table a{text-decoration:none}.edit-site-table th{color:#757575;font-weight:400;padding:0 16px 16px;text-align:right}.edit-site-table td{padding:16px}.edit-site-table td,.edit-site-table th{vertical-align:center}.edit-site-table td:first-child,.edit-site-table th:first-child{padding-right:0}.edit-site-table td:last-child,.edit-site-table th:last-child{padding-left:0;text-align:left}.edit-site-table tr{border-bottom:1px solid #f0f0f0}.edit-site-sidebar-edit-mode{width:280px}.edit-site-sidebar-edit-mode>.components-panel{border-left:0;border-right:0;margin-bottom:-1px;margin-top:-1px}.edit-site-sidebar-edit-mode>.components-panel>.components-panel__header{background:#f0f0f0}.edit-site-sidebar-edit-mode .block-editor-block-inspector__card{margin:0}.edit-site-global-styles-sidebar{display:flex;flex-direction:column;min-height:100%}.edit-site-global-styles-sidebar__navigator-provider,.edit-site-global-styles-sidebar__panel{display:flex;flex:1;flex-direction:column}.edit-site-global-styles-sidebar__navigator-screen{flex:1}.edit-site-global-styles-sidebar .interface-complementary-area-header .components-button.has-icon{margin-right:0}.edit-site-global-styles-sidebar__reset-button.components-button{margin-right:auto}.edit-site-global-styles-sidebar .components-navigation__menu-title-heading{font-size:15.6px;font-weight:500}.edit-site-global-styles-sidebar .components-navigation__item>button span{font-weight:500}.edit-site-global-styles-sidebar .block-editor-panel-color-gradient-settings,.edit-site-typography-panel{border:0}.edit-site-global-styles-sidebar .single-column{grid-column:span 1}.edit-site-global-styles-sidebar .components-tools-panel .span-columns{grid-column:1/-1}.edit-site-global-styles-sidebar__blocks-group{border-top:1px solid #e0e0e0;padding-top:24px}.edit-site-global-styles-sidebar__blocks-group-help{padding:0 16px}.edit-site-global-styles-color-palette-panel,.edit-site-global-styles-gradient-palette-panel{padding:16px}.edit-site-global-styles-sidebar hr{margin:0}.show-icon-labels .edit-site-global-styles-sidebar__header .components-button.has-icon svg{display:none}.show-icon-labels .edit-site-global-styles-sidebar__header .components-button.has-icon:after{content:attr(aria-label);font-size:12px}.edit-site-sidebar-fixed-bottom-slot{background:#fff;border-top:1px solid #ddd;bottom:0;box-sizing:content-box;display:flex;padding:16px;position:sticky}.edit-site-swap-template-modal{z-index:1000001}.edit-site-page-panels__swap-template__confirm-modal__actions{margin-top:24px}.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list{column-count:2;column-gap:24px;padding-top:2px}@media (min-width:782px){.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list{column-count:3}}@media (min-width:1280px){.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list{column-count:4}}.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__item:not(:focus):not(:hover) .block-editor-block-preview__container{box-shadow:0 0 0 1px #ddd}.edit-site-change-status__content .components-popover__content{min-width:320px;padding:16px}.edit-site-change-status__content .edit-site-change-status__options .components-base-control__field>.components-v-stack{gap:8px}.edit-site-change-status__content .edit-site-change-status__options label .components-text{display:block;margin-right:26px}.edit-site-change-status__content .edit-site-change-status__password-legend{margin-bottom:8px;padding:0}.edit-site-summary-field .components-dropdown{width:70%}.edit-site-summary-field .edit-site-summary-field__trigger{display:block;max-width:100%;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.edit-site-summary-field .edit-site-summary-field__label{width:30%}.edit-site-page-panels-edit-template__dropdown .components-popover__content{min-width:240px}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs{border-top:0;justify-content:flex-start;margin-top:0;padding-left:16px;padding-right:0}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs ul{display:flex}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs li{margin:0}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs .components-button.has-icon{display:none;height:24px;margin:0 auto 0 0;min-width:24px;padding:0}@media (min-width:782px){.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs .components-button.has-icon{display:flex}}.components-button.edit-site-sidebar-edit-mode__panel-tab{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-right:0;padding:3px 16px;position:relative}.components-button.edit-site-sidebar-edit-mode__panel-tab:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-button.edit-site-sidebar-edit-mode__panel-tab:after{background:var(--wp-admin-theme-color);border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-site-sidebar-edit-mode__panel-tab:after{transition-delay:0s;transition-duration:0s}}.components-button.edit-site-sidebar-edit-mode__panel-tab.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-button.edit-site-sidebar-edit-mode__panel-tab:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-site-sidebar-edit-mode__panel-tab:before{transition-delay:0s;transition-duration:0s}}.components-button.edit-site-sidebar-edit-mode__panel-tab:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.edit-site-sidebar-card{align-items:flex-start;display:flex}.edit-site-sidebar-card__content{flex-grow:1;margin-bottom:4px}.edit-site-sidebar-card__title{font-weight:500;line-height:24px}.edit-site-sidebar-card__title.edit-site-sidebar-card__title{margin:0}.edit-site-sidebar-card__description{font-size:13px}.edit-site-sidebar-card__icon{flex:0 0 24px;height:24px;margin-left:12px;width:24px}.edit-site-sidebar-card__header{display:flex;justify-content:space-between;margin:0 0 4px}.edit-site-template-card__template-areas{margin-top:16px}.edit-site-template-card__template-areas-list,.edit-site-template-card__template-areas-list>li{margin:0}.edit-site-template-card__template-areas-item{width:100%}.edit-site-template-card__template-areas-item.components-button.has-icon{padding:0}.edit-site-template-card__actions{line-height:0}.edit-site-template-card__actions>.components-button.is-small.has-icon{min-width:auto;padding:0}.edit-site-template-revisions{margin-right:-4px}h3.edit-site-template-card__template-areas-title{font-weight:500;margin:0 0 8px}.edit-site-template-panel__replace-template-modal{z-index:1000001}.edit-site-template-panel__replace-template-modal__content{column-count:2;column-gap:24px}@media (min-width:782px){.edit-site-template-panel__replace-template-modal__content{column-count:3}}@media (min-width:1280px){.edit-site-template-panel__replace-template-modal__content{column-count:4}}.edit-site-editor__interface-skeleton{opacity:1;transition:opacity .1s ease-out}@media (prefers-reduced-motion:reduce){.edit-site-editor__interface-skeleton{transition-delay:0s;transition-duration:0s}}.edit-site-editor__interface-skeleton.is-loading{opacity:0}.edit-site-editor__interface-skeleton .interface-interface-skeleton__header{border:0}.edit-site-editor__toggle-save-panel{background-color:#fff;border:1px dotted #ddd;box-sizing:border-box;display:flex;justify-content:center;padding:24px;width:280px}.edit-site .components-editor-notices__snackbar{bottom:40px;left:0;padding-left:16px;padding-right:16px;position:absolute;right:0}@media (min-width:783px){.edit-site .components-editor-notices__snackbar{right:160px}}@media (min-width:783px){.auto-fold .edit-site .components-editor-notices__snackbar{right:36px}}@media (min-width:961px){.auto-fold .edit-site .components-editor-notices__snackbar{right:160px}}.folded .edit-site .components-editor-notices__snackbar{right:0}@media (min-width:783px){.folded .edit-site .components-editor-notices__snackbar{right:36px}}body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{right:0!important}.edit-site-create-template-part-modal{z-index:1000001}@media (min-width:600px){.edit-site-create-template-part-modal .components-modal__frame{max-width:500px}}.edit-site-create-template-part-modal__area-radio-group{border:1px solid #757575;border-radius:2px;width:100%}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio{display:block;height:100%;padding:12px;text-align:right;width:100%}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover{background-color:inherit;border-bottom:1px solid #757575;border-radius:0;margin:0}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover:not(:focus),.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover:not(:focus),.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:not(:focus){box-shadow:none}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover:focus,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover:focus,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:focus{border-bottom:1px solid #fff}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover:last-of-type,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover:last-of-type,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:last-of-type{border-bottom:none}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:not(:hover),.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio[aria-checked=true]{color:#1e1e1e;cursor:auto}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:not(:hover) .edit-site-create-template-part-modal__option-label div,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio[aria-checked=true] .edit-site-create-template-part-modal__option-label div{color:#949494}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio .edit-site-create-template-part-modal__option-label{padding-top:4px;white-space:normal}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio .edit-site-create-template-part-modal__option-label div{font-size:12px;padding-top:4px}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio .edit-site-create-template-part-modal__checkbox{margin-right:auto;min-width:24px}.edit-site-editor__inserter-panel,.edit-site-editor__list-view-panel{display:flex;flex-direction:column;height:100%}@media (min-width:782px){.edit-site-editor__list-view-panel{width:350px}}.edit-site-editor__inserter-panel-header{display:flex;justify-content:flex-end;padding-left:8px;padding-top:8px}.edit-site-editor__inserter-panel-content,.edit-site-editor__list-view-panel-content{height:calc(100% - 44px)}@media (min-width:782px){.edit-site-editor__inserter-panel-content{height:100%}}.edit-site-editor__list-view-panel-header{align-items:center;border-bottom:1px solid #ddd;display:flex;height:48px;justify-content:space-between;padding-left:4px;padding-right:16px}.edit-site-editor__list-view-panel-content{height:100%;overflow:auto;padding:8px 6px;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-gutter:auto;scrollbar-width:thin;will-change:transform}.edit-site-editor__list-view-panel-content::-webkit-scrollbar{height:12px;width:12px}.edit-site-editor__list-view-panel-content::-webkit-scrollbar-track{background-color:transparent}.edit-site-editor__list-view-panel-content::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.edit-site-editor__list-view-panel-content:focus-within::-webkit-scrollbar-thumb,.edit-site-editor__list-view-panel-content:focus::-webkit-scrollbar-thumb,.edit-site-editor__list-view-panel-content:hover::-webkit-scrollbar-thumb{background-color:#949494}.edit-site-editor__list-view-panel-content:focus,.edit-site-editor__list-view-panel-content:focus-within,.edit-site-editor__list-view-panel-content:hover{scrollbar-color:#949494 transparent}@media (hover:none){.edit-site-editor__list-view-panel-content{scrollbar-color:#949494 transparent}}.edit-site-welcome-guide{width:312px}.edit-site-welcome-guide.guide-editor .edit-site-welcome-guide__image .edit-site-welcome-guide.guide-styles .edit-site-welcome-guide__image{background:#00a0d2}.edit-site-welcome-guide.guide-page .edit-site-welcome-guide__video{border-left:16px solid #3858e9;border-top:16px solid #3858e9}.edit-site-welcome-guide.guide-template .edit-site-welcome-guide__video{border-right:16px solid #3858e9;border-top:16px solid #3858e9}.edit-site-welcome-guide__image{margin:0 0 16px}.edit-site-welcome-guide__image>img{display:block;max-width:100%;object-fit:cover}.edit-site-welcome-guide__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:24px;line-height:1.4;margin:16px 0;padding:0 32px}.edit-site-welcome-guide__text{font-size:13px;line-height:1.4;margin:0 0 16px;padding:0 32px}.edit-site-welcome-guide__text img{vertical-align:bottom}.edit-site-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}.edit-site-start-template-options__modal .edit-site-start-template-options__modal__actions{background-color:#fff;border-top:1px solid #ddd;bottom:0;height:92px;margin-left:-32px;margin-right:-32px;padding-left:32px;padding-right:32px;position:absolute;width:100%;z-index:1}.edit-site-start-template-options__modal .block-editor-block-patterns-list{padding-bottom:92px}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:782px){.edit-site-start-template-options__modal-content .block-editor-block-patterns-list{column-count:3}}@media (min-width:1280px){.edit-site-start-template-options__modal-content .block-editor-block-patterns-list{column-count:4}}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-patterns-list__item-title{display:none}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__item:not(:focus):not(:hover) .block-editor-block-preview__container{box-shadow:0 0 0 1px #ddd}.edit-site-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-site-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-site-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.edit-site-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.edit-site-keyboard-shortcut-help-modal__shortcut:empty{display:none}.edit-site-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 1rem 0 0;text-align:left}.edit-site-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination+.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.edit-site-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.edit-site-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.edit-site-layout{background:#1e1e1e;color:#ccc;display:flex;flex-direction:column;height:100%}.edit-site-layout__hub{height:60px;position:fixed;right:0;top:0;width:calc(100vw - 48px);z-index:3}.edit-site-layout.is-full-canvas.is-edit-mode .edit-site-layout__hub{padding-left:0;width:60px}@media (min-width:782px){.edit-site-layout__hub{width:336px}}.edit-site-layout.is-full-canvas .edit-site-layout__hub{border-radius:0;box-shadow:none;padding-left:16px;width:100vw}@media (min-width:782px){.edit-site-layout.is-full-canvas .edit-site-layout__hub{padding-left:0;width:auto}}.edit-site-layout__header-container{z-index:4}.edit-site-layout__header{display:flex;height:60px;z-index:2}.edit-site-layout:not(.is-full-canvas) .edit-site-layout__header{position:fixed;width:100vw}.edit-site-layout__content{display:flex;flex-grow:1;height:100%}.edit-site-layout__sidebar-region{flex-shrink:0;width:100vw;z-index:1}@media (min-width:782px){.edit-site-layout__sidebar-region{width:360px}}.edit-site-layout.is-full-canvas .edit-site-layout__sidebar-region{height:100vh;position:fixed!important;right:0;top:0}.edit-site-layout__sidebar-region .edit-site-layout__sidebar{display:flex;flex-direction:column;height:100%}.edit-site-layout__sidebar-region .resizable-editor__drag-handle{left:0}.edit-site-layout__main{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.edit-site-layout__canvas-container{flex-grow:1;position:relative;z-index:2}.edit-site-layout__canvas-container.is-resizing:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:100}.edit-site-layout__canvas{align-items:center;bottom:0;display:flex;justify-content:center;position:absolute;right:0;top:0;width:100%}.edit-site-layout__canvas.is-right-aligned{justify-content:flex-end}.edit-site-layout__canvas>div{color:#1e1e1e}@media (min-width:782px){.edit-site-layout__canvas{bottom:24px;top:24px;width:calc(100% - 24px)}.edit-site-layout:not(.is-full-canvas) .edit-site-layout__canvas>div .edit-site-visual-editor__editor-canvas,.edit-site-layout:not(.is-full-canvas) .edit-site-layout__canvas>div .interface-interface-skeleton__content,.edit-site-layout__canvas>div{border-radius:8px}}.edit-site-layout.is-full-canvas .edit-site-layout__canvas{bottom:0;top:0;width:100%}.edit-site-layout.is-full-canvas .edit-site-layout__canvas>div{border-radius:0}.edit-site-layout__canvas .interface-interface-skeleton{min-height:100%!important;position:relative!important}.edit-site-layout__view-mode-toggle.components-button{align-items:center;border-bottom:1px solid transparent;border-radius:0;color:#fff;display:flex;height:60px;justify-content:center;overflow:hidden;padding:0;position:relative;width:60px}.edit-site-layout.is-full-canvas.is-edit-mode .edit-site-layout__view-mode-toggle.components-button{border-bottom-color:#e0e0e0;transition:border-bottom-color .15s ease-out .4s}.edit-site-layout__view-mode-toggle.components-button:active,.edit-site-layout__view-mode-toggle.components-button:hover{color:#fff}.edit-site-layout__view-mode-toggle.components-button:focus{box-shadow:none}.edit-site-layout__view-mode-toggle.components-button:before{border-radius:4px;bottom:9px;box-shadow:none;content:"";display:block;left:9px;position:absolute;right:9px;top:9px;transition:box-shadow .1s ease}@media (prefers-reduced-motion:reduce){.edit-site-layout__view-mode-toggle.components-button:before{transition-delay:0s;transition-duration:0s}}.edit-site-layout__view-mode-toggle.components-button:focus:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) hsla(0,0%,100%,.1),inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-layout__view-mode-toggle.components-button .edit-site-layout__view-mode-toggle-icon{align-items:center;border-radius:2px;display:flex;height:64px;justify-content:center;width:64px}.edit-site-layout__actions{background:#fff;bottom:auto;color:#1e1e1e;left:0;position:fixed!important;right:auto;top:-9999em;width:280px;z-index:100000}.edit-site-layout__actions:focus,.edit-site-layout__actions:focus-within{bottom:0;top:auto}.edit-site-layout__actions.is-entity-save-view-open:focus,.edit-site-layout__actions.is-entity-save-view-open:focus-within{top:0}@media (min-width:782px){.edit-site-layout__actions{border-right:1px solid #ddd}.edit-site-layout.has-fixed-toolbar .edit-site-layout__canvas-container{z-index:5}.edit-site-layout.has-fixed-toolbar .edit-site-site-hub{z-index:4}}@media (min-width:782px){.edit-site-layout.has-fixed-toolbar .edit-site-layout__header:focus-within{z-index:3}}.is-edit-mode.is-distraction-free .edit-site-layout__header-container{height:60px;left:0;position:absolute;right:0;top:0;width:100%;z-index:4}.is-edit-mode.is-distraction-free .edit-site-layout__header-container:focus-within{opacity:1!important}.is-edit-mode.is-distraction-free .edit-site-layout__header-container:focus-within div{transform:translateX(0) translateY(0) translateZ(0)!important}.is-edit-mode.is-distraction-free .edit-site-layout__header-container:focus-within .edit-site-layout__header{opacity:1!important}.is-edit-mode.is-distraction-free .edit-site-layout__header,.is-edit-mode.is-distraction-free .edit-site-site-hub{position:absolute;top:0;z-index:2}.is-edit-mode.is-distraction-free .edit-site-site-hub{z-index:3}.is-edit-mode.is-distraction-free .edit-site-layout__header{width:100%}.edit-site-save-hub{border-top:1px solid #2f2f2f;color:#949494;flex-shrink:0;margin:0;padding:20px 24px}.edit-site-save-hub__button{color:inherit;justify-content:center;width:100%}.edit-site-save-hub__button[aria-disabled=true]{opacity:1}.edit-site-save-hub__button[aria-disabled=true]:hover{color:inherit}@media (min-width:600px){.edit-site-save-panel__modal{width:600px}}.edit-site-sidebar__content{flex-grow:1;overflow-y:auto}.edit-site-sidebar__content .components-navigator-screen{display:flex;flex-direction:column;height:100%;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-gutter:stable;scrollbar-width:thin;will-change:transform}.edit-site-sidebar__content .components-navigator-screen::-webkit-scrollbar{height:12px;width:12px}.edit-site-sidebar__content .components-navigator-screen::-webkit-scrollbar-track{background-color:transparent}.edit-site-sidebar__content .components-navigator-screen::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.edit-site-sidebar__content .components-navigator-screen:focus-within::-webkit-scrollbar-thumb,.edit-site-sidebar__content .components-navigator-screen:focus::-webkit-scrollbar-thumb,.edit-site-sidebar__content .components-navigator-screen:hover::-webkit-scrollbar-thumb{background-color:#757575}.edit-site-sidebar__content .components-navigator-screen:focus,.edit-site-sidebar__content .components-navigator-screen:focus-within,.edit-site-sidebar__content .components-navigator-screen:hover{scrollbar-color:#757575 transparent}@media (hover:none){.edit-site-sidebar__content .components-navigator-screen{scrollbar-color:#757575 transparent}}.edit-site-sidebar__footer{border-top:1px solid #2f2f2f;flex-shrink:0;margin:0 24px;padding:24px 0}.edit-site-sidebar__content>div{padding:0 12px}.edit-site-sidebar-button{color:#e0e0e0;flex-shrink:0}.edit-site-sidebar-button:focus:not(:disabled){box-shadow:none;outline:none}.edit-site-sidebar-button:focus-visible:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba));outline:3px solid transparent}.edit-site-sidebar-button:focus,.edit-site-sidebar-button:focus-visible,.edit-site-sidebar-button:hover,.edit-site-sidebar-button:not([aria-disabled=true]):active,.edit-site-sidebar-button[aria-expanded=true]{color:#f0f0f0}.edit-site-sidebar-navigation-item.components-item{border:none;border-radius:2px;color:#949494;min-height:40px;padding:8px 16px 8px 6px}.edit-site-sidebar-navigation-item.components-item:focus,.edit-site-sidebar-navigation-item.components-item:hover,.edit-site-sidebar-navigation-item.components-item[aria-current]{background:#2f2f2f;color:#e0e0e0}.edit-site-sidebar-navigation-item.components-item:focus .edit-site-sidebar-navigation-item__drilldown-indicator,.edit-site-sidebar-navigation-item.components-item:hover .edit-site-sidebar-navigation-item__drilldown-indicator,.edit-site-sidebar-navigation-item.components-item[aria-current] .edit-site-sidebar-navigation-item__drilldown-indicator{fill:#e0e0e0}.edit-site-sidebar-navigation-item.components-item[aria-current]{background:var(--wp-admin-theme-color);color:#fff}.edit-site-sidebar-navigation-item.components-item .edit-site-sidebar-navigation-item__drilldown-indicator{fill:#949494}.edit-site-sidebar-navigation-item.components-item.with-suffix{padding-left:16px}.edit-site-sidebar-navigation-screen__content .block-editor-list-view-block-select-button{cursor:grab;padding:8px}.edit-site-sidebar-navigation-screen{display:flex;flex-direction:column;overflow-x:unset!important;position:relative}.edit-site-sidebar-navigation-screen__main{flex-grow:1;margin-bottom:16px}.edit-site-sidebar-navigation-screen__main.has-footer{margin-bottom:0}.edit-site-sidebar-navigation-screen__content{padding:0 16px}.edit-site-sidebar-navigation-screen__content .components-item-group{margin-left:-16px;margin-right:-16px}.edit-site-sidebar-navigation-screen__content .components-text{color:#ccc}.edit-site-sidebar-navigation-screen__content .components-heading{margin-bottom:8px}.edit-site-sidebar-navigation-screen__meta{color:#ccc;margin:0 16px 16px 0}.edit-site-sidebar-navigation-screen__meta .components-text{color:#ccc}.edit-site-sidebar-navigation-screen__page-link{color:#949494;display:inline-block}.edit-site-sidebar-navigation-screen__page-link:focus,.edit-site-sidebar-navigation-screen__page-link:hover{color:#fff}.edit-site-sidebar-navigation-screen__page-link .components-external-link__icon{margin-right:4px}.edit-site-sidebar-navigation-screen__title-icon{background:#1e1e1e;margin-bottom:8px;padding-bottom:8px;padding-top:108px;position:sticky;top:0;z-index:1}.edit-site-sidebar-navigation-screen__title{flex-grow:1;overflow-wrap:break-word;padding:6px 0 0}.edit-site-sidebar-navigation-screen__actions{flex-shrink:0}@media (min-width:782px){.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container{max-width:292px}}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px #1e1e1e}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item.is-active .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px #f0f0f0}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item:hover .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item:focus .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-sidebar-navigation-screen__footer{background-color:#1e1e1e;border-top:1px solid #2f2f2f;bottom:0;gap:0;margin:16px 0 0;padding:16px 0;position:sticky}.edit-site-sidebar__notice{background:#2f2f2f;color:#ddd;margin:24px 0}.edit-site-sidebar__notice.is-dismissible{padding-left:8px}.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]){color:#ccc}.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]):focus,.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):active,.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{color:#fff}.edit-site-sidebar-navigation-screen__input-control{width:100%}.edit-site-sidebar-navigation-screen__input-control .components-input-control__container{background:#2f2f2f}.edit-site-sidebar-navigation-screen__input-control .components-input-control__container .components-button{color:#e0e0e0!important}.edit-site-sidebar-navigation-screen__input-control .components-input-control__input{background:#2f2f2f!important;border-radius:2px;color:#e0e0e0!important}.edit-site-sidebar-navigation-screen__input-control .components-input-control__backdrop{border:4px!important}.edit-site-sidebar-navigation-screen__input-control .components-base-control__help{color:#949494}.edit-site-sidebar-navigation-screen-details-footer div.edit-site-sidebar-navigation-item.components-item:focus,.edit-site-sidebar-navigation-screen-details-footer div.edit-site-sidebar-navigation-item.components-item:hover,.edit-site-sidebar-navigation-screen-details-footer div.edit-site-sidebar-navigation-item.components-item[aria-current]{background:none}.edit-site-sidebar-navigation-screen-details-footer .edit-site-sidebar-navigation-screen-details-footer__icon{fill:#949494;margin-right:auto}.sidebar-navigation__more-menu .components-button{color:#e0e0e0}.sidebar-navigation__more-menu .components-button:focus,.sidebar-navigation__more-menu .components-button:hover,.sidebar-navigation__more-menu .components-button[aria-current]{color:#f0f0f0}.edit-site-sidebar-navigation-screen-page__featured-image-wrapper{background-color:#2f2f2f;border-radius:4px;margin-bottom:16px;min-height:128px}.edit-site-sidebar-navigation-screen-page__featured-image{align-items:center;background-position:50% 50%;background-size:cover;border-radius:2px;color:#949494;display:flex;height:128px;justify-content:center;overflow:hidden;width:100%}.edit-site-sidebar-navigation-screen-page__featured-image img{height:100%;object-fit:cover;object-position:50% 50%;width:100%}.edit-site-sidebar-navigation-screen-page__featured-image-description{font-size:12px}.edit-site-sidebar-navigation-screen-page__excerpt{font-size:12px;margin-bottom:24px}.edit-site-sidebar-navigation-screen-page__modified{color:#949494;margin:0 16px 16px 0}.edit-site-sidebar-navigation-screen-page__modified .components-text{color:#949494}.edit-site-sidebar-navigation-screen-page__status{display:inline-flex}.edit-site-sidebar-navigation-screen-page__status time{display:contents}.edit-site-sidebar-navigation-screen-page__status svg{fill:#f0b849;height:16px;margin-left:8px;width:16px}.edit-site-sidebar-navigation-screen-page__status.has-future-status svg,.edit-site-sidebar-navigation-screen-page__status.has-publish-status svg{fill:#4ab866}.edit-site-sidebar-navigation-details-screen-panel{margin:24px 0}.edit-site-sidebar-navigation-details-screen-panel:last-of-type{margin-bottom:0}.edit-site-sidebar-navigation-details-screen-panel .edit-site-sidebar-navigation-details-screen-panel__heading{color:#ccc;font-size:11px;font-weight:500;margin-bottom:0;padding:0;text-transform:uppercase}.edit-site-sidebar-navigation-details-screen-panel__label.edit-site-sidebar-navigation-details-screen-panel__label{color:#949494;flex-shrink:0;width:100px}.edit-site-sidebar-navigation-details-screen-panel__value.edit-site-sidebar-navigation-details-screen-panel__value{color:#e0e0e0}.edit-site-sidebar-navigation-screen-pattern__added-by-description{align-items:center;display:flex;justify-content:space-between;margin-top:24px}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author{align-items:center;display:inline-flex}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author img{border-radius:12px}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author svg{fill:#949494}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author-icon{height:24px;margin-left:8px;width:24px}.edit-site-sidebar-navigation-screen-patterns__group{margin-bottom:24px}.edit-site-sidebar-navigation-screen-patterns__group:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.edit-site-sidebar-navigation-screen-patterns__group-header{margin-top:16px}.edit-site-sidebar-navigation-screen-patterns__group-header p{color:#949494}.edit-site-sidebar-navigation-screen-patterns__group-header h2{font-size:11px;font-weight:500;text-transform:uppercase}.edit-site-sidebar-navigation-screen-template__added-by-description{align-items:center;display:flex;justify-content:space-between;margin-top:24px}.edit-site-sidebar-navigation-screen-template__added-by-description-author{align-items:center;display:inline-flex}.edit-site-sidebar-navigation-screen-template__added-by-description-author img{border-radius:12px}.edit-site-sidebar-navigation-screen-template__added-by-description-author svg{fill:#949494}.edit-site-sidebar-navigation-screen-template__added-by-description-author-icon{height:24px;margin-left:8px;width:24px}.edit-site-sidebar-navigation-screen-template__template-area-button{align-items:center;border-radius:4px;color:#fff;display:flex;flex-wrap:nowrap;width:100%}.edit-site-sidebar-navigation-screen-template__template-area-button:focus,.edit-site-sidebar-navigation-screen-template__template-area-button:hover{background:#2f2f2f;color:#fff}.edit-site-sidebar-navigation-screen-template__template-area-label-text{flex-grow:1;margin:0 4px 0 16px}.edit-site-sidebar-navigation-screen-template__template-icon{display:flex}.edit-site-site-hub{align-items:center;display:flex;gap:8px;justify-content:space-between}.edit-site-site-hub .edit-site-site-hub__container{gap:0}.edit-site-site-hub .edit-site-site-hub__site-title,.edit-site-site-hub .edit-site-site-hub_toggle-command-center{transition:opacity .1s ease}.edit-site-site-hub .edit-site-site-hub__site-title.is-transparent,.edit-site-site-hub .edit-site-site-hub_toggle-command-center.is-transparent{opacity:0!important}.edit-site-site-hub .edit-site-site-hub__site-view-link{flex-grow:0;margin-left:var(--wp-admin-border-width-focus)}@media (min-width:480px){.edit-site-site-hub .edit-site-site-hub__site-view-link{opacity:0;transition:opacity .2s ease-in-out}}.edit-site-site-hub .edit-site-site-hub__site-view-link:focus{opacity:1}.edit-site-site-hub .edit-site-site-hub__site-view-link svg{fill:#e0e0e0}.edit-site-site-hub:hover .edit-site-site-hub__site-view-link{opacity:1}.edit-site-site-hub__post-type{opacity:.6}.edit-site-site-hub__view-mode-toggle-container{background:#1e1e1e;flex-shrink:0;height:60px;width:60px}.edit-site-site-hub__view-mode-toggle-container.has-transparent-background{background:transparent}.edit-site-site-hub__text-content{overflow:hidden}.edit-site-site-hub__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-site-site-hub__site-title{color:#e0e0e0;flex-grow:1;margin-right:4px}.edit-site-site-hub_toggle-command-center{color:#e0e0e0}.edit-site-site-hub_toggle-command-center:hover{color:#f0f0f0}.edit-site-sidebar-navigation-screen__description{margin:0 0 32px}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf{border-radius:2px;max-width:calc(100% - 4px)}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf:focus,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf:hover,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf[aria-current]{background:#2f2f2f}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf .block-editor-list-view-block__menu{margin-right:-8px}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected>td{background:transparent}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents{color:inherit}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:not(:hover) .block-editor-list-view-block__menu{opacity:0}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:focus,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:hover{color:#fff}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected .block-editor-list-view-block__menu,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:focus .block-editor-list-view-block__menu-cell,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:hover .block-editor-list-view-block__menu-cell{opacity:1}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected .block-editor-list-view-block__menu:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-branch-selected:not(.is-selected):not(.is-synced-branch){background:transparent}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-branch-selected:not(.is-selected):not(.is-synced-branch):hover{background:#2f2f2f}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-leaf .block-editor-list-view-block__contents-cell{width:100%}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-leaf .block-editor-list-view-block-contents{white-space:normal}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-block__title{margin-top:3px}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-block__menu-cell{padding-left:0}.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button{color:#949494}.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button:focus,.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button:hover,.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button[aria-current]{color:#fff}.edit-site-sidebar-navigation-screen-navigation-menus__loading.components-spinner{display:block;margin-left:auto;margin-right:auto}.edit-site-sidebar-navigation-screen-navigation-menus__helper-block-editor{display:none}.edit-site-site-icon__icon{fill:currentColor}.edit-site-site-icon__image{background:#333;border-radius:4px;height:auto;object-fit:cover;width:100%}.edit-site-layout.is-full-canvas.is-edit-mode .edit-site-site-icon__image{border-radius:0}.edit-site-style-book{height:100%}.edit-site-style-book.is-button,.edit-site-style-book__iframe.is-button{border-radius:8px}.edit-site-style-book__iframe.is-focused{outline:calc(var(--wp-admin-border-width-focus)*2) solid var(--wp-admin-theme-color);outline-offset:calc(var(--wp-admin-border-width-focus)*-2)}.edit-site-style-book__tab-panel .components-tab-panel__tabs{background:#fff;color:#1e1e1e}.edit-site-style-book__tab-panel .components-tab-panel__tab-content{bottom:0;left:0;overflow:auto;padding:0;position:absolute;right:0;top:48px}.edit-site-editor-canvas-container{background:#fff;border-radius:2px;bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;transition:all .3s}.edit-site-editor-canvas-container__close-button{background:#fff;left:8px;position:absolute;top:6px;z-index:1}.edit-site-resizable-frame__inner{position:relative}body:has(.edit-site-resizable-frame__inner.is-resizing){cursor:col-resize;user-select:none;-webkit-user-select:none}.edit-site-resizable-frame__inner.is-resizing:before{content:"";inset:0;position:absolute;z-index:1}.edit-site-resizable-frame__inner-content{inset:0;position:absolute;z-index:0}.edit-site-resizable-frame__handle{align-items:center;background-color:hsla(0,0%,46%,.4);border:0;border-radius:4px;cursor:col-resize;display:flex;height:64px;justify-content:flex-end;padding:0;position:absolute;top:calc(50% - 32px);width:4px;z-index:100}.edit-site-resizable-frame__handle:before{content:"";height:100%;position:absolute;right:100%;width:32px}.edit-site-resizable-frame__handle:after{content:"";height:100%;left:100%;position:absolute;width:32px}.edit-site-resizable-frame__handle:focus-visible{outline:2px solid transparent}.edit-site-resizable-frame__handle.is-resizing,.edit-site-resizable-frame__handle:focus,.edit-site-resizable-frame__handle:hover{background-color:var(--wp-admin-theme-color)}.edit-site-push-changes-to-global-styles-control .components-button{justify-content:center;width:100%}@media (min-width:782px){.font-library-modal.font-library-modal{width:65vw}}.font-library-modal .components-modal__header{border-bottom:none}.font-library-modal .components-modal__content{padding-top:0}.font-library-modal .font-library-modal__subtitle{font-size:11px;font-weight:500;text-transform:uppercase}.font-library-modal__tab-layout main{padding-bottom:4rem}.font-library-modal__tab-layout footer{background-color:#fff;border-top:1px solid #e5e5e5;bottom:32px;margin:0 -32px -32px;padding:16px 32px;position:absolute;width:100%}.font-library-modal__fonts-grid .font-library-modal__fonts-grid__main{display:flex;flex-direction:column}.font-library-modal__font-card{border:1px solid #e5e5e5;height:auto;margin-top:-1px;padding:1rem}.font-library-modal__font-card .font-library-modal__font-card__name{font-weight:700}.font-library-modal__font-card .font-library-modal__font-card__count{color:#6e6e6e}.font-library-modal__library-font-variant{border:1px solid #e5e5e5;margin-top:-1px;padding:1rem}.font-library-modal__font-variant{border-bottom:1px solid #e5e5e5;padding-bottom:1rem}.font-library-modal__tab-panel [role=tablist]{background:#fff;border-bottom:1px solid #e6e6e6;margin:0 -32px;padding:0 16px;position:sticky;top:0;width:calc(100% + 64px);z-index:1}.font-library-modal__upload-area{align-items:center;background-color:#f0f0f0;display:flex;height:250px;justify-content:center;width:100%}.font-library-modal__local-fonts{margin:0 auto;width:80%}.font-library-modal__local-fonts .font-library-modal__upload-area__text{color:#6e6e6e}.font-library-modal__local-fonts .font-library-modal__upload-area__notice{margin:0}.font-library-modal__font-name{font-weight:700}.font-library-modal__font-filename{color:#6e6e6e}.font-library-modal__font-variant_demo-wrapper{overflow:hidden;position:relative;white-space:nowrap;width:100%}.font-library-modal__font-variant_demo-wrapper:after{background:linear-gradient(270deg,hsla(0,0%,100%,0),#fff);bottom:0;content:"";height:100%;left:0;position:absolute;width:30vw}.font-library__google-fonts-confirm{align-items:center;display:flex;justify-content:center}.font-library__google-fonts-confirm h3{font-size:1.4rem}.font-library__google-fonts-confirm .components-card{max-width:350px;min-width:250px;width:50%}.font-library-modal__font-collection__notice{margin:0}body.js #wpadminbar{display:none}body.js #wpbody{padding-top:0}body.js.appearance_page_gutenberg-template-parts,body.js.site-editor-php{background:#fff}body.js.appearance_page_gutenberg-template-parts #wpcontent,body.js.site-editor-php #wpcontent{padding-right:0}body.js.appearance_page_gutenberg-template-parts #wpbody-content,body.js.site-editor-php #wpbody-content{padding-bottom:0}body.js.appearance_page_gutenberg-template-parts #wpbody-content>div:not(.edit-site):not(#screen-meta),body.js.appearance_page_gutenberg-template-parts #wpfooter,body.js.site-editor-php #wpbody-content>div:not(.edit-site):not(#screen-meta),body.js.site-editor-php #wpfooter{display:none}body.js.appearance_page_gutenberg-template-parts .a11y-speak-region,body.js.site-editor-php .a11y-speak-region{right:-1px;top:-1px}body.js.appearance_page_gutenberg-template-parts ul#adminmenu a.wp-has-current-submenu:after,body.js.appearance_page_gutenberg-template-parts ul#adminmenu>li.current>a.current:after,body.js.site-editor-php ul#adminmenu a.wp-has-current-submenu:after,body.js.site-editor-php ul#adminmenu>li.current>a.current:after{border-left-color:#fff}body.js.appearance_page_gutenberg-template-parts .media-frame select.attachment-filters:last-of-type,body.js.site-editor-php .media-frame select.attachment-filters:last-of-type{max-width:100%;width:auto}body.js.site-editor-php{background:#1e1e1e}.components-modal__frame,.edit-site{box-sizing:border-box}.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before,.edit-site *,.edit-site :after,.edit-site :before{box-sizing:inherit}.edit-site{height:100vh}@media (min-width:600px){.edit-site{bottom:0;left:0;min-height:100vh;position:fixed;right:0;top:0}}.no-js .edit-site{min-height:0;position:static}.edit-site .interface-interface-skeleton{top:0}.edit-site .interface-complementary-area__pin-unpin-item.components-button{display:none}.edit-site .interface-interface-skeleton__content{background-color:#1e1e1e}@keyframes edit-post__fade-in-animation{0%{opacity:0}to{opacity:1}}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-panel__header.interface-complementary-area-header__small{background:#fff;padding-left:4px}.components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:782px){.components-panel__header.interface-complementary-area-header__small{display:none}}.interface-complementary-area-header{background:#fff;padding-left:4px}.interface-complementary-area-header .components-button.has-icon{display:none;margin-right:auto}.interface-complementary-area-header .components-button.has-icon~.components-button{margin-right:0}@media (min-width:782px){.interface-complementary-area-header .components-button.has-icon{display:flex}.components-panel__header+.interface-complementary-area-header{margin-top:0}}.interface-complementary-area{background:#fff;color:#1e1e1e}@media (min-width:600px){.interface-complementary-area{-webkit-overflow-scrolling:touch}}@media (min-width:782px){.interface-complementary-area{width:280px}}.interface-complementary-area .components-panel{border:none;position:relative;z-index:0}.interface-complementary-area .components-panel__header{position:sticky;top:0;z-index:1}.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:48px}@media (min-width:782px){.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:0}}.interface-complementary-area p:not(.components-base-control__help){margin-top:0}.interface-complementary-area h2{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.interface-complementary-area h3{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.interface-complementary-area hr{border-bottom:1px solid #f0f0f0;border-top:none;margin:1.5em 0}.interface-complementary-area div.components-toolbar,.interface-complementary-area div.components-toolbar-group{box-shadow:none;margin-bottom:1.5em}.interface-complementary-area div.components-toolbar-group:last-child,.interface-complementary-area div.components-toolbar:last-child{margin-bottom:0}.interface-complementary-area .block-editor-skip-to-selected-block:focus{bottom:10px;left:10px;right:auto;top:auto}@media (min-width:782px){body.js.is-fullscreen-mode{height:calc(100% + 32px);margin-top:-32px}body.js.is-fullscreen-mode #adminmenumain,body.js.is-fullscreen-mode #wpadminbar{display:none}body.js.is-fullscreen-mode #wpcontent,body.js.is-fullscreen-mode #wpfooter{margin-right:0}}html.interface-interface-skeleton__html-container{position:fixed;width:100%}@media (min-width:782px){html.interface-interface-skeleton__html-container{position:static;width:auto}}.interface-interface-skeleton{bottom:0;display:flex;flex-direction:row;height:auto;left:0;max-height:100%;position:fixed;top:46px}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden}.interface-interface-skeleton{right:0}@media (min-width:783px){.interface-interface-skeleton{right:160px}}@media (min-width:783px){.auto-fold .interface-interface-skeleton{right:36px}}@media (min-width:961px){.auto-fold .interface-interface-skeleton{right:160px}}.folded .interface-interface-skeleton{right:0}@media (min-width:783px){.folded .interface-interface-skeleton{right:36px}}body.is-fullscreen-mode .interface-interface-skeleton{right:0!important}.interface-interface-skeleton__body{display:flex;flex-grow:1;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;z-index:20}@media (min-width:782px){.interface-interface-skeleton__content{z-index:auto}}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{background:#fff;bottom:0;color:#1e1e1e;flex-shrink:0;left:0;position:absolute;right:0;top:0;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;width:auto}.is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,.is-sidebar-opened .interface-interface-skeleton__sidebar{z-index:90}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-right:1px solid #e0e0e0}.interface-interface-skeleton__secondary-sidebar{border-left:1px solid #e0e0e0}}.interface-interface-skeleton__header{border-bottom:1px solid #e0e0e0;color:#1e1e1e;flex-shrink:0;height:auto;z-index:30}.interface-interface-skeleton__footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;color:#1e1e1e;display:none;flex-shrink:0;height:auto;position:absolute;right:0;width:100%;z-index:90}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{align-items:center;background:#fff;display:flex;font-size:13px;height:24px;padding:0 18px;z-index:30}.interface-interface-skeleton__actions{background:#fff;bottom:auto;color:#1e1e1e;left:0;position:fixed!important;right:auto;top:-9999em;width:100vw;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__actions{width:280px}}.interface-interface-skeleton__actions:focus,.interface-interface-skeleton__actions:focus-within{bottom:0;top:auto}.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:46px}@media (min-width:782px){.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{border-right:1px solid #ddd;top:32px}.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:0}}.interface-more-menu-dropdown{margin-right:-4px}.interface-more-menu-dropdown .components-button{padding:0 2px;width:auto}@media (min-width:600px){.interface-more-menu-dropdown{margin-right:0}.interface-more-menu-dropdown .components-button{padding:0 4px}}.interface-more-menu-dropdown__content .components-popover__content{min-width:280px}@media (min-width:480px){.interface-more-menu-dropdown__content .components-popover__content{max-width:480px}}.interface-more-menu-dropdown__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.interface-more-menu-dropdown__content{z-index:99998}.interface-pinned-items{display:flex;gap:8px}.interface-pinned-items .components-button{display:none;margin:0}.interface-pinned-items .components-button[aria-controls="edit-post:block"],.interface-pinned-items .components-button[aria-controls="edit-post:document"],.interface-pinned-items .components-button[aria-controls="edit-site:block-inspector"],.interface-pinned-items .components-button[aria-controls="edit-site:global-styles"],.interface-pinned-items .components-button[aria-controls="edit-site:template"]{display:flex}.interface-pinned-items .components-button svg{max-height:24px;max-width:24px}@media (min-width:600px){.interface-pinned-items .components-button{display:flex}}.dataviews-wrapper{box-sizing:border-box;height:100%;overflow:auto;scroll-padding-bottom:64px;width:100%}.dataviews-wrapper>div{min-height:100%}.dataviews-filters__view-actions{padding:12px 32px}.dataviews-filters__view-actions .components-search-control{flex-grow:1;max-width:240px}.dataviews-filters__view-actions.components-h-stack{align-items:center}.dataviews-filters-button{position:relative}.dataviews-filters-count{align-items:center;background-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba));border-radius:8px;color:var(--wp-components-color-accent-inverted,#fff);display:flex;font-size:11px;font-weight:300;height:16px;justify-content:center;left:0;min-width:16px;padding:0 4px;position:absolute;top:0;transform:translateX(-40%) translateY(-40%)}.dataviews-pagination{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:hsla(0,0%,100%,.8);border-top:1px solid #f0f0f0;bottom:0;color:#757575;margin-top:auto;padding:12px 32px;position:sticky}.dataviews-filters-options{margin:32px 0 16px}.dataviews-view-table-wrapper{overflow-x:auto}.dataviews-view-table{border-collapse:collapse;border-color:inherit;color:#757575;position:relative;text-indent:0;width:100%}.dataviews-view-table a{color:#1e1e1e;font-weight:500;text-decoration:none}.dataviews-view-table th{color:var(--wp-components-color-foreground,#1e1e1e);font-size:13px;font-weight:400;text-align:right}.dataviews-view-table td,.dataviews-view-table th{padding:12px;white-space:nowrap}@media (min-width:1440px){.dataviews-view-table td,.dataviews-view-table th{min-width:200px}}.dataviews-view-table td[data-field-id=actions],.dataviews-view-table th[data-field-id=actions]{text-align:left}.dataviews-view-table td.dataviews-view-table__checkbox-column,.dataviews-view-table th.dataviews-view-table__checkbox-column{padding-left:0}.dataviews-view-table td .components-checkbox-control__input-container,.dataviews-view-table th .components-checkbox-control__input-container{margin:4px}.dataviews-view-table tr{border-bottom:1px solid #f0f0f0}.dataviews-view-table tr .dataviews-view-table-header-button{gap:4px}.dataviews-view-table tr td:first-child,.dataviews-view-table tr th:first-child{padding-right:32px}.dataviews-view-table tr td:first-child .dataviews-view-table-header,.dataviews-view-table tr td:first-child .dataviews-view-table-header-button,.dataviews-view-table tr th:first-child .dataviews-view-table-header,.dataviews-view-table tr th:first-child .dataviews-view-table-header-button{margin-right:-8px}.dataviews-view-table tr td:last-child,.dataviews-view-table tr th:last-child{padding-left:32px}.dataviews-view-table tr:last-child{border-bottom:0}.dataviews-view-table tr:hover{background-color:#f8f8f8}.dataviews-view-table tr .components-checkbox-control__input{opacity:0}.dataviews-view-table tr .components-checkbox-control__input:checked,.dataviews-view-table tr .components-checkbox-control__input:focus,.dataviews-view-table tr .components-checkbox-control__input:indeterminate{opacity:1}.dataviews-view-table tr:focus-within .components-checkbox-control__input,.dataviews-view-table tr:hover .components-checkbox-control__input{opacity:1}.dataviews-view-table tr.is-selected{background-color:rgba(var(--wp-admin-theme-color--rgb),.04);color:#757575}.dataviews-view-table tr.is-selected:hover{background-color:rgba(var(--wp-admin-theme-color--rgb),.08)}.dataviews-view-table thead tr{border:0}.dataviews-view-table thead th{background-color:#fff;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:11px;font-weight:500;padding-bottom:8px;padding-right:4px;padding-top:8px;position:sticky;text-transform:uppercase;top:-1px;z-index:1}.dataviews-view-table tbody td{vertical-align:top}.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper{align-items:center;display:flex;min-height:32px}.dataviews-view-table .dataviews-view-table-header-button{font-size:11px;font-weight:500;padding:4px 8px;text-transform:uppercase}.dataviews-view-table .dataviews-view-table-header-button:not(:hover){color:#1e1e1e}.dataviews-view-table .dataviews-view-table-header-button span{speak:none}.dataviews-view-table .dataviews-view-table-header-button span:empty{display:none}.dataviews-view-table .dataviews-view-table-header{padding-right:4px}.dataviews-view-table .dataviews-view-table__actions-column{width:1%}.dataviews-view-grid__primary-field,.dataviews-view-list__primary-field,.dataviews-view-table__primary-field{color:#1e1e1e;display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.dataviews-view-grid__primary-field a,.dataviews-view-list__primary-field a,.dataviews-view-table__primary-field a{color:inherit;display:block;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:100%}.dataviews-view-grid__primary-field a:hover,.dataviews-view-list__primary-field a:hover,.dataviews-view-table__primary-field a:hover{color:#1e1e1e}.dataviews-view-grid__primary-field button.components-button.is-link,.dataviews-view-list__primary-field button.components-button.is-link,.dataviews-view-table__primary-field button.components-button.is-link{color:inherit;display:block;font-weight:inherit;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:100%}.dataviews-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-bottom:24px;padding:0 32px}@media (min-width:1080px){.dataviews-view-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (min-width:1440px){.dataviews-view-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}.dataviews-view-grid .dataviews-view-grid__card{border:1px solid #e0e0e0;border-radius:4px;height:100%;justify-content:flex-start}.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-actions{padding:0 4px}.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field{min-height:40px}.dataviews-view-grid .dataviews-view-grid__media{aspect-ratio:1/1;background-color:#f0f0f0;border-bottom:1px solid #e0e0e0;border-radius:3px 3px 0 0;min-height:200px;width:100%}.dataviews-view-grid .dataviews-view-grid__media img{height:100%;object-fit:cover;width:100%}.dataviews-view-grid .dataviews-view-grid__primary-field{padding:8px}.dataviews-view-grid .dataviews-view-grid__fields{font-size:12px;line-height:16px;position:relative}.dataviews-view-grid .dataviews-view-grid__fields:not(:empty){padding:0 12px 12px}.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-value{color:#757575}.dataviews-view-list{margin:0;padding:8px}.dataviews-view-list li{margin:0}.dataviews-view-list li .dataviews-view-list__item-wrapper{border-radius:4px;padding-left:24px;position:relative}.dataviews-view-list li .dataviews-view-list__item-wrapper:after{background:#f0f0f0;content:"";height:1px;left:24px;position:absolute;right:24px;top:100%}.dataviews-view-list li:not(.is-selected):hover,.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields,.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field{color:var(--wp-admin-theme-color)}.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper{background-color:var(--wp-admin-theme-color);color:#fff}.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .components-button,.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .components-button,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field{color:#fff}.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper:after,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper:after{background:transparent}.dataviews-view-list .dataviews-view-list__item{cursor:pointer;padding:12px 24px 12px 0;width:100%}.dataviews-view-list .dataviews-view-list__item:focus:before{border-radius:4px;bottom:-1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:-1px;position:absolute;right:-1px;top:-1px;z-index:-1}.dataviews-view-list .dataviews-view-list__item h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataviews-view-list .dataviews-view-list__media-wrapper{background-color:#f0f0f0;border-radius:4px;flex-shrink:0;height:32px;overflow:hidden;position:relative;width:32px}.dataviews-view-list .dataviews-view-list__media-wrapper img{height:100%;object-fit:cover;width:100%}.dataviews-view-list .dataviews-view-list__media-wrapper:after{border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);content:"";height:100%;position:absolute;right:0;top:0;width:100%}.dataviews-view-list .dataviews-view-list__media-placeholder{background-color:#e0e0e0;height:32px;min-width:32px}.dataviews-view-list .dataviews-view-list__fields{color:#757575;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field{margin-left:12px}.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:last-child{margin-left:0}.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:empty{display:none}.dataviews-view-list+.dataviews-pagination{justify-content:space-between}.dataviews-view-list .dataviews-view-list__details-button{align-self:center;opacity:0}.dataviews-view-list li.is-selected .dataviews-view-list__details-button,.dataviews-view-list li:focus-within .dataviews-view-list__details-button,.dataviews-view-list li:hover .dataviews-view-list__details-button{opacity:1}.dataviews-view-list li.is-selected .dataviews-view-list__details-button:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) currentColor}.dataviews-action-modal{z-index:1000001}.dataviews-loading,.dataviews-no-results{padding:0 32px}.dataviews-view-table-selection-checkbox label{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.dataviews-filters__custom-menu-radio-item-prefix{display:block;width:24px}.dataviews-bulk-edit-button.components-button{flex-shrink:0}.edit-site-custom-template-modal__contents-wrapper{height:100%;justify-content:flex-start!important}.edit-site-custom-template-modal__contents-wrapper>*{width:100%}.edit-site-custom-template-modal__contents-wrapper__suggestions_list{margin-left:-12px;margin-right:-12px;width:calc(100% + 24px)}.edit-site-custom-template-modal__contents>.components-button{height:auto;justify-content:center}.edit-site-custom-template-modal .components-search-control input[type=search].components-search-control__input{background:#fff;border:1px solid #ddd}.edit-site-custom-template-modal .components-search-control input[type=search].components-search-control__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color)}@media (min-width:782px){.edit-site-custom-template-modal{width:456px}}@media (min-width:600px){.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list{max-height:224px;overflow-y:auto}}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item{display:block;height:auto;overflow-wrap:break-word;padding:8px 12px;text-align:right;white-space:pre-wrap;width:100%}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item mark{background:none;font-weight:700}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04)}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:hover *,.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:hover mark{color:var(--wp-admin-theme-color)}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:focus{background-color:#f0f0f0}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color) inset}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item__info,.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item__title{display:block;overflow:hidden;text-overflow:ellipsis}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item__info{color:#757575;word-break:break-all}.edit-site-custom-template-modal__no-results{border:1px solid #ccc;border-radius:2px;padding:16px}.edit-site-custom-generic-template__modal .components-modal__header{border-bottom:none}.edit-site-custom-generic-template__modal .components-modal__content:before{margin-bottom:4px}.edit-site-template-actions-loading-screen-modal{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:transparent}.edit-site-template-actions-loading-screen-modal.is-full-screen{background-color:#fff;box-shadow:0 0 0 transparent;min-height:100%;min-width:100%}.edit-site-template-actions-loading-screen-modal__content{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:50%;transform:translateX(50%)}.edit-site-add-new-template__modal{margin-top:64px;max-height:calc(100% - 128px);max-width:832px;width:calc(100% - 64px)}@media (min-width:960px){.edit-site-add-new-template__modal{width:calc(100% - 128px)}}.edit-site-add-new-template__modal .edit-site-add-new-template__custom-template-button svg,.edit-site-add-new-template__modal .edit-site-add-new-template__template-button svg{fill:var(--wp-admin-theme-color)}.edit-site-add-new-template__modal .edit-site-add-new-template__custom-template-button .edit-site-add-new-template__template-name{align-items:flex-start;flex-grow:1}.edit-site-add-new-template__modal .edit-site-add-new-template__template-icon{background:rgba(var(--wp-admin-theme-color--rgb),.04);border-radius:100%;max-height:40px;max-width:40px;padding:8px}.edit-site-add-new-template__template-list__contents>.components-button,.edit-site-custom-template-modal__contents>.components-button{border:1px solid #ddd;border-radius:2px;display:flex;flex-direction:column;justify-content:center;outline:1px solid transparent;padding:32px}.edit-site-add-new-template__template-list__contents>.components-button span:first-child,.edit-site-custom-template-modal__contents>.components-button span:first-child{color:#1e1e1e}.edit-site-add-new-template__template-list__contents>.components-button span,.edit-site-custom-template-modal__contents>.components-button span{color:#757575}.edit-site-add-new-template__template-list__contents>.components-button:hover,.edit-site-custom-template-modal__contents>.components-button:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04);border-color:transparent;color:var(--wp-admin-theme-color-darker-10)}.edit-site-add-new-template__template-list__contents>.components-button:hover span,.edit-site-custom-template-modal__contents>.components-button:hover span{color:var(--wp-admin-theme-color)}.edit-site-add-new-template__template-list__contents>.components-button:focus,.edit-site-custom-template-modal__contents>.components-button:focus{border-color:transparent;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid transparent}.edit-site-add-new-template__template-list__contents>.components-button:focus span:first-child,.edit-site-custom-template-modal__contents>.components-button:focus span:first-child{color:var(--wp-admin-theme-color)}.edit-site-add-new-template__template-list__contents .edit-site-add-new-template__custom-template-button,.edit-site-add-new-template__template-list__contents .edit-site-add-new-template__template-list__prompt,.edit-site-custom-template-modal__contents .edit-site-add-new-template__custom-template-button,.edit-site-custom-template-modal__contents .edit-site-add-new-template__template-list__prompt{grid-column-end:4;grid-column-start:1}.edit-site-add-new-template__template-list__contents>.components-button{align-items:flex-start;height:100%;text-align:start}.edit-site-block-editor__editor-styles-wrapper .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;padding:6px 12px}.edit-site-block-editor__editor-styles-wrapper .components-button.has-icon,.edit-site-block-editor__editor-styles-wrapper .components-button.is-tertiary{padding:6px}.edit-site-editor-canvas__block-list.is-navigation-block{padding:24px}.edit-site-visual-editor{align-items:center;background-color:#1e1e1e;display:block;height:100%;overflow:hidden;position:relative}.edit-site-visual-editor iframe{background:#fff;display:block;height:100%;width:100%}.edit-site-visual-editor .edit-site-visual-editor__editor-canvas.is-focused{outline:calc(var(--wp-admin-border-width-focus)*2) solid var(--wp-admin-theme-color);outline-offset:calc(var(--wp-admin-border-width-focus)*-2)}.edit-site-layout.is-full-canvas .edit-site-visual-editor.is-focus-mode{padding:48px}.edit-site-visual-editor.is-focus-mode .edit-site-visual-editor__editor-canvas{border-radius:2px;max-height:100%}.edit-site-visual-editor.is-focus-mode .components-resizable-box__container{overflow:visible}.edit-site-visual-editor .components-resizable-box__container{margin:0 auto;overflow:auto}.edit-site-visual-editor.is-view-mode{box-shadow:0 20px 25px -5px rgba(0,0,0,.8),0 8px 10px -6px rgba(0,0,0,.8)}.edit-site-visual-editor__back-button{color:#fff;position:absolute;right:8px;top:8px}.edit-site-visual-editor__back-button:active:not([aria-disabled=true]),.edit-site-visual-editor__back-button:focus:not([aria-disabled=true]),.edit-site-visual-editor__back-button:hover{color:#f0f0f0}.is-distraction-free .edit-site-visual-editor__back-button{display:none}.resizable-editor__drag-handle{-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:2px;bottom:0;cursor:ew-resize;margin:auto 0;outline:none;padding:0;position:absolute;top:0;width:12px}.resizable-editor__drag-handle.is-variation-default{height:100px}.resizable-editor__drag-handle.is-variation-separator{height:100%;left:0;width:24px}.resizable-editor__drag-handle.is-variation-separator:after{background:transparent;border-radius:0;left:0;right:50%;transform:translateX(1px);transition:all .2s ease;transition-delay:.1s;width:2px}@media (prefers-reduced-motion:reduce){.resizable-editor__drag-handle.is-variation-separator:after{animation-delay:0s;animation-duration:1ms;transition-delay:0s;transition-duration:0s}}.resizable-editor__drag-handle:after{background:#949494;border-radius:2px;bottom:24px;content:"";left:0;position:absolute;right:4px;top:24px;width:4px}.resizable-editor__drag-handle.is-left{right:-16px}.resizable-editor__drag-handle.is-right{left:-16px}.resizable-editor__drag-handle:active,.resizable-editor__drag-handle:hover{opacity:1}.resizable-editor__drag-handle:active.is-variation-default:after,.resizable-editor__drag-handle:hover.is-variation-default:after{background:#ccc}.resizable-editor__drag-handle:active.is-variation-separator:after,.resizable-editor__drag-handle:hover.is-variation-separator:after{background:var(--wp-admin-theme-color)}.resizable-editor__drag-handle:focus:after{box-shadow:0 0 0 1px #2f2f2f,0 0 0 calc(var(--wp-admin-border-width-focus) + 1px) var(--wp-admin-theme-color)}.resizable-editor__drag-handle.is-variation-separator:focus:after{border-radius:2px;box-shadow:inset 0 0 0 2px var(--wp-admin-theme-color)}.edit-site-canvas-loader{align-items:center;animation:edit-site-canvas-loader__fade-in-animation .5s ease .2s;animation-fill-mode:forwards;display:flex;height:100%;justify-content:center;opacity:0;position:absolute;right:0;top:0;width:100%}@media (prefers-reduced-motion:reduce){.edit-site-canvas-loader{animation-delay:0s;animation-duration:1ms}}.edit-site-canvas-loader>div{width:160px}@keyframes edit-site-canvas-loader__fade-in-animation{0%{opacity:0}to{opacity:1}}.edit-site-code-editor{background-color:#fff;min-height:100%;position:relative;width:100%}.edit-site-code-editor__body{margin-left:auto;margin-right:auto;max-width:1080px;padding:12px;width:100%}@media (min-width:960px){.edit-site-code-editor__body{padding:24px}}.edit-site-code-editor__toolbar{background:hsla(0,0%,100%,.8);display:flex;left:0;padding:4px 12px;position:sticky;right:0;top:0;z-index:1}@media (min-width:600px){.edit-site-code-editor__toolbar{padding:12px}}@media (min-width:960px){.edit-site-code-editor__toolbar{padding:12px 24px}}.edit-site-code-editor__toolbar h2{color:#1e1e1e;font-size:13px;line-height:36px;margin:0 0 0 auto}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{border:1px solid #949494;border-radius:0;box-shadow:none;display:block;font-family:Menlo,Consolas,monaco,monospace;font-size:16px!important;line-height:2.4;margin:0;min-height:200px;overflow:hidden;padding:16px;resize:none;transition:border .1s ease-out,box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{font-size:15px!important;padding:24px}}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);position:relative}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area::-webkit-input-placeholder{color:rgba(30,30,30,.62)}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-input-placeholder{color:rgba(30,30,30,.62)}.edit-site-global-styles-preview{align-items:center;cursor:pointer;display:flex;justify-content:center;line-height:1}.edit-site-global-styles-preview__iframe{display:block;max-width:100%}.edit-site-typography-preview{align-items:center;background:#f0f0f0;border-radius:2px;display:flex;justify-content:center;margin-bottom:16px;min-height:100px;overflow:hidden}.edit-site-typography-panel__full-width-control{grid-column:1/-1;max-width:100%}.edit-site-global-styles-screen-css,.edit-site-global-styles-screen-typography{margin:16px}.edit-site-global-styles-screen-typography__indicator{align-items:center;border-radius:2px;display:flex!important;font-size:14px;height:24px;justify-content:center;width:24px}.edit-site-global-styles-screen-typography__font-variants-count{color:#757575}.edit-site-global-styles-screen-colors{margin:16px}.edit-site-global-styles-screen-colors .color-block-support-panel{border-top:none;padding-left:0;padding-right:0}.edit-site-global-styles-header__description{padding:0 16px}.edit-site-block-types-search{margin-bottom:8px;padding:0 16px}.edit-site-global-styles-header{margin-bottom:0!important}.edit-site-global-styles-subtitle{font-size:11px!important;font-weight:500!important;margin-bottom:0!important;text-transform:uppercase}.edit-site-global-styles-section-title{color:#2f2f2f;font-weight:600;line-height:1.2;margin:0;padding:16px 16px 0}.edit-site-global-styles-variations_item{border-radius:2px;box-sizing:border-box}.edit-site-global-styles-variations_item .edit-site-global-styles-variations_item-preview{border-radius:2px;box-shadow:0 0 0 1px #e0e0e0;outline:1px solid transparent;padding:2px}.edit-site-global-styles-variations_item.is-active .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px #1e1e1e;outline-width:3px}.edit-site-global-styles-variations_item:hover .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.edit-site-global-styles-variations_item:focus .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-global-styles-variations_item:focus-visible{outline:3px solid transparent;outline-offset:0}.edit-site-global-styles-icon-with-current-color{fill:currentColor}.edit-site-global-styles__color-indicator-wrapper{flex-shrink:0;height:24px}.edit-site-global-styles__block-preview-panel{border:1px solid #e0e0e0;border-radius:2px;overflow:auto;position:relative;width:100%}.edit-site-global-styles-screen-css{display:flex;flex:1 1 auto;flex-direction:column}.edit-site-global-styles-screen-css .components-v-stack{flex:1 1 auto}.edit-site-global-styles-screen-css .components-v-stack .block-editor-global-styles-advanced-panel__custom-css-input,.edit-site-global-styles-screen-css .components-v-stack .block-editor-global-styles-advanced-panel__custom-css-input .components-base-control__field{display:flex;flex:1 1 auto;flex-direction:column}.edit-site-global-styles-screen-css .components-v-stack .block-editor-global-styles-advanced-panel__custom-css-input .components-base-control__field .components-textarea-control__input{direction:ltr;flex:1 1 auto}.edit-site-global-styles-screen-css-help-link{display:block;margin-top:8px}.edit-site-global-styles-screen-variations{border-top:1px solid #ddd;margin-top:16px}.edit-site-global-styles-screen-variations>*{margin:24px 16px}.edit-site-global-styles-sidebar__navigator-screen{display:flex;flex-direction:column}.edit-site-global-styles-screen-root.edit-site-global-styles-screen-root,.edit-site-global-styles-screen-style-variations.edit-site-global-styles-screen-style-variations{background:unset;color:inherit}.edit-site-global-styles-sidebar__panel .block-editor-block-icon svg{fill:currentColor}.edit-site-global-styles-screen-revisions__revisions-list{flex-grow:1;list-style:none;margin:0 16px 16px}.edit-site-global-styles-screen-revisions__revisions-list li{margin-bottom:0}.edit-site-global-styles-screen-revisions__revision-item{cursor:pointer;display:flex;flex-direction:column;position:relative}.edit-site-global-styles-screen-revisions__revision-item:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04)}.edit-site-global-styles-screen-revisions__revision-item:hover .edit-site-global-styles-screen-revisions__date{color:var(--wp-admin-theme-color)}.edit-site-global-styles-screen-revisions__revision-item:after,.edit-site-global-styles-screen-revisions__revision-item:before{content:"\a";display:block;position:absolute}.edit-site-global-styles-screen-revisions__revision-item:before{background:#ddd;border:4px solid transparent;border-radius:50%;height:8px;right:17px;top:18px;transform:translate(50%,-50%);width:8px;z-index:1}.edit-site-global-styles-screen-revisions__revision-item.is-selected{border-radius:2px;outline:3px solid transparent;outline-offset:-2px}.edit-site-global-styles-screen-revisions__revision-item.is-selected:before{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba))}.edit-site-global-styles-screen-revisions__revision-item:after{border:.5px solid #ddd;height:100%;right:16px;top:0;width:0}.edit-site-global-styles-screen-revisions__revision-item:first-child:after{top:18px}.edit-site-global-styles-screen-revisions__revision-item:last-child:after{height:18px}.edit-site-global-styles-screen-revisions__revision-item .edit-site-global-styles-screen-revisions__revision-button{display:block;height:auto;outline-offset:-2px;padding:12px 40px 8px 12px;position:relative;width:100%;z-index:1}.is-selected{background:rgba(var(--wp-admin-theme-color--rgb),.04);color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba))}.is-selected .edit-site-global-styles-screen-revisions__revision-button{opacity:1}.is-selected .edit-site-global-styles-screen-revisions__date{color:var(--wp-admin-theme-color)}.edit-site-global-styles-screen-revisions__applied-text,.edit-site-global-styles-screen-revisions__apply-button.is-primary{align-self:flex-start;margin:0 40px 12px 12px}.edit-site-global-styles-screen-revisions__applied-text{color:#949494;font-size:12px;font-style:italic}.edit-site-global-styles-screen-revisions__description{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.edit-site-global-styles-screen-revisions__description .edit-site-global-styles-screen-revisions__date{font-size:12px;font-weight:600;text-transform:uppercase}.edit-site-global-styles-screen-revisions__changes,.edit-site-global-styles-screen-revisions__meta{align-items:flex-start;color:#949494;display:flex;font-size:12px;justify-content:start;text-align:right;width:100%}.edit-site-global-styles-screen-revisions__changes img,.edit-site-global-styles-screen-revisions__meta img{border-radius:100%;height:16px;margin-left:8px;width:16px}.edit-site-global-styles-screen-revisions__loading{margin:24px auto!important}.edit-site-global-styles-screen-revisions__changes{color:#1e1e1e;line-height:1.4;margin-bottom:4px;text-align:right}.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination{gap:2px;justify-content:space-between}.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .edit-site-pagination__total{height:1px;margin:-1px;overflow:hidden;position:absolute;right:-1000px}.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-text{font-size:12px;will-change:opacity}.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-button.is-tertiary{color:#1e1e1e;font-size:28px;font-weight:200;line-height:1.2;margin-bottom:4px}.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-button.is-tertiary:disabled{color:#949494}.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-button.is-tertiary:hover{background:transparent}.edit-site-global-styles-screen-revisions__footer{background:#fff;border-top:1px solid #ddd;bottom:0;height:56px;min-width:100%;padding:12px;position:sticky;z-index:1}.edit-site-header-edit-mode{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;box-sizing:border-box;color:#1e1e1e;display:flex;height:60px;justify-content:space-between;padding-right:60px;width:100%}.edit-site-header-edit-mode .edit-site-header-edit-mode__start{align-items:center;border:none;display:flex;flex-shrink:2;height:100%;overflow:hidden}@media (min-width:782px){.edit-site-header-edit-mode .edit-site-header-edit-mode__start{padding-left:2px}}.edit-site-header-edit-mode .edit-site-header-edit-mode__end{display:flex;justify-content:flex-end}.edit-site-header-edit-mode .edit-site-header-edit-mode__center{align-items:center;display:flex;flex-grow:1;height:100%;justify-content:center;margin:0 16px;min-width:0}.edit-site-header-edit-mode__toolbar{align-items:center;display:flex;gap:8px;padding-right:16px}@media (min-width:782px){.edit-site-header-edit-mode__toolbar{padding-right:20px}}@media (min-width:1280px){.edit-site-header-edit-mode__toolbar{padding-left:8px}}.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle svg{transition:transform .2s cubic-bezier(.165,.84,.44,1)}@media (prefers-reduced-motion:reduce){.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle svg{transition-delay:0s;transition-duration:0s}}.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle.is-pressed svg{transform:rotate(-45deg)}.edit-site-header-edit-mode__actions{align-items:center;display:inline-flex;gap:8px;padding-left:8px}.edit-site-header-edit-mode__preview-options{opacity:1;transition:opacity .3s}.edit-site-header-edit-mode__preview-options.is-zoomed-out{opacity:0}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon{width:auto}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon svg{display:none}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon:after{content:attr(aria-label)}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon[aria-disabled=true]{background-color:transparent}.edit-site-header-edit-mode.show-icon-labels .is-tertiary:active{background-color:transparent;box-shadow:0 0 0 1.5px var(--wp-admin-theme-color)}.edit-site-header-edit-mode.show-icon-labels .edit-site-save-button__button{padding-left:6px;padding-right:6px}.edit-site-header-edit-mode.show-icon-labels .edit-site-document-actions__get-info.edit-site-document-actions__get-info.edit-site-document-actions__get-info:after{content:none}.edit-site-header-edit-mode.show-icon-labels .edit-site-document-actions__get-info.edit-site-document-actions__get-info.edit-site-document-actions__get-info,.edit-site-header-edit-mode.show-icon-labels .edit-site-header-edit-mode__inserter-toggle.edit-site-header-edit-mode__inserter-toggle{height:36px;padding:0 8px}.edit-site-header-edit-mode.show-icon-labels .block-editor-block-mover{border-right:none}.edit-site-header-edit-mode.show-icon-labels .block-editor-block-mover:before{background-color:#ddd;content:"";margin-bottom:12px;margin-right:8px;margin-top:12px;width:1px}.edit-site-header-edit-mode.show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container:before{background:#ddd;right:calc(50% + 1px);width:calc(100% - 24px)}.has-fixed-toolbar .selected-block-tools-wrapper{overflow-x:scroll}.has-fixed-toolbar .selected-block-tools-wrapper .block-editor-block-contextual-toolbar{border-bottom:0}.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar-group{border-left:none}.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar-group:after,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar:after{background-color:#ddd;content:"";margin-bottom:12px;margin-right:8px;margin-top:12px;width:1px}.has-fixed-toolbar .edit-site-header-edit-mode__center.is-collapsed,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar .components-toolbar-group.components-toolbar-group:after,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar-group .components-toolbar-group.components-toolbar-group:after,.has-fixed-toolbar .selected-block-tools-wrapper.is-collapsed{display:none}.edit-site-header-edit-mode__block-tools-toggle{margin-right:2px}.edit-site-list-header{align-items:center;box-sizing:border-box;display:flex;height:60px;justify-content:flex-end;padding-left:16px;position:relative;width:100%}body.is-fullscreen-mode .edit-site-list-header{padding-right:60px;transition:padding-right 20ms linear;transition-delay:80ms}@media (prefers-reduced-motion:reduce){body.is-fullscreen-mode .edit-site-list-header{transition-delay:0s;transition-duration:0s}}.edit-site-list-header .edit-site-list-header__title{font-size:20px;margin:0;padding:0;position:absolute;right:0;text-align:center;width:100%}.edit-site-list-header__right{position:relative}.edit-site .edit-site-list{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px rgba(0,0,0,.8),0 8px 10px -6px rgba(0,0,0,.8);flex-grow:1}.edit-site .edit-site-list .interface-interface-skeleton__editor{min-width:100%}@media (min-width:782px){.edit-site .edit-site-list .interface-interface-skeleton__editor{min-width:0}}.edit-site .edit-site-list .interface-interface-skeleton__content{align-items:center;background:#fff;padding:16px}@media (min-width:782px){.edit-site .edit-site-list .interface-interface-skeleton__content{padding:72px}}.edit-site-list-table{border:1px solid #ddd;border-radius:2px;border-spacing:0;margin:0 auto;max-width:960px;min-width:100%;overflow:hidden}.edit-site-list-table tr{align-items:center;border-top:1px solid #f0f0f0;box-sizing:border-box;display:flex;margin:0;padding:16px}.edit-site-list-table tr:first-child{border-top:0}@media (min-width:782px){.edit-site-list-table tr{padding:24px 32px}}.edit-site-list-table tr .edit-site-list-table-column:first-child{padding-left:24px;width:calc(60% - 18px)}.edit-site-list-table tr .edit-site-list-table-column:first-child a{display:inline-block;font-weight:500;margin-bottom:4px;text-decoration:none}.edit-site-list-table tr .edit-site-list-table-column:nth-child(2){width:calc(40% - 18px);word-break:break-word}.edit-site-list-table tr .edit-site-list-table-column:nth-child(3){flex-shrink:0;min-width:36px}.edit-site-list-table tr.edit-site-list-table-head{border-bottom:1px solid #ddd;border-top:none;color:#1e1e1e;font-size:16px;font-weight:600;text-align:right}.edit-site-list-table tr.edit-site-list-table-head th{font-weight:inherit}@media (min-width:782px){.edit-site-list.is-navigation-open .components-snackbar-list{margin-right:360px}}.edit-site-list__rename-modal{z-index:1000001}@media (min-width:782px){.edit-site-list__rename-modal .components-base-control{width:320px}}.edit-site-template__actions button:not(:last-child){margin-left:8px}.edit-site-list-added-by__icon{display:flex;flex-shrink:0;height:24px;width:24px}.edit-site-list-added-by__icon svg{fill:currentColor}.edit-site-list-added-by__avatar{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;overflow:hidden;width:24px}.edit-site-list-added-by__avatar img{border-radius:100%;height:20px;object-fit:cover;opacity:0;transition:opacity .1s linear;width:20px}@media (prefers-reduced-motion:reduce){.edit-site-list-added-by__avatar img{transition-delay:0s;transition-duration:0s}}.edit-site-list-added-by__avatar.is-loaded img{opacity:1}.edit-site-list-added-by__customized-info{color:#757575;display:block}.edit-site-page{background:#fff;color:#2f2f2f;height:100%}.edit-site-page-header{background:#fff;border-bottom:1px solid #f0f0f0;min-height:72px;padding:16px 32px;position:sticky;top:0;z-index:2}.edit-site-page-header .components-text{color:#2f2f2f}.edit-site-page-header .components-heading{color:#1e1e1e}.edit-site-page-header .edit-site-page-header__sub-title{color:#757575;margin-top:8px}.edit-site-page-content{display:flex;flex-flow:column;height:100%;overflow:auto;position:relative;z-index:1}.edit-site-page-pages__media-wrapper{background-color:#f0f0f0;border-radius:4px;display:block;height:40px;overflow:hidden;position:relative;width:40px}.edit-site-page-pages__media-wrapper .edit-site-page-pages__featured-image{height:100%;object-fit:cover;width:100%}.edit-site-page-pages__media-wrapper:after{border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);content:"";height:100%;position:absolute;right:0;top:0;width:100%}.page-pages-preview-field__button{background-color:unset;border:none;border-radius:3px 3px 0 0;box-shadow:none;box-sizing:border-box;cursor:pointer;height:100%;overflow:hidden;padding:0;width:100%}.page-pages-preview-field__button:focus-visible{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.edit-site-patterns{background:#1e1e1e;border-radius:0;border-right:1px solid #2f2f2f;margin:60px 0 0;min-height:100%;overflow-x:auto;padding:0}.edit-site-patterns .components-base-control{width:100%}@media (min-width:782px){.edit-site-patterns .components-base-control{width:auto}}.edit-site-patterns .components-text{color:#949494}.edit-site-patterns .components-heading{color:#e0e0e0}@media (min-width:782px){.edit-site-patterns{margin:0}}.edit-site-patterns .edit-site-patterns__search-block{flex-grow:1;min-width:-moz-fit-content;min-width:fit-content}.edit-site-patterns .edit-site-patterns__search input[type=search]{background:#2f2f2f;color:#e0e0e0;height:40px}.edit-site-patterns .edit-site-patterns__search input[type=search]:focus{background:#2f2f2f}.edit-site-patterns .edit-site-patterns__search svg{fill:#949494}.edit-site-patterns .edit-site-patterns__sync-status-filter{background:#2f2f2f;border:none;height:40px;max-width:100%;min-width:max-content;width:100%}@media (min-width:782px){.edit-site-patterns .edit-site-patterns__sync-status-filter{width:300px}}.edit-site-patterns .edit-site-patterns__sync-status-filter-option:not([aria-checked=true]){color:#949494}.edit-site-patterns .edit-site-patterns__sync-status-filter-option:active{background:#757575;color:#f0f0f0}.edit-site-patterns__header{background:#1e1e1e;padding:32px 32px 16px;position:sticky;top:0;z-index:2}.edit-site-patterns__header .edit-site-patterns__button{color:#949494}.edit-site-patterns__section{flex:1;padding:24px 32px}.edit-site-patterns__section-header .screen-reader-shortcut:focus{top:0}.edit-site-patterns__grid{display:grid;gap:32px;grid-template-columns:1fr;margin-bottom:0;margin-top:0}@media (min-width:960px){.edit-site-patterns__grid{grid-template-columns:1fr 1fr}}@media (min-width:1440px){.edit-site-patterns__grid{grid-template-columns:1fr 1fr 1fr}}@media (min-width:1920px){.edit-site-patterns__grid{grid-template-columns:1fr 1fr 1fr 1fr}}.edit-site-patterns__grid .edit-site-patterns__pattern{break-inside:avoid-column;display:flex;flex-direction:column}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview{background-color:unset;border:none;border-radius:4px;box-shadow:none;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:0}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview:focus{box-shadow:inset 0 0 0 0 #fff,0 0 0 2px var(--wp-admin-theme-color);outline:2px solid transparent}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview.is-inactive{cursor:default}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview.is-inactive:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #2f2f2f;opacity:.8}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__button,.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__footer{color:#949494}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__dropdown{flex-shrink:0}.edit-site-patterns__grid .edit-site-patterns__pattern.is-placeholder .edit-site-patterns__preview{align-items:center;border:1px dashed #2f2f2f;color:#949494;display:flex;justify-content:center;min-height:64px}.edit-site-patterns__grid .edit-site-patterns__pattern.is-placeholder .edit-site-patterns__preview:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-patterns__grid .edit-site-patterns__preview{flex:0 1 auto;margin-bottom:12px}.edit-site-patterns__load-more{align-self:center}.edit-site-patterns__pattern-title{color:#e0e0e0}.edit-site-patterns__pattern-title .is-link{color:#e0e0e0;text-decoration:none}.edit-site-patterns__pattern-title .is-link:focus,.edit-site-patterns__pattern-title .is-link:hover{color:#fff}.edit-site-patterns__pattern-title .edit-site-patterns__pattern-icon{fill:#fff;background:var(--wp-block-synced-color);border-radius:4px}.edit-site-patterns__pattern-title .edit-site-patterns__pattern-lock-icon{fill:currentcolor}.edit-site-patterns__no-results{color:#949494}.edit-site-patterns__delete-modal{width:384px}.edit-site-patterns__pagination{background:#1e1e1e;border-top:1px solid #2f2f2f;bottom:0;color:#f0f0f0;padding:24px 32px;position:sticky;z-index:2}.edit-site-patterns__pagination .components-button.is-tertiary{background-color:#2f2f2f;color:#f0f0f0}.edit-site-patterns__pagination .components-button.is-tertiary:disabled{background:none;color:#949494}.edit-site-patterns__pagination .components-button.is-tertiary:hover:not(:disabled){background-color:#757575}.edit-site-page-patterns-dataviews .page-patterns-preview-field{border-radius:3px 3px 0 0;display:flex;flex-direction:column;height:100%}.edit-site-page-patterns-dataviews .page-patterns-preview-field.is-viewtype-grid .block-editor-block-preview__container{border-radius:3px 3px 0 0;height:100%}.edit-site-page-patterns-dataviews .page-patterns-preview-field .page-patterns-preview-field__button{background-color:unset;border:none;border-radius:3px 3px 0 0;box-shadow:none;box-sizing:border-box;cursor:pointer;height:100%;overflow:hidden;padding:0}.edit-site-page-patterns-dataviews .page-patterns-preview-field .page-patterns-preview-field__button:focus-visible{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.edit-site-page-patterns-dataviews .edit-site-patterns__pattern-icon{fill:var(--wp-block-synced-color);flex-shrink:0}.edit-site-page-patterns-dataviews .edit-site-patterns__pattern-lock-icon{min-width:min-content}.edit-site-page-patterns-dataviews .edit-site-patterns__section-header{border-bottom:1px solid #f0f0f0;min-height:72px;padding:16px 32px;position:sticky;top:0;z-index:2}.edit-site-page-patterns-dataviews .edit-site-patterns__pattern-title{color:inherit;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.dataviews-action-modal__duplicate-pattern [role=dialog]>[role=document]{width:350px}.dataviews-action-modal__duplicate-pattern .patterns-menu-items__convert-modal-categories{position:relative}.dataviews-action-modal__duplicate-pattern .components-form-token-field__suggestions-list:not(:empty){background-color:#fff;border:1px solid var(--wp-admin-theme-color);border-bottom-left-radius:2px;border-bottom-right-radius:2px;box-shadow:0 0 .5px .5px var(--wp-admin-theme-color);box-sizing:border-box;max-height:96px;min-width:auto;position:absolute;right:-1px;width:calc(100% + 2px);z-index:1}@media (min-width:600px){.dataviews-action-modal__duplicate-template-part .components-modal__frame{max-width:500px}}.page-templates-preview-field{border-radius:3px 3px 0 0;display:flex;flex-direction:column;height:100%}.page-templates-preview-field .page-templates-preview-field__button{background-color:unset;border:none;border-radius:3px;box-shadow:none;box-sizing:border-box;cursor:pointer;height:100%;overflow:hidden;padding:0}.page-templates-preview-field .page-templates-preview-field__button:focus-visible{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.page-templates-preview-field.is-viewtype-list .block-editor-block-preview__container{height:120px}.page-templates-preview-field.is-viewtype-grid .block-editor-block-preview__container{height:auto}.page-templates-preview-field.is-viewtype-grid .page-templates-preview-field__button{border-radius:3px 3px 0 0}.page-templates-description{white-space:normal}.edit-site-table-wrapper{padding:32px;width:100%}.edit-site-table{border-collapse:collapse;border-color:inherit;position:relative;text-indent:0;width:100%}.edit-site-table a{text-decoration:none}.edit-site-table th{color:#757575;font-weight:400;padding:0 16px 16px;text-align:right}.edit-site-table td{padding:16px}.edit-site-table td,.edit-site-table th{vertical-align:center}.edit-site-table td:first-child,.edit-site-table th:first-child{padding-right:0}.edit-site-table td:last-child,.edit-site-table th:last-child{padding-left:0;text-align:left}.edit-site-table tr{border-bottom:1px solid #f0f0f0}.edit-site-sidebar-edit-mode{width:280px}.edit-site-sidebar-edit-mode>.components-panel{border-left:0;border-right:0;margin-bottom:-1px;margin-top:-1px}.edit-site-sidebar-edit-mode>.components-panel>.components-panel__header{background:#f0f0f0}.edit-site-sidebar-edit-mode .block-editor-block-inspector__card{margin:0}.edit-site-global-styles-sidebar{display:flex;flex-direction:column;min-height:100%}.edit-site-global-styles-sidebar__navigator-provider,.edit-site-global-styles-sidebar__panel{display:flex;flex:1;flex-direction:column}.edit-site-global-styles-sidebar__navigator-screen{flex:1}.edit-site-global-styles-sidebar .interface-complementary-area-header .components-button.has-icon{margin-right:0}.edit-site-global-styles-sidebar__reset-button.components-button{margin-right:auto}.edit-site-global-styles-sidebar .components-navigation__menu-title-heading{font-size:15.6px;font-weight:500}.edit-site-global-styles-sidebar .components-navigation__item>button span{font-weight:500}.edit-site-global-styles-sidebar .block-editor-panel-color-gradient-settings,.edit-site-typography-panel{border:0}.edit-site-global-styles-sidebar .single-column{grid-column:span 1}.edit-site-global-styles-sidebar .components-tools-panel .span-columns{grid-column:1/-1}.edit-site-global-styles-sidebar__blocks-group{border-top:1px solid #e0e0e0;padding-top:24px}.edit-site-global-styles-sidebar__blocks-group-help{padding:0 16px}.edit-site-global-styles-color-palette-panel,.edit-site-global-styles-gradient-palette-panel{padding:16px}.edit-site-global-styles-sidebar hr{margin:0}.show-icon-labels .edit-site-global-styles-sidebar__header .components-button.has-icon svg{display:none}.show-icon-labels .edit-site-global-styles-sidebar__header .components-button.has-icon:after{content:attr(aria-label);font-size:12px}.edit-site-page-panels__swap-template__confirm-modal__actions{margin-top:24px}.edit-site-change-status__content .components-popover__content{min-width:320px;padding:16px}.edit-site-change-status__content .edit-site-change-status__options .components-base-control__field>.components-v-stack{gap:8px}.edit-site-change-status__content .edit-site-change-status__options label .components-text{display:block;margin-right:26px}.edit-site-change-status__content .edit-site-change-status__password-legend{margin-bottom:8px;padding:0}.edit-site-summary-field__trigger{display:block;max-width:100%;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs{border-top:0;justify-content:flex-start;margin-top:0;padding-left:16px;padding-right:0}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs ul{display:flex}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs li{margin:0}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs .components-button.has-icon{display:none;height:24px;margin:0 auto 0 0;min-width:24px;padding:0}@media (min-width:782px){.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs .components-button.has-icon{display:flex}}.components-button.edit-site-sidebar-edit-mode__panel-tab{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-right:0;padding:3px 16px;position:relative}.components-button.edit-site-sidebar-edit-mode__panel-tab:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-button.edit-site-sidebar-edit-mode__panel-tab:after{background:var(--wp-admin-theme-color);border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-site-sidebar-edit-mode__panel-tab:after{transition-delay:0s;transition-duration:0s}}.components-button.edit-site-sidebar-edit-mode__panel-tab.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-button.edit-site-sidebar-edit-mode__panel-tab:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-site-sidebar-edit-mode__panel-tab:before{transition-delay:0s;transition-duration:0s}}.components-button.edit-site-sidebar-edit-mode__panel-tab:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.edit-site-sidebar-card{align-items:flex-start;display:flex}.edit-site-sidebar-card__content{flex-grow:1;margin-bottom:4px}.edit-site-sidebar-card__title{font-weight:500;line-height:24px}.edit-site-sidebar-card__title.edit-site-sidebar-card__title{margin:0}.edit-site-sidebar-card__description{font-size:13px}.edit-site-sidebar-card__icon{flex:0 0 24px;height:24px;margin-left:12px;width:24px}.edit-site-sidebar-card__header{display:flex;justify-content:space-between;margin:0 0 4px}.edit-site-template-card__template-areas{margin-top:16px}.edit-site-template-card__template-areas-list,.edit-site-template-card__template-areas-list>li{margin:0}.edit-site-template-card__template-areas-item{width:100%}.edit-site-template-card__template-areas-item.components-button.has-icon{padding:0}.edit-site-template-card__actions{line-height:0}.edit-site-template-card__actions>.components-button.is-small.has-icon{min-width:auto;padding:0}h3.edit-site-template-card__template-areas-title{font-weight:500;margin:0 0 8px}.edit-site-template-panel__replace-template-modal{z-index:1000001}.edit-site-template-panel__replace-template-modal__content{column-count:2;column-gap:24px}@media (min-width:782px){.edit-site-template-panel__replace-template-modal__content{column-count:3}}@media (min-width:1280px){.edit-site-template-panel__replace-template-modal__content{column-count:4}}.edit-site-editor__interface-skeleton{opacity:1;transition:opacity .1s ease-out}@media (prefers-reduced-motion:reduce){.edit-site-editor__interface-skeleton{transition-delay:0s;transition-duration:0s}}.edit-site-editor__interface-skeleton.is-loading{opacity:0}.edit-site-editor__interface-skeleton .interface-interface-skeleton__header{border:0}.edit-site-editor__toggle-save-panel{background-color:#fff;border:1px dotted #ddd;box-sizing:border-box;display:flex;justify-content:center;padding:24px;width:280px}.edit-site .components-editor-notices__snackbar{bottom:40px;left:0;padding-left:16px;padding-right:16px;position:absolute;right:0}@media (min-width:783px){.edit-site .components-editor-notices__snackbar{right:160px}}@media (min-width:783px){.auto-fold .edit-site .components-editor-notices__snackbar{right:36px}}@media (min-width:961px){.auto-fold .edit-site .components-editor-notices__snackbar{right:160px}}.folded .edit-site .components-editor-notices__snackbar{right:0}@media (min-width:783px){.folded .edit-site .components-editor-notices__snackbar{right:36px}}body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{right:0!important}.edit-site-create-template-part-modal{z-index:1000001}@media (min-width:600px){.edit-site-create-template-part-modal .components-modal__frame{max-width:500px}}.edit-site-create-template-part-modal__area-radio-group{border:1px solid #757575;border-radius:2px;width:100%}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio{display:block;height:100%;padding:12px;text-align:right;width:100%}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover{background-color:inherit;border-bottom:1px solid #757575;border-radius:0;margin:0}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover:not(:focus),.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover:not(:focus),.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:not(:focus){box-shadow:none}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover:focus,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover:focus,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:focus{border-bottom:1px solid #fff}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover:last-of-type,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover:last-of-type,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:last-of-type{border-bottom:none}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:not(:hover),.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio[aria-checked=true]{color:#1e1e1e;cursor:auto}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:not(:hover) .edit-site-create-template-part-modal__option-label div,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio[aria-checked=true] .edit-site-create-template-part-modal__option-label div{color:#949494}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio .edit-site-create-template-part-modal__option-label{padding-top:4px;white-space:normal}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio .edit-site-create-template-part-modal__option-label div{font-size:12px;padding-top:4px}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio .edit-site-create-template-part-modal__checkbox{margin-right:auto;min-width:24px}.edit-site-welcome-guide{width:312px}.edit-site-welcome-guide.guide-editor .edit-site-welcome-guide__image .edit-site-welcome-guide.guide-styles .edit-site-welcome-guide__image{background:#00a0d2}.edit-site-welcome-guide.guide-page .edit-site-welcome-guide__video{border-left:16px solid #3858e9;border-top:16px solid #3858e9}.edit-site-welcome-guide.guide-template .edit-site-welcome-guide__video{border-right:16px solid #3858e9;border-top:16px solid #3858e9}.edit-site-welcome-guide__image{margin:0 0 16px}.edit-site-welcome-guide__image>img{display:block;max-width:100%;object-fit:cover}.edit-site-welcome-guide__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:24px;line-height:1.4;margin:16px 0;padding:0 32px}.edit-site-welcome-guide__text{font-size:13px;line-height:1.4;margin:0 0 16px;padding:0 32px}.edit-site-welcome-guide__text img{vertical-align:bottom}.edit-site-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}.edit-site-start-template-options__modal .edit-site-start-template-options__modal__actions{background-color:#fff;border-top:1px solid #ddd;bottom:0;height:92px;margin-left:-32px;margin-right:-32px;padding-left:32px;padding-right:32px;position:absolute;width:100%;z-index:1}.edit-site-start-template-options__modal .block-editor-block-patterns-list{padding-bottom:92px}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:782px){.edit-site-start-template-options__modal-content .block-editor-block-patterns-list{column-count:3}}@media (min-width:1280px){.edit-site-start-template-options__modal-content .block-editor-block-patterns-list{column-count:4}}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-patterns-list__item-title{display:none}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__item:not(:focus):not(:hover) .block-editor-block-preview__container{box-shadow:0 0 0 1px #ddd}.edit-site-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-site-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-site-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.edit-site-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.edit-site-keyboard-shortcut-help-modal__shortcut:empty{display:none}.edit-site-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 1rem 0 0;text-align:left}.edit-site-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination+.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.edit-site-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.edit-site-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.edit-site-layout{background:#1e1e1e;color:#ccc;display:flex;flex-direction:column;height:100%}.edit-site-layout__hub{height:60px;position:fixed;right:0;top:0;width:calc(100vw - 32px);z-index:3}@media (min-width:782px){.edit-site-layout__hub{width:336px}}.edit-site-layout.is-full-canvas .edit-site-layout__hub{border-radius:0;box-shadow:none;padding-left:16px;width:100vw}@media (min-width:782px){.edit-site-layout.is-full-canvas .edit-site-layout__hub{padding-left:0;width:60px}}.edit-site-layout__header-container{z-index:4}.edit-site-layout__header{display:flex;height:60px;z-index:2}.edit-site-layout:not(.is-full-canvas) .edit-site-layout__header{position:fixed;width:100vw}.edit-site-layout__content{display:flex;flex-grow:1;height:100%}.edit-site-layout__sidebar-region{flex-shrink:0;width:100vw;z-index:1}@media (min-width:782px){.edit-site-layout__sidebar-region{width:360px}}.edit-site-layout.is-full-canvas .edit-site-layout__sidebar-region{height:100vh;position:fixed!important;right:0;top:0}.edit-site-layout__sidebar-region .edit-site-layout__sidebar{display:flex;flex-direction:column;height:100%}.edit-site-layout__sidebar-region .resizable-editor__drag-handle{left:0}.edit-site-layout__main{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.edit-site-layout__canvas-container{flex-grow:1;position:relative;z-index:2}.edit-site-layout__canvas-container.is-resizing:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:100}.edit-site-layout__canvas{align-items:center;bottom:0;display:flex;justify-content:center;position:absolute;right:0;top:0;width:100%}.edit-site-layout__canvas.is-right-aligned{justify-content:flex-end}.edit-site-layout__canvas>div{color:#1e1e1e}@media (min-width:782px){.edit-site-layout__canvas{bottom:16px;top:16px;width:calc(100% - 16px)}.edit-site-layout:not(.is-full-canvas) .edit-site-layout__canvas>div .edit-site-visual-editor__editor-canvas,.edit-site-layout:not(.is-full-canvas) .edit-site-layout__canvas>div .interface-interface-skeleton__content,.edit-site-layout__canvas>div{border-radius:8px}}.edit-site-layout.is-full-canvas .edit-site-layout__canvas{bottom:0;top:0;width:100%}.edit-site-layout.is-full-canvas .edit-site-layout__canvas>div{border-radius:0}.edit-site-layout__canvas .interface-interface-skeleton,.edit-site-template-pages-preview .interface-interface-skeleton{min-height:100%!important;position:relative!important}.edit-site-template-pages-preview{height:100%}.edit-site-layout__view-mode-toggle.components-button{align-items:center;border-bottom:1px solid transparent;border-radius:0;color:#fff;display:flex;height:60px;justify-content:center;overflow:hidden;padding:0;position:relative;width:60px}.edit-site-layout.is-full-canvas .edit-site-layout__view-mode-toggle.components-button{border-bottom-color:#e0e0e0;transition:border-bottom-color .15s ease-out .4s}.edit-site-layout__view-mode-toggle.components-button:active,.edit-site-layout__view-mode-toggle.components-button:hover{color:#fff}.edit-site-layout__view-mode-toggle.components-button:focus{box-shadow:none}.edit-site-layout__view-mode-toggle.components-button:before{border-radius:4px;bottom:9px;box-shadow:none;content:"";display:block;left:9px;position:absolute;right:9px;top:9px;transition:box-shadow .1s ease}@media (prefers-reduced-motion:reduce){.edit-site-layout__view-mode-toggle.components-button:before{transition-delay:0s;transition-duration:0s}}.edit-site-layout__view-mode-toggle.components-button:focus:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) hsla(0,0%,100%,.1),inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-layout__view-mode-toggle.components-button .edit-site-layout__view-mode-toggle-icon{align-items:center;border-radius:2px;display:flex;height:64px;justify-content:center;width:64px}.edit-site-layout__actions{background:#fff;bottom:auto;color:#1e1e1e;left:0;position:fixed!important;right:auto;top:-9999em;width:280px;z-index:100000}.edit-site-layout__actions:focus,.edit-site-layout__actions:focus-within{bottom:0;top:auto}.edit-site-layout__actions.is-entity-save-view-open:focus,.edit-site-layout__actions.is-entity-save-view-open:focus-within{top:0}@media (min-width:782px){.edit-site-layout__actions{border-right:1px solid #ddd}}.edit-site-layout.is-distraction-free .edit-site-layout__header-container{height:60px;left:0;position:absolute;right:0;top:0;width:100%;z-index:4}.edit-site-layout.is-distraction-free .edit-site-layout__header-container:focus-within{opacity:1!important}.edit-site-layout.is-distraction-free .edit-site-layout__header-container:focus-within div{transform:translateX(0) translateY(0) translateZ(0)!important}.edit-site-layout.is-distraction-free .edit-site-layout__header-container:focus-within .edit-site-layout__header{opacity:1!important}.edit-site-layout.is-distraction-free .edit-site-layout__header,.edit-site-layout.is-distraction-free .edit-site-site-hub{position:absolute;top:0;z-index:2}.edit-site-layout.is-distraction-free .edit-site-site-hub{z-index:3}.edit-site-layout.is-distraction-free .edit-site-layout__header{width:100%}.edit-site-layout__area{flex-grow:1;margin:0;overflow:hidden}@media (min-width:782px){.edit-site-layout__area{border-radius:8px;margin:16px 0 16px 16px}}.edit-site-save-hub{border-top:1px solid #2f2f2f;color:#949494;flex-shrink:0;margin:0;padding:20px 16px}.edit-site-save-hub__button{color:inherit;justify-content:center;width:100%}.edit-site-save-hub__button[aria-disabled=true]{opacity:1}.edit-site-save-hub__button[aria-disabled=true]:hover{color:inherit}.edit-site-save-hub__button:not(.is-primary).is-busy,.edit-site-save-hub__button:not(.is-primary).is-busy[aria-disabled=true]:hover{color:#1e1e1e}@media (min-width:600px){.edit-site-save-panel__modal{width:600px}}.edit-site-sidebar__content{flex-grow:1;overflow-y:auto}.edit-site-sidebar__screen-wrapper{display:flex;flex-direction:column;height:100%;padding:0 12px;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-gutter:stable;scrollbar-width:thin;will-change:transform}.edit-site-sidebar__screen-wrapper::-webkit-scrollbar{height:12px;width:12px}.edit-site-sidebar__screen-wrapper::-webkit-scrollbar-track{background-color:transparent}.edit-site-sidebar__screen-wrapper::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.edit-site-sidebar__screen-wrapper:focus-within::-webkit-scrollbar-thumb,.edit-site-sidebar__screen-wrapper:focus::-webkit-scrollbar-thumb,.edit-site-sidebar__screen-wrapper:hover::-webkit-scrollbar-thumb{background-color:#757575}.edit-site-sidebar__screen-wrapper:focus,.edit-site-sidebar__screen-wrapper:focus-within,.edit-site-sidebar__screen-wrapper:hover{scrollbar-color:#757575 transparent}@media (hover:none){.edit-site-sidebar__screen-wrapper{scrollbar-color:#757575 transparent}}.edit-site-sidebar__footer{border-top:1px solid #2f2f2f;flex-shrink:0;margin:0 16px;padding:16px 0}.edit-site-sidebar-button{color:#e0e0e0;flex-shrink:0}.edit-site-sidebar-button:focus:not(:disabled){box-shadow:none;outline:none}.edit-site-sidebar-button:focus-visible:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba));outline:3px solid transparent}.edit-site-sidebar-button:focus,.edit-site-sidebar-button:focus-visible,.edit-site-sidebar-button:hover,.edit-site-sidebar-button:not([aria-disabled=true]):active,.edit-site-sidebar-button[aria-expanded=true]{color:#f0f0f0}.edit-site-sidebar-navigation-item.components-item{border:none;border-radius:2px;color:#949494;min-height:40px;padding:8px 16px 8px 6px}.edit-site-sidebar-navigation-item.components-item:focus,.edit-site-sidebar-navigation-item.components-item:hover,.edit-site-sidebar-navigation-item.components-item[aria-current]{background:#2f2f2f;color:#e0e0e0}.edit-site-sidebar-navigation-item.components-item:focus .edit-site-sidebar-navigation-item__drilldown-indicator,.edit-site-sidebar-navigation-item.components-item:hover .edit-site-sidebar-navigation-item__drilldown-indicator,.edit-site-sidebar-navigation-item.components-item[aria-current] .edit-site-sidebar-navigation-item__drilldown-indicator{fill:#e0e0e0}.edit-site-sidebar-navigation-item.components-item[aria-current]{background:var(--wp-admin-theme-color);color:#fff}.edit-site-sidebar-navigation-item.components-item .edit-site-sidebar-navigation-item__drilldown-indicator{fill:#949494}.edit-site-sidebar-navigation-item.components-item.with-suffix{padding-left:16px}.edit-site-sidebar-navigation-screen__content .block-editor-list-view-block-select-button{cursor:grab;padding:8px 0 8px 8px}.edit-site-sidebar-navigation-screen{display:flex;flex-direction:column;overflow-x:unset!important;position:relative}.edit-site-sidebar-navigation-screen__main{flex-grow:1;margin-bottom:16px}.edit-site-sidebar-navigation-screen__main.has-footer{margin-bottom:0}.edit-site-sidebar-navigation-screen__content{padding:0 16px}.edit-site-sidebar-navigation-screen__content .components-item-group{margin-left:-16px;margin-right:-16px}.edit-site-sidebar-navigation-screen__content .components-text{color:#ccc}.edit-site-sidebar-navigation-screen__content .components-heading{margin-bottom:8px}.edit-site-sidebar-navigation-screen__meta{color:#ccc;margin:0 16px 16px 0}.edit-site-sidebar-navigation-screen__meta .components-text{color:#ccc}.edit-site-sidebar-navigation-screen__page-link{color:#949494;display:inline-block}.edit-site-sidebar-navigation-screen__page-link:focus,.edit-site-sidebar-navigation-screen__page-link:hover{color:#fff}.edit-site-sidebar-navigation-screen__page-link .components-external-link__icon{margin-right:4px}.edit-site-sidebar-navigation-screen__title-icon{background:#1e1e1e;margin-bottom:8px;padding-bottom:8px;padding-top:108px;position:sticky;top:0;z-index:1}.edit-site-sidebar-navigation-screen__title{flex-grow:1;overflow-wrap:break-word;padding:6px 0 0}.edit-site-sidebar-navigation-screen__actions{display:flex;flex-shrink:0}@media (min-width:782px){.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container{max-width:292px}}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px #1e1e1e}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item.is-active .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px #f0f0f0}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item:hover .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item:focus .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-sidebar-navigation-screen__footer{background-color:#1e1e1e;border-top:1px solid #2f2f2f;bottom:0;gap:0;margin:16px 0 0;padding:16px 0;position:sticky}.edit-site-sidebar__notice{background:#2f2f2f;color:#ddd;margin:24px 0}.edit-site-sidebar__notice.is-dismissible{padding-left:8px}.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]){color:#ccc}.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]):focus,.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):active,.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{color:#fff}.edit-site-sidebar-navigation-screen__input-control{width:100%}.edit-site-sidebar-navigation-screen__input-control .components-input-control__container{background:#2f2f2f}.edit-site-sidebar-navigation-screen__input-control .components-input-control__container .components-button{color:#e0e0e0!important}.edit-site-sidebar-navigation-screen__input-control .components-input-control__input{background:#2f2f2f!important;border-radius:2px;color:#e0e0e0!important}.edit-site-sidebar-navigation-screen__input-control .components-input-control__backdrop{border:4px!important}.edit-site-sidebar-navigation-screen__input-control .components-base-control__help{color:#949494}.edit-site-sidebar-navigation-screen-details-footer div.edit-site-sidebar-navigation-item.components-item:focus,.edit-site-sidebar-navigation-screen-details-footer div.edit-site-sidebar-navigation-item.components-item:hover,.edit-site-sidebar-navigation-screen-details-footer div.edit-site-sidebar-navigation-item.components-item[aria-current]{background:none}.edit-site-sidebar-navigation-screen-details-footer .edit-site-sidebar-navigation-screen-details-footer__icon{fill:#949494;margin-right:auto}.sidebar-navigation__more-menu .components-button{color:#e0e0e0}.sidebar-navigation__more-menu .components-button:focus,.sidebar-navigation__more-menu .components-button:hover,.sidebar-navigation__more-menu .components-button[aria-current]{color:#f0f0f0}.edit-site-sidebar-navigation-screen-page__featured-image-wrapper{background-color:#2f2f2f;border-radius:4px;margin-bottom:16px;min-height:128px}.edit-site-sidebar-navigation-screen-page__featured-image{align-items:center;background-position:50% 50%;background-size:cover;border-radius:2px;color:#949494;display:flex;height:128px;justify-content:center;overflow:hidden;width:100%}.edit-site-sidebar-navigation-screen-page__featured-image img{height:100%;object-fit:cover;object-position:50% 50%;width:100%}.edit-site-sidebar-navigation-screen-page__featured-image-description{font-size:12px}.edit-site-sidebar-navigation-screen-page__excerpt{font-size:12px;margin-bottom:24px}.edit-site-sidebar-navigation-screen-page__modified{color:#949494;margin:0 16px 16px 0}.edit-site-sidebar-navigation-screen-page__modified .components-text{color:#949494}.edit-site-sidebar-navigation-screen-page__status{display:inline-flex}.edit-site-sidebar-navigation-screen-page__status time{display:contents}.edit-site-sidebar-navigation-screen-page__status svg{fill:#f0b849;height:16px;margin-left:8px;width:16px}.edit-site-sidebar-navigation-screen-page__status.has-future-status svg,.edit-site-sidebar-navigation-screen-page__status.has-publish-status svg{fill:#4ab866}.edit-site-sidebar-navigation-screen-templates__templates-group-title.components-item{border-top:1px solid #2f2f2f;color:#e0e0e0;font-size:11px;font-weight:500;padding:24px 16px 16px 6px;text-transform:uppercase}.edit-site-sidebar-navigation-details-screen-panel{margin:24px 0}.edit-site-sidebar-navigation-details-screen-panel:last-of-type{margin-bottom:0}.edit-site-sidebar-navigation-details-screen-panel .edit-site-sidebar-navigation-details-screen-panel__heading{color:#ccc;font-size:11px;font-weight:500;margin-bottom:0;padding:0;text-transform:uppercase}.edit-site-sidebar-navigation-details-screen-panel__label.edit-site-sidebar-navigation-details-screen-panel__label{color:#949494;flex-shrink:0;width:100px}.edit-site-sidebar-navigation-details-screen-panel__value.edit-site-sidebar-navigation-details-screen-panel__value{color:#e0e0e0}.edit-site-sidebar-navigation-screen-pattern__added-by-description{align-items:center;display:flex;justify-content:space-between;margin-top:24px}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author{align-items:center;display:inline-flex}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author img{border-radius:12px}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author svg{fill:#949494}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author-icon{height:24px;margin-left:8px;width:24px}.edit-site-sidebar-navigation-screen-patterns__group{margin-bottom:24px}.edit-site-sidebar-navigation-screen-patterns__group:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.edit-site-sidebar-navigation-screen-patterns__group-header{margin-top:16px}.edit-site-sidebar-navigation-screen-patterns__group-header p{color:#949494}.edit-site-sidebar-navigation-screen-patterns__group-header h2{font-size:11px;font-weight:500;text-transform:uppercase}.edit-site-sidebar-navigation-screen-template__added-by-description{align-items:center;display:flex;justify-content:space-between;margin-top:24px}.edit-site-sidebar-navigation-screen-template__added-by-description-author{align-items:center;display:inline-flex}.edit-site-sidebar-navigation-screen-template__added-by-description-author img{border-radius:12px;height:20px;width:20px}.edit-site-sidebar-navigation-screen-template__added-by-description-author svg{fill:#949494}.edit-site-sidebar-navigation-screen-template__added-by-description-author-icon{align-items:center;display:inline-flex;height:24px;justify-content:center;margin-left:4px;width:24px}.edit-site-sidebar-navigation-screen-template__template-area-button{align-items:center;border-radius:4px;color:#fff;display:flex;flex-wrap:nowrap;width:100%}.edit-site-sidebar-navigation-screen-template__template-area-button:focus,.edit-site-sidebar-navigation-screen-template__template-area-button:hover{background:#2f2f2f;color:#fff}.edit-site-sidebar-navigation-screen-template__template-area-label-text{flex-grow:1;margin:0 4px 0 16px}.edit-site-sidebar-navigation-screen-template__template-icon{display:flex}.edit-site-sidebar-navigation-screen-dataviews__group-header{margin-top:32px}.edit-site-sidebar-navigation-screen-dataviews__group-header h2{font-size:11px;font-weight:500;text-transform:uppercase}.edit-site-sidebar-dataviews-dataview-item{border-radius:2px;padding-left:8px}.edit-site-sidebar-dataviews-dataview-item .edit-site-sidebar-dataviews-dataview-item__dropdown-menu{min-width:auto}.edit-site-sidebar-dataviews-dataview-item:focus,.edit-site-sidebar-dataviews-dataview-item:hover,.edit-site-sidebar-dataviews-dataview-item[aria-current]{background:#2f2f2f;color:#e0e0e0}.edit-site-sidebar-dataviews-dataview-item.is-selected{background:var(--wp-admin-theme-color);color:#fff}.edit-site-site-hub{align-items:center;display:flex;gap:8px;justify-content:space-between}.edit-site-site-hub .edit-site-site-hub__container{gap:0}.edit-site-site-hub .edit-site-site-hub__site-title,.edit-site-site-hub .edit-site-site-hub__site-view-link,.edit-site-site-hub .edit-site-site-hub_toggle-command-center{transition:opacity .1s ease}.edit-site-site-hub .edit-site-site-hub__site-title.is-transparent,.edit-site-site-hub .edit-site-site-hub__site-view-link.is-transparent,.edit-site-site-hub .edit-site-site-hub_toggle-command-center.is-transparent{opacity:0!important}.edit-site-site-hub .edit-site-site-hub__site-view-link{flex-grow:0;margin-left:var(--wp-admin-border-width-focus)}.edit-site-site-hub .edit-site-site-hub__site-view-link svg{fill:#e0e0e0}.edit-site-site-hub__post-type{opacity:.6}.edit-site-site-hub__view-mode-toggle-container{background:#1e1e1e;flex-shrink:0;height:60px;width:60px}.edit-site-site-hub__view-mode-toggle-container.has-transparent-background{background:transparent}.edit-site-site-hub__text-content{overflow:hidden}.edit-site-site-hub__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-site-site-hub__site-title{color:#e0e0e0;flex-grow:1;margin-right:4px}.edit-site-site-hub_toggle-command-center{color:#e0e0e0}.edit-site-site-hub_toggle-command-center:active svg,.edit-site-site-hub_toggle-command-center:hover svg{fill:#f0f0f0}.edit-site-sidebar-navigation-screen__description{margin:0 0 32px}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf{border-radius:2px;max-width:calc(100% - 4px)}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf:focus,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf:hover,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf[aria-current]{background:#2f2f2f}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf .block-editor-list-view-block__menu{margin-right:-8px}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected>td{background:transparent}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents{color:inherit}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:not(:hover) .block-editor-list-view-block__menu{opacity:0}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:focus,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:hover{color:#fff}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected .block-editor-list-view-block__menu,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:focus .block-editor-list-view-block__menu-cell,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:hover .block-editor-list-view-block__menu-cell{opacity:1}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected .block-editor-list-view-block__menu:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-branch-selected:not(.is-selected):not(.is-synced-branch){background:transparent}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-branch-selected:not(.is-selected):not(.is-synced-branch):hover{background:#2f2f2f}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-leaf .block-editor-list-view-block__contents-cell{width:100%}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-leaf .block-editor-list-view-block-contents{white-space:normal}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-block__title{margin-top:3px}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-block__menu-cell{padding-left:0}.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button{color:#949494}.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button:focus,.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button:hover,.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button[aria-current]{color:#fff}.edit-site-sidebar-navigation-screen-navigation-menus__loading.components-spinner{display:block;margin-left:auto;margin-right:auto}.edit-site-sidebar-navigation-screen-navigation-menus__helper-block-editor{display:none}.edit-site-site-icon__icon{fill:currentColor}.edit-site-site-icon__image{background:#333;border-radius:4px;height:auto;object-fit:cover;width:100%}.edit-site-layout.is-full-canvas .edit-site-site-icon__image{border-radius:0}.edit-site-style-book{height:100%}.edit-site-style-book.is-button,.edit-site-style-book__iframe.is-button{border-radius:8px}.edit-site-style-book__iframe.is-focused{outline:calc(var(--wp-admin-border-width-focus)*2) solid var(--wp-admin-theme-color);outline-offset:calc(var(--wp-admin-border-width-focus)*-2)}.edit-site-style-book__tabs [role=tablist]{background:#fff;color:#1e1e1e}.edit-site-style-book__tabs [role=tabpanel]{bottom:0;left:0;overflow:auto;padding:0;position:absolute;right:0;top:48px}.edit-site-editor-canvas-container{background:#fff;border-radius:2px;bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;transition:all .3s}.edit-site-editor-canvas-container__close-button{background:#fff;left:8px;position:absolute;top:6px;z-index:1}.edit-site-resizable-frame__inner{position:relative}body:has(.edit-site-resizable-frame__inner.is-resizing){cursor:col-resize;user-select:none;-webkit-user-select:none}.edit-site-resizable-frame__inner.is-resizing:before{content:"";inset:0;position:absolute;z-index:1}.edit-site-resizable-frame__inner-content{inset:0;position:absolute;z-index:0}.edit-site-resizable-frame__handle{align-items:center;background-color:hsla(0,0%,46%,.4);border:0;border-radius:4px;cursor:col-resize;display:flex;height:64px;justify-content:flex-end;padding:0;position:absolute;top:calc(50% - 32px);width:4px;z-index:100}.edit-site-resizable-frame__handle:before{content:"";height:100%;position:absolute;right:100%;width:32px}.edit-site-resizable-frame__handle:after{content:"";height:100%;left:100%;position:absolute;width:32px}.edit-site-resizable-frame__handle:focus-visible{outline:2px solid transparent}.edit-site-resizable-frame__handle.is-resizing,.edit-site-resizable-frame__handle:focus,.edit-site-resizable-frame__handle:hover{background-color:var(--wp-admin-theme-color)}.edit-site-push-changes-to-global-styles-control .components-button{justify-content:center;width:100%}@media (min-width:782px){.font-library-modal.font-library-modal{width:65vw}}.font-library-modal .components-modal__header{border-bottom:none}.font-library-modal .components-modal__content{padding-top:0}.font-library-modal .font-library-modal__subtitle{font-size:11px;font-weight:500;text-transform:uppercase}.font-library-modal__tabpanel-layout .font-library-modal__tabpanel-layout__main{padding-bottom:64px}.font-library-modal__tabpanel-layout .font-library-modal__tabpanel-layout__footer{background-color:#fff;border-top:1px solid #ddd;bottom:32px;margin:0 -32px -32px;padding:16px 32px;position:absolute;width:100%}.font-library-modal__fonts-grid .font-library-modal__fonts-grid__main{display:flex;flex-direction:column}.font-library-modal__font-card{border:1px solid #e0e0e0;height:auto;margin-top:-1px;padding:16px;width:100%}.font-library-modal__font-card .font-library-modal__font-card__name{font-weight:700}.font-library-modal__font-card .font-library-modal__font-card__count{color:#757575}.font-library-modal__library-font-variant{border:1px solid #e0e0e0;margin-top:-1px;padding:16px}.font-library-modal__font-variant{border-bottom:1px solid #e0e0e0;padding-bottom:16px}.font-library-modal__tabs [role=tablist]{background:#fff;border-bottom:1px solid #ddd;margin:0 -32px;padding:0 16px;position:sticky;top:0;z-index:1}.font-library-modal__upload-area{align-items:center;display:flex;height:256px;justify-content:center;width:100%}button.font-library-modal__upload-area{background-color:#f0f0f0}.font-library-modal__local-fonts{margin:0 auto;width:80%}.font-library-modal__local-fonts .font-library-modal__upload-area__text{color:#757575}.font-library-modal__local-fonts .font-library-modal__upload-area__notice{margin:0}.font-library-modal__font-variant_demo-wrapper{overflow:hidden;position:relative;white-space:nowrap;width:100%}.font-library-modal__font-variant_demo-wrapper:after{background:linear-gradient(270deg,hsla(0,0%,100%,0),#fff);bottom:0;content:"";height:100%;left:0;position:absolute;width:30vw}.font-library__google-fonts-confirm{align-items:center;display:flex;justify-content:center}.font-library__google-fonts-confirm h3{font-size:1.4rem}.font-library__google-fonts-confirm .components-card{max-width:350px;min-width:250px;width:50%}.edit-site-pagination .components-button.is-tertiary{height:32px;justify-content:center;width:32px}body.js #wpadminbar{display:none}body.js #wpbody{padding-top:0}body.js.appearance_page_gutenberg-template-parts,body.js.site-editor-php{background:#fff}body.js.appearance_page_gutenberg-template-parts #wpcontent,body.js.site-editor-php #wpcontent{padding-right:0}body.js.appearance_page_gutenberg-template-parts #wpbody-content,body.js.site-editor-php #wpbody-content{padding-bottom:0}body.js.appearance_page_gutenberg-template-parts #wpbody-content>div:not(.edit-site):not(#screen-meta),body.js.appearance_page_gutenberg-template-parts #wpfooter,body.js.site-editor-php #wpbody-content>div:not(.edit-site):not(#screen-meta),body.js.site-editor-php #wpfooter{display:none}body.js.appearance_page_gutenberg-template-parts .a11y-speak-region,body.js.site-editor-php .a11y-speak-region{right:-1px;top:-1px}body.js.appearance_page_gutenberg-template-parts ul#adminmenu a.wp-has-current-submenu:after,body.js.appearance_page_gutenberg-template-parts ul#adminmenu>li.current>a.current:after,body.js.site-editor-php ul#adminmenu a.wp-has-current-submenu:after,body.js.site-editor-php ul#adminmenu>li.current>a.current:after{border-left-color:#fff}body.js.appearance_page_gutenberg-template-parts .media-frame select.attachment-filters:last-of-type,body.js.site-editor-php .media-frame select.attachment-filters:last-of-type{max-width:100%;width:auto}body.js.site-editor-php{background:#1e1e1e}.components-modal__frame,.edit-site{box-sizing:border-box}.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before,.edit-site *,.edit-site :after,.edit-site :before{box-sizing:inherit}.edit-site{height:100vh}@media (min-width:600px){.edit-site{bottom:0;left:0;min-height:100vh;position:fixed;right:0;top:0}}.no-js .edit-site{min-height:0;position:static}.edit-site .interface-interface-skeleton{top:0}.edit-site .interface-complementary-area__pin-unpin-item.components-button{display:none}.edit-site .interface-interface-skeleton__content{background-color:#1e1e1e}@keyframes edit-post__fade-in-animation{0%{opacity:0}to{opacity:1}}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file diff --git a/wp-includes/css/dist/edit-site/style.css b/wp-includes/css/dist/edit-site/style.css index 0de7160036..a6e1977f20 100644 --- a/wp-includes/css/dist/edit-site/style.css +++ b/wp-includes/css/dist/edit-site/style.css @@ -359,8 +359,7 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .interface-pinned-items{ display:flex; - gap:4px; - margin-right:-4px; + gap:8px; } .interface-pinned-items .components-button{ display:none; @@ -377,92 +376,421 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .interface-pinned-items .components-button{ display:flex; } - .interface-preferences-modal{ - height:calc(100% - 120px); - width:calc(100% - 32px); - } -} -@media (min-width:782px){ - .interface-preferences-modal{ - width:750px; - } -} -@media (min-width:960px){ - .interface-preferences-modal{ - height:70%; - } -} -@media (max-width:781px){ - .interface-preferences-modal .components-modal__content{ - padding:0; - } } -.interface-preferences__tabs .components-tab-panel__tabs{ - left:16px; +.dataviews-wrapper{ + box-sizing:border-box; + height:100%; + overflow:auto; + scroll-padding-bottom:64px; + width:100%; +} +.dataviews-wrapper>div{ + min-height:100%; +} + +.dataviews-filters__view-actions{ + padding:12px 32px; +} +.dataviews-filters__view-actions .components-search-control{ + flex-grow:1; + max-width:240px; +} + +.dataviews-filters__view-actions.components-h-stack{ + align-items:center; +} + +.dataviews-filters-button{ + position:relative; +} + +.dataviews-filters-count{ + align-items:center; + background-color:var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba)); + border-radius:8px; + color:var(--wp-components-color-accent-inverted, #fff); + display:flex; + font-size:11px; + font-weight:300; + height:16px; + justify-content:center; + min-width:16px; + padding:0 4px; position:absolute; - top:84px; - width:160px; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{ - border-radius:2px; - font-weight:400; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{ - background:#f0f0f0; - box-shadow:none; - font-weight:500; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active:after{ - content:none; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled){ - box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); - outline:2px solid transparent; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus-visible:before{ - content:none; -} -.interface-preferences__tabs .components-tab-panel__tab-content{ - margin-left:160px; - padding-left:24px; + right:0; + top:0; + transform:translateX(40%) translateY(-40%); } -@media (max-width:781px){ - .interface-preferences__provider{ - height:100%; +.dataviews-pagination{ + -webkit-backdrop-filter:blur(6px); + backdrop-filter:blur(6px); + background-color:hsla(0,0%,100%,.8); + border-top:1px solid #f0f0f0; + bottom:0; + color:#757575; + margin-top:auto; + padding:12px 32px; + position:sticky; +} + +.dataviews-filters-options{ + margin:32px 0 16px; +} + +.dataviews-view-table-wrapper{ + overflow-x:auto; +} + +.dataviews-view-table{ + border-collapse:collapse; + border-color:inherit; + color:#757575; + position:relative; + text-indent:0; + width:100%; +} +.dataviews-view-table a{ + color:#1e1e1e; + font-weight:500; + text-decoration:none; +} +.dataviews-view-table th{ + color:var(--wp-components-color-foreground, #1e1e1e); + font-size:13px; + font-weight:400; + text-align:left; +} +.dataviews-view-table td,.dataviews-view-table th{ + padding:12px; + white-space:nowrap; +} +@media (min-width:1440px){ + .dataviews-view-table td,.dataviews-view-table th{ + min-width:200px; } } -.interface-preferences-modal__section{ - margin:0 0 2.5rem; +.dataviews-view-table td[data-field-id=actions],.dataviews-view-table th[data-field-id=actions]{ + text-align:right; } -.interface-preferences-modal__section:last-child{ +.dataviews-view-table td.dataviews-view-table__checkbox-column,.dataviews-view-table th.dataviews-view-table__checkbox-column{ + padding-right:0; +} +.dataviews-view-table td .components-checkbox-control__input-container,.dataviews-view-table th .components-checkbox-control__input-container{ + margin:4px; +} +.dataviews-view-table tr{ + border-bottom:1px solid #f0f0f0; +} +.dataviews-view-table tr .dataviews-view-table-header-button{ + gap:4px; +} +.dataviews-view-table tr td:first-child,.dataviews-view-table tr th:first-child{ + padding-left:32px; +} +.dataviews-view-table tr td:first-child .dataviews-view-table-header,.dataviews-view-table tr td:first-child .dataviews-view-table-header-button,.dataviews-view-table tr th:first-child .dataviews-view-table-header,.dataviews-view-table tr th:first-child .dataviews-view-table-header-button{ + margin-left:-8px; +} +.dataviews-view-table tr td:last-child,.dataviews-view-table tr th:last-child{ + padding-right:32px; +} +.dataviews-view-table tr:last-child{ + border-bottom:0; +} +.dataviews-view-table tr:hover{ + background-color:#f8f8f8; +} +.dataviews-view-table tr .components-checkbox-control__input{ + opacity:0; +} +.dataviews-view-table tr .components-checkbox-control__input:checked,.dataviews-view-table tr .components-checkbox-control__input:focus,.dataviews-view-table tr .components-checkbox-control__input:indeterminate{ + opacity:1; +} +.dataviews-view-table tr:focus-within .components-checkbox-control__input,.dataviews-view-table tr:hover .components-checkbox-control__input{ + opacity:1; +} +.dataviews-view-table tr.is-selected{ + background-color:rgba(var(--wp-admin-theme-color--rgb), .04); + color:#757575; +} +.dataviews-view-table tr.is-selected:hover{ + background-color:rgba(var(--wp-admin-theme-color--rgb), .08); +} +.dataviews-view-table thead tr{ + border:0; +} +.dataviews-view-table thead th{ + background-color:#fff; + box-shadow:inset 0 -1px 0 #f0f0f0; + font-size:11px; + font-weight:500; + padding-bottom:8px; + padding-left:4px; + padding-top:8px; + position:sticky; + text-transform:uppercase; + top:-1px; + z-index:1; +} +.dataviews-view-table tbody td{ + vertical-align:top; +} +.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper{ + align-items:center; + display:flex; + min-height:32px; +} +.dataviews-view-table .dataviews-view-table-header-button{ + font-size:11px; + font-weight:500; + padding:4px 8px; + text-transform:uppercase; +} +.dataviews-view-table .dataviews-view-table-header-button:not(:hover){ + color:#1e1e1e; +} +.dataviews-view-table .dataviews-view-table-header-button span{ + speak:none; +} +.dataviews-view-table .dataviews-view-table-header-button span:empty{ + display:none; +} +.dataviews-view-table .dataviews-view-table-header{ + padding-left:4px; +} +.dataviews-view-table .dataviews-view-table__actions-column{ + width:1%; +} + +.dataviews-view-grid__primary-field,.dataviews-view-list__primary-field,.dataviews-view-table__primary-field{ + color:#1e1e1e; + display:block; + font-size:13px; + font-weight:500; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + width:100%; +} +.dataviews-view-grid__primary-field a,.dataviews-view-list__primary-field a,.dataviews-view-table__primary-field a{ + color:inherit; + display:block; + overflow:hidden; + text-decoration:none; + text-overflow:ellipsis; + white-space:nowrap; + width:100%; +} +.dataviews-view-grid__primary-field a:hover,.dataviews-view-list__primary-field a:hover,.dataviews-view-table__primary-field a:hover{ + color:#1e1e1e; +} +.dataviews-view-grid__primary-field button.components-button.is-link,.dataviews-view-list__primary-field button.components-button.is-link,.dataviews-view-table__primary-field button.components-button.is-link{ + color:inherit; + display:block; + font-weight:inherit; + overflow:hidden; + text-decoration:none; + text-overflow:ellipsis; + white-space:nowrap; + width:100%; +} + +.dataviews-view-grid{ + grid-template-columns:repeat(2, minmax(0, 1fr)) !important; + margin-bottom:24px; + padding:0 32px; +} +@media (min-width:1080px){ + .dataviews-view-grid{ + grid-template-columns:repeat(3, minmax(0, 1fr)) !important; + } +} +@media (min-width:1440px){ + .dataviews-view-grid{ + grid-template-columns:repeat(4, minmax(0, 1fr)) !important; + } +} +.dataviews-view-grid .dataviews-view-grid__card{ + border:1px solid #e0e0e0; + border-radius:4px; + height:100%; + justify-content:flex-start; +} +.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-actions{ + padding:0 4px; +} +.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field{ + min-height:40px; +} +.dataviews-view-grid .dataviews-view-grid__media{ + aspect-ratio:1/1; + background-color:#f0f0f0; + border-bottom:1px solid #e0e0e0; + border-radius:3px 3px 0 0; + min-height:200px; + width:100%; +} +.dataviews-view-grid .dataviews-view-grid__media img{ + height:100%; + object-fit:cover; + width:100%; +} +.dataviews-view-grid .dataviews-view-grid__primary-field{ + padding:8px; +} +.dataviews-view-grid .dataviews-view-grid__fields{ + font-size:12px; + line-height:16px; + position:relative; +} +.dataviews-view-grid .dataviews-view-grid__fields:not(:empty){ + padding:0 12px 12px; +} +.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-value{ + color:#757575; +} + +.dataviews-view-list{ + margin:0; + padding:8px; +} +.dataviews-view-list li{ margin:0; } - -.interface-preferences-modal__section-legend{ - margin-bottom:8px; +.dataviews-view-list li .dataviews-view-list__item-wrapper{ + border-radius:4px; + padding-right:24px; + position:relative; } - -.interface-preferences-modal__section-title{ - font-size:.9rem; - font-weight:600; - margin-top:0; +.dataviews-view-list li .dataviews-view-list__item-wrapper:after{ + background:#f0f0f0; + content:""; + height:1px; + left:24px; + position:absolute; + right:24px; + top:100%; } - -.interface-preferences-modal__section-description{ +.dataviews-view-list li:not(.is-selected):hover,.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields,.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field{ + color:var(--wp-admin-theme-color); +} +.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper{ + background-color:var(--wp-admin-theme-color); + color:#fff; +} +.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .components-button,.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .components-button,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field{ + color:#fff; +} +.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper:after,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper:after{ + background:transparent; +} +.dataviews-view-list .dataviews-view-list__item{ + cursor:pointer; + padding:12px 0 12px 24px; + width:100%; +} +.dataviews-view-list .dataviews-view-list__item:focus:before{ + border-radius:4px; + bottom:-1px; + box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + content:""; + left:-1px; + position:absolute; + right:-1px; + top:-1px; + z-index:-1; +} +.dataviews-view-list .dataviews-view-list__item h3{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; +} +.dataviews-view-list .dataviews-view-list__media-wrapper{ + background-color:#f0f0f0; + border-radius:4px; + flex-shrink:0; + height:32px; + overflow:hidden; + position:relative; + width:32px; +} +.dataviews-view-list .dataviews-view-list__media-wrapper img{ + height:100%; + object-fit:cover; + width:100%; +} +.dataviews-view-list .dataviews-view-list__media-wrapper:after{ + border-radius:4px; + box-shadow:inset 0 0 0 1px rgba(0,0,0,.1); + content:""; + height:100%; + left:0; + position:absolute; + top:0; + width:100%; +} +.dataviews-view-list .dataviews-view-list__media-placeholder{ + background-color:#e0e0e0; + height:32px; + min-width:32px; +} +.dataviews-view-list .dataviews-view-list__fields{ color:#757575; - font-size:12px; - font-style:normal; - margin:-8px 0 8px; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; +} +.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field{ + margin-right:12px; +} +.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:last-child{ + margin-right:0; +} +.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:empty{ + display:none; +} +.dataviews-view-list+.dataviews-pagination{ + justify-content:space-between; +} +.dataviews-view-list .dataviews-view-list__details-button{ + align-self:center; + opacity:0; +} +.dataviews-view-list li.is-selected .dataviews-view-list__details-button,.dataviews-view-list li:focus-within .dataviews-view-list__details-button,.dataviews-view-list li:hover .dataviews-view-list__details-button{ + opacity:1; +} +.dataviews-view-list li.is-selected .dataviews-view-list__details-button:focus{ + box-shadow:0 0 0 var(--wp-admin-border-width-focus) currentColor; } -.interface-preferences-modal__option+.interface-preferences-modal__option{ - margin-top:16px; +.dataviews-action-modal{ + z-index:1000001; } -.interface-preferences-modal__option .components-base-control__help{ - margin-left:48px; - margin-top:0; + +.dataviews-loading,.dataviews-no-results{ + padding:0 32px; +} + +.dataviews-view-table-selection-checkbox label{ + clip:rect(0, 0, 0, 0); + border:0; + height:1px; + margin:-1px; + overflow:hidden; + padding:0; + position:absolute; + white-space:nowrap; + width:1px; +} + +.dataviews-filters__custom-menu-radio-item-prefix{ + display:block; + width:24px; +} + +.dataviews-bulk-edit-button.components-button{ + flex-shrink:0; } .edit-site-custom-template-modal__contents-wrapper{ @@ -496,7 +824,8 @@ body.is-fullscreen-mode .interface-interface-skeleton{ } @media (min-width:600px){ .edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list{ - overflow:scroll; + max-height:224px; + overflow-y:auto; } } .edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item{ @@ -645,7 +974,7 @@ body.is-fullscreen-mode .interface-interface-skeleton{ padding:6px; } -.edit-site-block-editor__block-list.is-navigation-block{ +.edit-site-editor-canvas__block-list.is-navigation-block{ padding:24px; } @@ -663,9 +992,6 @@ body.is-fullscreen-mode .interface-interface-skeleton{ height:100%; width:100%; } -.edit-site-visual-editor .edit-site-visual-editor__editor-canvas{ - height:100%; -} .edit-site-visual-editor .edit-site-visual-editor__editor-canvas.is-focused{ outline:calc(var(--wp-admin-border-width-focus)*2) solid var(--wp-admin-theme-color); outline-offset:calc(var(--wp-admin-border-width-focus)*-2); @@ -687,9 +1013,6 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .edit-site-visual-editor.is-view-mode{ box-shadow:0 20px 25px -5px rgba(0,0,0,.8),0 8px 10px -6px rgba(0,0,0,.8); } -.edit-site-visual-editor.is-view-mode .block-editor-block-contextual-toolbar.is-fixed{ - display:none; -} .edit-site-visual-editor__back-button{ color:#fff; @@ -701,6 +1024,10 @@ body.is-fullscreen-mode .interface-interface-skeleton{ color:#f0f0f0; } +.is-distraction-free .edit-site-visual-editor__back-button{ + display:none; +} + .resizable-editor__drag-handle{ -webkit-appearance:none; appearance:none; @@ -776,82 +1103,6 @@ body.is-fullscreen-mode .interface-interface-skeleton{ box-shadow:inset 0 0 0 2px var(--wp-admin-theme-color); } -.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:0; -} -@media (min-width:783px){ - .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:160px; - } -} -@media (min-width:783px){ - .auto-fold .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:36px; - } -} -@media (min-width:961px){ - .auto-fold .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:160px; - } -} -.folded .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:0; -} -@media (min-width:783px){ - .folded .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:36px; - } -} - -body.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:0 !important; -} - -.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - display:block; - position:sticky; - top:0; - width:100%; - z-index:31; -} -@media (min-width:782px){ - .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - align-items:center; - display:flex; - height:60px; - margin-left:180px; - min-height:auto; - position:fixed; - top:32px; - width:calc(100% - 180px); - } - .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{ - width:auto; - } - .is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-left:240px; - top:0; - } - .is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{ - width:auto; - } - .show-icon-labels .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-left:80px; - width:calc(100% - 140px); - } - .is-fullscreen-mode .show-icon-labels .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-left:144px; - } -} -@media (min-width:960px){ - .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed,.show-icon-labels .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - width:auto; - } - .is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{ - width:calc(100% - 536px); - } -} - .edit-site-canvas-loader{ align-items:center; animation:edit-site-canvas-loader__fade-in-animation .5s ease .2s; @@ -927,9 +1178,6 @@ body.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual- line-height:36px; margin:0 auto 0 0; } -.edit-site-code-editor__toolbar .components-button svg{ - order:1; -} textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{ border:1px solid #949494; @@ -1018,6 +1266,10 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp width:24px; } +.edit-site-global-styles-screen-typography__font-variants-count{ + color:#757575; +} + .edit-site-global-styles-screen-colors{ margin:16px; } @@ -1142,81 +1394,94 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp fill:currentColor; } -[class][class].edit-site-global-styles-sidebar__revisions-count-badge{ - align-items:center; - background:#2f2f2f; - border-radius:2px; - color:#fff; - display:inline-flex; - justify-content:center; - min-height:24px; - min-width:24px; -} - -.edit-site-global-styles-screen-revisions{ - margin:16px; -} - .edit-site-global-styles-screen-revisions__revisions-list{ + flex-grow:1; list-style:none; - margin:0; + margin:0 16px 16px; } .edit-site-global-styles-screen-revisions__revisions-list li{ - border-left:1px solid #ddd; margin-bottom:0; } .edit-site-global-styles-screen-revisions__revision-item{ - padding:8px 0 8px 12px; + cursor:pointer; + display:flex; + flex-direction:column; position:relative; } -.edit-site-global-styles-screen-revisions__revision-item:first-child{ - padding-top:0; +.edit-site-global-styles-screen-revisions__revision-item:hover{ + background:rgba(var(--wp-admin-theme-color--rgb), .04); } -.edit-site-global-styles-screen-revisions__revision-item:last-child{ - padding-bottom:0; +.edit-site-global-styles-screen-revisions__revision-item:hover .edit-site-global-styles-screen-revisions__date{ + color:var(--wp-admin-theme-color); +} +.edit-site-global-styles-screen-revisions__revision-item:after,.edit-site-global-styles-screen-revisions__revision-item:before{ + content:"\a"; + display:block; + position:absolute; } .edit-site-global-styles-screen-revisions__revision-item:before{ background:#ddd; + border:4px solid transparent; border-radius:50%; - content:"\a"; - display:inline-block; height:8px; - left:0; - position:absolute; - top:50%; + left:17px; + top:18px; transform:translate(-50%, -50%); width:8px; + z-index:1; +} +.edit-site-global-styles-screen-revisions__revision-item.is-selected{ + border-radius:2px; + outline:3px solid transparent; + outline-offset:-2px; } .edit-site-global-styles-screen-revisions__revision-item.is-selected:before{ background:var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba)); } - -.edit-site-global-styles-screen-revisions__revision-button{ +.edit-site-global-styles-screen-revisions__revision-item:after{ + border:.5px solid #ddd; + height:100%; + left:16px; + top:0; + width:0; +} +.edit-site-global-styles-screen-revisions__revision-item:first-child:after{ + top:18px; +} +.edit-site-global-styles-screen-revisions__revision-item:last-child:after{ + height:18px; +} +.edit-site-global-styles-screen-revisions__revision-item .edit-site-global-styles-screen-revisions__revision-button{ display:block; height:auto; - padding:8px 12px; + outline-offset:-2px; + padding:12px 12px 8px 40px; + position:relative; width:100%; -} -.edit-site-global-styles-screen-revisions__revision-button:hover{ - background:rgba(var(--wp-admin-theme-color--rgb), .04); -} -.edit-site-global-styles-screen-revisions__revision-button:hover .edit-site-global-styles-screen-revisions__date{ - color:var(--wp-admin-theme-color); + z-index:1; } -.is-selected .edit-site-global-styles-screen-revisions__revision-button{ +.is-selected{ background:rgba(var(--wp-admin-theme-color--rgb), .04); color:var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba)); +} +.is-selected .edit-site-global-styles-screen-revisions__revision-button{ opacity:1; } -.is-selected .edit-site-global-styles-screen-revisions__meta{ +.is-selected .edit-site-global-styles-screen-revisions__date{ color:var(--wp-admin-theme-color); } -.edit-site-global-styles-screen-revisions__button{ - justify-content:center; - width:100%; +.edit-site-global-styles-screen-revisions__applied-text,.edit-site-global-styles-screen-revisions__apply-button.is-primary{ + align-self:flex-start; + margin:0 12px 12px 40px; +} + +.edit-site-global-styles-screen-revisions__applied-text{ + color:#949494; + font-size:12px; + font-style:italic; } .edit-site-global-styles-screen-revisions__description{ @@ -1225,18 +1490,25 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp flex-direction:column; gap:8px; } +.edit-site-global-styles-screen-revisions__description .edit-site-global-styles-screen-revisions__date{ + font-size:12px; + font-weight:600; + text-transform:uppercase; +} -.edit-site-global-styles-screen-revisions__meta{ - align-items:center; - color:#757575; +.edit-site-global-styles-screen-revisions__changes,.edit-site-global-styles-screen-revisions__meta{ + align-items:flex-start; + color:#949494; display:flex; - justify-content:space-between; + font-size:12px; + justify-content:start; text-align:left; width:100%; } -.edit-site-global-styles-screen-revisions__meta img{ +.edit-site-global-styles-screen-revisions__changes img,.edit-site-global-styles-screen-revisions__meta img{ border-radius:100%; height:16px; + margin-right:8px; width:16px; } @@ -1244,6 +1516,53 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp margin:24px auto !important; } +.edit-site-global-styles-screen-revisions__changes{ + color:#1e1e1e; + line-height:1.4; + margin-bottom:4px; + text-align:left; +} + +.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination{ + gap:2px; + justify-content:space-between; +} +.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .edit-site-pagination__total{ + height:1px; + left:-1000px; + margin:-1px; + overflow:hidden; + position:absolute; +} +.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-text{ + font-size:12px; + will-change:opacity; +} +.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-button.is-tertiary{ + color:#1e1e1e; + font-size:28px; + font-weight:200; + line-height:1.2; + margin-bottom:4px; +} +.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-button.is-tertiary:disabled{ + color:#949494; +} +.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-button.is-tertiary:hover{ + background:transparent; +} + +.edit-site-global-styles-screen-revisions__footer{ + background:#fff; + border-top:1px solid #ddd; + bottom:0; + height:56px; + min-width:100%; + padding:12px; + position:sticky; + z-index:1; +} + .edit-site-header-edit-mode{ align-items:center; background-color:#fff; @@ -1257,8 +1576,17 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp width:100%; } .edit-site-header-edit-mode .edit-site-header-edit-mode__start{ + align-items:center; border:none; display:flex; + flex-shrink:2; + height:100%; + overflow:hidden; +} +@media (min-width:782px){ + .edit-site-header-edit-mode .edit-site-header-edit-mode__start{ + padding-right:2px; + } } .edit-site-header-edit-mode .edit-site-header-edit-mode__end{ display:flex; @@ -1270,18 +1598,19 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp flex-grow:1; height:100%; justify-content:center; - margin:0 8px; + margin:0 16px; min-width:0; } .edit-site-header-edit-mode__toolbar{ align-items:center; display:flex; - padding-left:8px; + gap:8px; + padding-left:16px; } -@media (min-width:600px){ +@media (min-width:782px){ .edit-site-header-edit-mode__toolbar{ - padding-left:24px; + padding-left:20px; } } @media (min-width:1280px){ @@ -1289,13 +1618,6 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp padding-right:8px; } } -.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle{ - height:32px; - margin-right:8px; - min-width:32px; - padding:0; - width:32px; -} .edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle svg{ transition:transform .2s cubic-bezier(.165, .84, .44, 1); } @@ -1311,14 +1633,8 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp .edit-site-header-edit-mode__actions{ align-items:center; display:inline-flex; - gap:4px; - padding-right:4px; -} -@media (min-width:600px){ - .edit-site-header-edit-mode__actions{ - gap:8px; - padding-right:10px; - } + gap:8px; + padding-right:8px; } .edit-site-header-edit-mode__preview-options{ @@ -1329,37 +1645,6 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp opacity:0; } -.edit-site-header-edit-mode__start{ - border:none; - display:flex; -} -.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon,.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon{ - height:36px; - min-width:36px; - padding:6px; -} -.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon.is-pressed,.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon.is-pressed{ - background:#1e1e1e; -} -.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon:focus:not(:disabled),.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon:focus:not(:disabled){ - box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 1px #fff; - outline:1px solid transparent; -} -.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon:before,.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon:before{ - display:none; -} -.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.edit-site-header-edit-mode__inserter-toggle.has-icon{ - height:32px; - margin-right:8px; - min-width:32px; - padding:0; - width:32px; -} -.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.edit-site-header-edit-mode__inserter-toggle.has-text.has-icon{ - padding:0 8px; - width:auto; -} - .edit-site-header-edit-mode.show-icon-labels .components-button.has-icon{ width:auto; } @@ -1387,145 +1672,48 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp height:36px; padding:0 8px; } -.edit-site-header-edit-mode.show-icon-labels .edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>*+*{ +.edit-site-header-edit-mode.show-icon-labels .block-editor-block-mover{ + border-left:none; +} +.edit-site-header-edit-mode.show-icon-labels .block-editor-block-mover:before{ + background-color:#ddd; + content:""; + margin-bottom:12px; margin-left:8px; + margin-top:12px; + width:1px; +} +.edit-site-header-edit-mode.show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container:before{ + background:#ddd; + left:calc(50% + 1px); + width:calc(100% - 24px); } -.edit-site-document-actions{ - align-items:center; - background:#f0f0f0; - border-radius:4px; - display:flex; - height:36px; - justify-content:space-between; - min-width:0; - width:min(100%, 450px); +.has-fixed-toolbar .selected-block-tools-wrapper{ + overflow-x:scroll; } -.has-fixed-toolbar .edit-site-document-actions{ - width:min(100%, 380px); +.has-fixed-toolbar .selected-block-tools-wrapper .block-editor-block-contextual-toolbar{ + border-bottom:0; } -.edit-site-document-actions:hover{ - background-color:#e0e0e0; +.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar-group{ + border-right:none; } -.edit-site-document-actions .components-button{ - border-radius:4px; +.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar-group:after,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar:after{ + background-color:#ddd; + content:""; + margin-bottom:12px; + margin-left:8px; + margin-top:12px; + width:1px; } -.edit-site-document-actions .components-button:hover{ - background:#e0e0e0; - color:var(--wp-block-synced-color); -} -@media (min-width:960px){ - .edit-site-document-actions{ - width:min(100%, 450px); - } -} -.edit-site-document-actions.is-synced-entity .edit-site-document-actions__title,.edit-site-document-actions.is-synced-entity .edit-site-document-actions__title h1{ - color:var(--wp-block-synced-color); -} - -.edit-site-document-actions__command{ - color:var(--wp-block-synced-color); - flex-grow:1; - overflow:hidden; -} - -.edit-site-document-actions__title{ - flex-grow:1; - overflow:hidden; -} -@media (min-width:600px){ - .edit-site-document-actions__title{ - padding-left:32px; - } -} -.edit-site-document-actions__title:hover{ - color:var(--wp-block-synced-color); -} -.edit-site-document-actions__title .block-editor-block-icon{ - flex-shrink:0; - min-width:24px; -} -.edit-site-document-actions__title h1{ - max-width:50%; - overflow:hidden; - text-overflow:ellipsis; - white-space:nowrap; -} -.edit-site-document-actions.is-page .edit-site-document-actions__title,.edit-site-document-actions.is-page .edit-site-document-actions__title h1{ - color:#2f2f2f; -} -.edit-site-document-actions.is-animated .edit-site-document-actions__title{ - animation:edit-site-document-actions__slide-in-left .3s; -} -@media (prefers-reduced-motion:reduce){ - .edit-site-document-actions.is-animated .edit-site-document-actions__title{ - animation-delay:0s; - animation-duration:1ms; - } -} -.edit-site-document-actions.is-animated.is-page .edit-site-document-actions__title{ - animation:edit-site-document-actions__slide-in-right .3s; -} -@media (prefers-reduced-motion:reduce){ - .edit-site-document-actions.is-animated.is-page .edit-site-document-actions__title{ - animation-delay:0s; - animation-duration:1ms; - } -} - -.edit-site-document-actions__shortcut{ - color:#2f2f2f; +.has-fixed-toolbar .edit-site-header-edit-mode__center.is-collapsed,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar .components-toolbar-group.components-toolbar-group:after,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar-group .components-toolbar-group.components-toolbar-group:after,.has-fixed-toolbar .selected-block-tools-wrapper.is-collapsed{ display:none; - min-width:32px; -} -@media (min-width:600px){ - .edit-site-document-actions__shortcut{ - display:initial; - } } -.edit-site-document-actions__back.components-button.has-icon.has-text{ - color:#757575; - flex-shrink:0; - gap:0; - min-width:36px; - position:absolute; - z-index:1; -} -.edit-site-document-actions__back.components-button.has-icon.has-text:hover{ - background-color:transparent; - color:currentColor; -} -.edit-site-document-actions.is-animated .edit-site-document-actions__back.components-button.has-icon.has-text{ - animation:edit-site-document-actions__slide-in-left .3s; -} -@media (prefers-reduced-motion:reduce){ - .edit-site-document-actions.is-animated .edit-site-document-actions__back.components-button.has-icon.has-text{ - animation-delay:0s; - animation-duration:1ms; - } +.edit-site-header-edit-mode__block-tools-toggle{ + margin-left:2px; } -@keyframes edit-site-document-actions__slide-in-right{ - 0%{ - opacity:0; - transform:translateX(-15%); - } - to{ - opacity:1; - transform:translateX(0); - } -} -@keyframes edit-site-document-actions__slide-in-left{ - 0%{ - opacity:0; - transform:translateX(15%); - } - to{ - opacity:1; - transform:translateX(0); - } -} .edit-site-list-header{ align-items:center; box-sizing:border-box; @@ -1661,33 +1849,31 @@ body.is-fullscreen-mode .edit-site-list-header{ } .edit-site-list-added-by__icon{ - align-items:center; - background:#2f2f2f; - border-radius:100%; display:flex; flex-shrink:0; - height:32px; - justify-content:center; - width:32px; + height:24px; + width:24px; } .edit-site-list-added-by__icon svg{ - fill:#fff; + fill:currentColor; } .edit-site-list-added-by__avatar{ - background:#2f2f2f; - border-radius:100%; + align-items:center; + display:flex; flex-shrink:0; - height:32px; + height:24px; + justify-content:center; overflow:hidden; - width:32px; + width:24px; } .edit-site-list-added-by__avatar img{ - height:32px; + border-radius:100%; + height:20px; object-fit:cover; opacity:0; transition:opacity .1s linear; - width:32px; + width:20px; } @media (prefers-reduced-motion:reduce){ .edit-site-list-added-by__avatar img{ @@ -1707,22 +1893,14 @@ body.is-fullscreen-mode .edit-site-list-header{ .edit-site-page{ background:#fff; color:#2f2f2f; - flex-grow:1; - margin:60px 0 0; - overflow:hidden; -} -@media (min-width:782px){ - .edit-site-page{ - border-radius:8px; - margin:24px 24px 24px 0; - } + height:100%; } .edit-site-page-header{ background:#fff; border-bottom:1px solid #f0f0f0; - min-height:60px; - padding:0 32px; + min-height:72px; + padding:16px 32px; position:sticky; top:0; z-index:2; @@ -1747,11 +1925,54 @@ body.is-fullscreen-mode .edit-site-list-header{ z-index:1; } +.edit-site-page-pages__media-wrapper{ + background-color:#f0f0f0; + border-radius:4px; + display:block; + height:40px; + overflow:hidden; + position:relative; + width:40px; +} +.edit-site-page-pages__media-wrapper .edit-site-page-pages__featured-image{ + height:100%; + object-fit:cover; + width:100%; +} +.edit-site-page-pages__media-wrapper:after{ + border-radius:4px; + box-shadow:inset 0 0 0 1px rgba(0,0,0,.1); + content:""; + height:100%; + left:0; + position:absolute; + top:0; + width:100%; +} + +.page-pages-preview-field__button{ + background-color:unset; + border:none; + border-radius:3px 3px 0 0; + box-shadow:none; + box-sizing:border-box; + cursor:pointer; + height:100%; + overflow:hidden; + padding:0; + width:100%; +} +.page-pages-preview-field__button:focus-visible{ + box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + outline:2px solid transparent; +} + .edit-site-patterns{ - background:none; + background:#1e1e1e; border-left:1px solid #2f2f2f; border-radius:0; margin:60px 0 0; + min-height:100%; overflow-x:auto; padding:0; } @@ -1810,28 +2031,6 @@ body.is-fullscreen-mode .edit-site-list-header{ background:#757575; color:#f0f0f0; } -.edit-site-patterns .edit-site-patterns__grid-pagination{ - background:#1e1e1e; - border-top:1px solid #2f2f2f; - bottom:0; - padding:24px 32px; - position:sticky; - z-index:2; -} -.edit-site-patterns .edit-site-patterns__grid-pagination .components-button.is-tertiary{ - background-color:#2f2f2f; - color:#f0f0f0; - height:32px; - justify-content:center; - width:32px; -} -.edit-site-patterns .edit-site-patterns__grid-pagination .components-button.is-tertiary:disabled{ - background:none; - color:#949494; -} -.edit-site-patterns .edit-site-patterns__grid-pagination .components-button.is-tertiary:hover:not(:disabled){ - background-color:#757575; -} .edit-site-patterns__header{ background:#1e1e1e; @@ -1840,6 +2039,9 @@ body.is-fullscreen-mode .edit-site-list-header{ top:0; z-index:2; } +.edit-site-patterns__header .edit-site-patterns__button{ + color:#949494; +} .edit-site-patterns__section{ flex:1; @@ -1947,6 +2149,141 @@ body.is-fullscreen-mode .edit-site-list-header{ color:#949494; } +.edit-site-patterns__delete-modal{ + width:384px; +} + +.edit-site-patterns__pagination{ + background:#1e1e1e; + border-top:1px solid #2f2f2f; + bottom:0; + color:#f0f0f0; + padding:24px 32px; + position:sticky; + z-index:2; +} +.edit-site-patterns__pagination .components-button.is-tertiary{ + background-color:#2f2f2f; + color:#f0f0f0; +} +.edit-site-patterns__pagination .components-button.is-tertiary:disabled{ + background:none; + color:#949494; +} +.edit-site-patterns__pagination .components-button.is-tertiary:hover:not(:disabled){ + background-color:#757575; +} +.edit-site-page-patterns-dataviews .page-patterns-preview-field{ + border-radius:3px 3px 0 0; + display:flex; + flex-direction:column; + height:100%; +} +.edit-site-page-patterns-dataviews .page-patterns-preview-field.is-viewtype-grid .block-editor-block-preview__container{ + border-radius:3px 3px 0 0; + height:100%; +} +.edit-site-page-patterns-dataviews .page-patterns-preview-field .page-patterns-preview-field__button{ + background-color:unset; + border:none; + border-radius:3px 3px 0 0; + box-shadow:none; + box-sizing:border-box; + cursor:pointer; + height:100%; + overflow:hidden; + padding:0; +} +.edit-site-page-patterns-dataviews .page-patterns-preview-field .page-patterns-preview-field__button:focus-visible{ + box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + outline:2px solid transparent; +} +.edit-site-page-patterns-dataviews .edit-site-patterns__pattern-icon{ + fill:var(--wp-block-synced-color); + flex-shrink:0; +} +.edit-site-page-patterns-dataviews .edit-site-patterns__pattern-lock-icon{ + min-width:min-content; +} +.edit-site-page-patterns-dataviews .edit-site-patterns__section-header{ + border-bottom:1px solid #f0f0f0; + min-height:72px; + padding:16px 32px; + position:sticky; + top:0; + z-index:2; +} +.edit-site-page-patterns-dataviews .edit-site-patterns__pattern-title{ + color:inherit; + display:block; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + width:100%; +} + +.dataviews-action-modal__duplicate-pattern [role=dialog]>[role=document]{ + width:350px; +} +.dataviews-action-modal__duplicate-pattern .patterns-menu-items__convert-modal-categories{ + position:relative; +} +.dataviews-action-modal__duplicate-pattern .components-form-token-field__suggestions-list:not(:empty){ + background-color:#fff; + border:1px solid var(--wp-admin-theme-color); + border-bottom-left-radius:2px; + border-bottom-right-radius:2px; + box-shadow:0 0 .5px .5px var(--wp-admin-theme-color); + box-sizing:border-box; + left:-1px; + max-height:96px; + min-width:auto; + position:absolute; + width:calc(100% + 2px); + z-index:1; +} + +@media (min-width:600px){ + .dataviews-action-modal__duplicate-template-part .components-modal__frame{ + max-width:500px; + } +} + +.page-templates-preview-field{ + border-radius:3px 3px 0 0; + display:flex; + flex-direction:column; + height:100%; +} +.page-templates-preview-field .page-templates-preview-field__button{ + background-color:unset; + border:none; + border-radius:3px; + box-shadow:none; + box-sizing:border-box; + cursor:pointer; + height:100%; + overflow:hidden; + padding:0; +} +.page-templates-preview-field .page-templates-preview-field__button:focus-visible{ + box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + outline:2px solid transparent; +} +.page-templates-preview-field.is-viewtype-list .block-editor-block-preview__container{ + height:120px; +} +.page-templates-preview-field.is-viewtype-grid .block-editor-block-preview__container{ + height:auto; +} +.page-templates-preview-field.is-viewtype-grid .page-templates-preview-field__button{ + border-radius:3px 3px 0 0; +} + +.page-templates-description{ + white-space:normal; +} + .edit-site-table-wrapper{ padding:32px; width:100%; @@ -2069,46 +2406,10 @@ body.is-fullscreen-mode .edit-site-list-header{ font-size:12px; } -.edit-site-sidebar-fixed-bottom-slot{ - background:#fff; - border-top:1px solid #ddd; - bottom:0; - box-sizing:content-box; - display:flex; - padding:16px; - position:sticky; -} - -.edit-site-swap-template-modal{ - z-index:1000001; -} - .edit-site-page-panels__swap-template__confirm-modal__actions{ margin-top:24px; } -.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list{ - column-count:2; - column-gap:24px; - padding-top:2px; -} -@media (min-width:782px){ - .edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list{ - column-count:3; - } -} -@media (min-width:1280px){ - .edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list{ - column-count:4; - } -} -.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{ - break-inside:avoid-column; -} -.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__item:not(:focus):not(:hover) .block-editor-block-preview__container{ - box-shadow:0 0 0 1px #ddd; -} - .edit-site-change-status__content .components-popover__content{ min-width:320px; padding:16px; @@ -2125,10 +2426,7 @@ body.is-fullscreen-mode .edit-site-list-header{ padding:0; } -.edit-site-summary-field .components-dropdown{ - width:70%; -} -.edit-site-summary-field .edit-site-summary-field__trigger{ +.edit-site-summary-field__trigger{ display:block; max-width:100%; overflow:hidden; @@ -2136,13 +2434,6 @@ body.is-fullscreen-mode .edit-site-list-header{ text-overflow:ellipsis; white-space:nowrap; } -.edit-site-summary-field .edit-site-summary-field__label{ - width:30%; -} - -.edit-site-page-panels-edit-template__dropdown .components-popover__content{ - min-width:240px; -} .components-panel__header.edit-site-sidebar-edit-mode__panel-tabs{ border-top:0; @@ -2283,10 +2574,6 @@ body.is-fullscreen-mode .edit-site-list-header{ padding:0; } -.edit-site-template-revisions{ - margin-left:-4px; -} - h3.edit-site-template-card__template-areas-title{ font-weight:500; margin:0 0 8px; @@ -2429,79 +2716,6 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ margin-left:auto; min-width:24px; } -.edit-site-editor__inserter-panel,.edit-site-editor__list-view-panel{ - display:flex; - flex-direction:column; - height:100%; -} - -@media (min-width:782px){ - .edit-site-editor__list-view-panel{ - width:350px; - } -} - -.edit-site-editor__inserter-panel-header{ - display:flex; - justify-content:flex-end; - padding-right:8px; - padding-top:8px; -} - -.edit-site-editor__inserter-panel-content,.edit-site-editor__list-view-panel-content{ - height:calc(100% - 44px); -} - -@media (min-width:782px){ - .edit-site-editor__inserter-panel-content{ - height:100%; - } -} - -.edit-site-editor__list-view-panel-header{ - align-items:center; - border-bottom:1px solid #ddd; - display:flex; - height:48px; - justify-content:space-between; - padding-left:16px; - padding-right:4px; -} - -.edit-site-editor__list-view-panel-content{ - height:100%; - overflow:auto; - padding:8px 6px; - scrollbar-color:transparent transparent; - scrollbar-gutter:stable both-edges; - scrollbar-gutter:auto; - scrollbar-width:thin; - will-change:transform; -} -.edit-site-editor__list-view-panel-content::-webkit-scrollbar{ - height:12px; - width:12px; -} -.edit-site-editor__list-view-panel-content::-webkit-scrollbar-track{ - background-color:transparent; -} -.edit-site-editor__list-view-panel-content::-webkit-scrollbar-thumb{ - background-clip:padding-box; - background-color:transparent; - border:3px solid transparent; - border-radius:8px; -} -.edit-site-editor__list-view-panel-content:focus-within::-webkit-scrollbar-thumb,.edit-site-editor__list-view-panel-content:focus::-webkit-scrollbar-thumb,.edit-site-editor__list-view-panel-content:hover::-webkit-scrollbar-thumb{ - background-color:#949494; -} -.edit-site-editor__list-view-panel-content:focus,.edit-site-editor__list-view-panel-content:focus-within,.edit-site-editor__list-view-panel-content:hover{ - scrollbar-color:#949494 transparent; -} -@media (hover:none){ - .edit-site-editor__list-view-panel-content{ - scrollbar-color:#949494 transparent; - } -} .edit-site-welcome-guide{ width:312px; @@ -2648,13 +2862,9 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ left:0; position:fixed; top:0; - width:calc(100vw - 48px); + width:calc(100vw - 32px); z-index:3; } -.edit-site-layout.is-full-canvas.is-edit-mode .edit-site-layout__hub{ - padding-right:0; - width:60px; -} @media (min-width:782px){ .edit-site-layout__hub{ width:336px; @@ -2669,7 +2879,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ @media (min-width:782px){ .edit-site-layout.is-full-canvas .edit-site-layout__hub{ padding-right:0; - width:auto; + width:60px; } } @@ -2758,9 +2968,9 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ } @media (min-width:782px){ .edit-site-layout__canvas{ - bottom:24px; - top:24px; - width:calc(100% - 24px); + bottom:16px; + top:16px; + width:calc(100% - 16px); } .edit-site-layout:not(.is-full-canvas) .edit-site-layout__canvas>div .edit-site-visual-editor__editor-canvas,.edit-site-layout:not(.is-full-canvas) .edit-site-layout__canvas>div .interface-interface-skeleton__content,.edit-site-layout__canvas>div{ border-radius:8px; @@ -2775,11 +2985,15 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ border-radius:0; } -.edit-site-layout__canvas .interface-interface-skeleton{ +.edit-site-layout__canvas .interface-interface-skeleton,.edit-site-template-pages-preview .interface-interface-skeleton{ min-height:100% !important; position:relative !important; } +.edit-site-template-pages-preview{ + height:100%; +} + .edit-site-layout__view-mode-toggle.components-button{ align-items:center; border-bottom:1px solid transparent; @@ -2793,7 +3007,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ position:relative; width:60px; } -.edit-site-layout.is-full-canvas.is-edit-mode .edit-site-layout__view-mode-toggle.components-button{ +.edit-site-layout.is-full-canvas .edit-site-layout__view-mode-toggle.components-button{ border-bottom-color:#e0e0e0; transition:border-bottom-color .15s ease-out .4s; } @@ -2855,21 +3069,9 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ .edit-site-layout__actions{ border-left:1px solid #ddd; } - .edit-site-layout.has-fixed-toolbar .edit-site-layout__canvas-container{ - z-index:5; - } - .edit-site-layout.has-fixed-toolbar .edit-site-site-hub{ - z-index:4; - } } -@media (min-width:782px){ - .edit-site-layout.has-fixed-toolbar .edit-site-layout__header:focus-within{ - z-index:3; - } -} - -.is-edit-mode.is-distraction-free .edit-site-layout__header-container{ +.edit-site-layout.is-distraction-free .edit-site-layout__header-container{ height:60px; left:0; position:absolute; @@ -2878,33 +3080,45 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ width:100%; z-index:4; } -.is-edit-mode.is-distraction-free .edit-site-layout__header-container:focus-within{ +.edit-site-layout.is-distraction-free .edit-site-layout__header-container:focus-within{ opacity:1 !important; } -.is-edit-mode.is-distraction-free .edit-site-layout__header-container:focus-within div{ +.edit-site-layout.is-distraction-free .edit-site-layout__header-container:focus-within div{ transform:translateX(0) translateY(0) translateZ(0) !important; } -.is-edit-mode.is-distraction-free .edit-site-layout__header-container:focus-within .edit-site-layout__header{ +.edit-site-layout.is-distraction-free .edit-site-layout__header-container:focus-within .edit-site-layout__header{ opacity:1 !important; } -.is-edit-mode.is-distraction-free .edit-site-layout__header,.is-edit-mode.is-distraction-free .edit-site-site-hub{ +.edit-site-layout.is-distraction-free .edit-site-layout__header,.edit-site-layout.is-distraction-free .edit-site-site-hub{ position:absolute; top:0; z-index:2; } -.is-edit-mode.is-distraction-free .edit-site-site-hub{ +.edit-site-layout.is-distraction-free .edit-site-site-hub{ z-index:3; } -.is-edit-mode.is-distraction-free .edit-site-layout__header{ +.edit-site-layout.is-distraction-free .edit-site-layout__header{ width:100%; } +.edit-site-layout__area{ + flex-grow:1; + margin:0; + overflow:hidden; +} +@media (min-width:782px){ + .edit-site-layout__area{ + border-radius:8px; + margin:16px 16px 16px 0; + } +} + .edit-site-save-hub{ border-top:1px solid #2f2f2f; color:#949494; flex-shrink:0; margin:0; - padding:20px 24px; + padding:20px 16px; } .edit-site-save-hub__button{ @@ -2918,6 +3132,9 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ .edit-site-save-hub__button[aria-disabled=true]:hover{ color:inherit; } +.edit-site-save-hub__button:not(.is-primary).is-busy,.edit-site-save-hub__button:not(.is-primary).is-busy[aria-disabled=true]:hover{ + color:#1e1e1e; +} @media (min-width:600px){ .edit-site-save-panel__modal{ @@ -2929,37 +3146,39 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ flex-grow:1; overflow-y:auto; } -.edit-site-sidebar__content .components-navigator-screen{ + +.edit-site-sidebar__screen-wrapper{ display:flex; flex-direction:column; height:100%; + padding:0 12px; scrollbar-color:transparent transparent; scrollbar-gutter:stable both-edges; scrollbar-gutter:stable; scrollbar-width:thin; will-change:transform; } -.edit-site-sidebar__content .components-navigator-screen::-webkit-scrollbar{ +.edit-site-sidebar__screen-wrapper::-webkit-scrollbar{ height:12px; width:12px; } -.edit-site-sidebar__content .components-navigator-screen::-webkit-scrollbar-track{ +.edit-site-sidebar__screen-wrapper::-webkit-scrollbar-track{ background-color:transparent; } -.edit-site-sidebar__content .components-navigator-screen::-webkit-scrollbar-thumb{ +.edit-site-sidebar__screen-wrapper::-webkit-scrollbar-thumb{ background-clip:padding-box; background-color:transparent; border:3px solid transparent; border-radius:8px; } -.edit-site-sidebar__content .components-navigator-screen:focus-within::-webkit-scrollbar-thumb,.edit-site-sidebar__content .components-navigator-screen:focus::-webkit-scrollbar-thumb,.edit-site-sidebar__content .components-navigator-screen:hover::-webkit-scrollbar-thumb{ +.edit-site-sidebar__screen-wrapper:focus-within::-webkit-scrollbar-thumb,.edit-site-sidebar__screen-wrapper:focus::-webkit-scrollbar-thumb,.edit-site-sidebar__screen-wrapper:hover::-webkit-scrollbar-thumb{ background-color:#757575; } -.edit-site-sidebar__content .components-navigator-screen:focus,.edit-site-sidebar__content .components-navigator-screen:focus-within,.edit-site-sidebar__content .components-navigator-screen:hover{ +.edit-site-sidebar__screen-wrapper:focus,.edit-site-sidebar__screen-wrapper:focus-within,.edit-site-sidebar__screen-wrapper:hover{ scrollbar-color:#757575 transparent; } @media (hover:none){ - .edit-site-sidebar__content .components-navigator-screen{ + .edit-site-sidebar__screen-wrapper{ scrollbar-color:#757575 transparent; } } @@ -2967,12 +3186,8 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ .edit-site-sidebar__footer{ border-top:1px solid #2f2f2f; flex-shrink:0; - margin:0 24px; - padding:24px 0; -} - -.edit-site-sidebar__content>div{ - padding:0 12px; + margin:0 16px; + padding:16px 0; } .edit-site-sidebar-button{ @@ -3018,7 +3233,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ .edit-site-sidebar-navigation-screen__content .block-editor-list-view-block-select-button{ cursor:grab; - padding:8px; + padding:8px 8px 8px 0; } .edit-site-sidebar-navigation-screen{ @@ -3086,6 +3301,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ } .edit-site-sidebar-navigation-screen__actions{ + display:flex; flex-shrink:0; } @@ -3226,6 +3442,15 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ fill:#4ab866; } +.edit-site-sidebar-navigation-screen-templates__templates-group-title.components-item{ + border-top:1px solid #2f2f2f; + color:#e0e0e0; + font-size:11px; + font-weight:500; + padding:24px 6px 16px 16px; + text-transform:uppercase; +} + .edit-site-sidebar-navigation-details-screen-panel{ margin:24px 0; } @@ -3309,14 +3534,19 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ } .edit-site-sidebar-navigation-screen-template__added-by-description-author img{ border-radius:12px; + height:20px; + width:20px; } .edit-site-sidebar-navigation-screen-template__added-by-description-author svg{ fill:#949494; } .edit-site-sidebar-navigation-screen-template__added-by-description-author-icon{ + align-items:center; + display:inline-flex; height:24px; - margin-right:8px; + justify-content:center; + margin-right:4px; width:24px; } @@ -3342,6 +3572,31 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ display:flex; } +.edit-site-sidebar-navigation-screen-dataviews__group-header{ + margin-top:32px; +} +.edit-site-sidebar-navigation-screen-dataviews__group-header h2{ + font-size:11px; + font-weight:500; + text-transform:uppercase; +} + +.edit-site-sidebar-dataviews-dataview-item{ + border-radius:2px; + padding-right:8px; +} +.edit-site-sidebar-dataviews-dataview-item .edit-site-sidebar-dataviews-dataview-item__dropdown-menu{ + min-width:auto; +} +.edit-site-sidebar-dataviews-dataview-item:focus,.edit-site-sidebar-dataviews-dataview-item:hover,.edit-site-sidebar-dataviews-dataview-item[aria-current]{ + background:#2f2f2f; + color:#e0e0e0; +} +.edit-site-sidebar-dataviews-dataview-item.is-selected{ + background:var(--wp-admin-theme-color); + color:#fff; +} + .edit-site-site-hub{ align-items:center; display:flex; @@ -3351,31 +3606,19 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ .edit-site-site-hub .edit-site-site-hub__container{ gap:0; } -.edit-site-site-hub .edit-site-site-hub__site-title,.edit-site-site-hub .edit-site-site-hub_toggle-command-center{ +.edit-site-site-hub .edit-site-site-hub__site-title,.edit-site-site-hub .edit-site-site-hub__site-view-link,.edit-site-site-hub .edit-site-site-hub_toggle-command-center{ transition:opacity .1s ease; } -.edit-site-site-hub .edit-site-site-hub__site-title.is-transparent,.edit-site-site-hub .edit-site-site-hub_toggle-command-center.is-transparent{ +.edit-site-site-hub .edit-site-site-hub__site-title.is-transparent,.edit-site-site-hub .edit-site-site-hub__site-view-link.is-transparent,.edit-site-site-hub .edit-site-site-hub_toggle-command-center.is-transparent{ opacity:0 !important; } .edit-site-site-hub .edit-site-site-hub__site-view-link{ flex-grow:0; margin-right:var(--wp-admin-border-width-focus); } -@media (min-width:480px){ - .edit-site-site-hub .edit-site-site-hub__site-view-link{ - opacity:0; - transition:opacity .2s ease-in-out; - } -} -.edit-site-site-hub .edit-site-site-hub__site-view-link:focus{ - opacity:1; -} .edit-site-site-hub .edit-site-site-hub__site-view-link svg{ fill:#e0e0e0; } -.edit-site-site-hub:hover .edit-site-site-hub__site-view-link{ - opacity:1; -} .edit-site-site-hub__post-type{ opacity:.6; @@ -3410,8 +3653,8 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ .edit-site-site-hub_toggle-command-center{ color:#e0e0e0; } -.edit-site-site-hub_toggle-command-center:hover{ - color:#f0f0f0; +.edit-site-site-hub_toggle-command-center:active svg,.edit-site-site-hub_toggle-command-center:hover svg{ + fill:#f0f0f0; } .edit-site-sidebar-navigation-screen__description{ @@ -3492,7 +3735,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ object-fit:cover; width:100%; } -.edit-site-layout.is-full-canvas.is-edit-mode .edit-site-site-icon__image{ +.edit-site-layout.is-full-canvas .edit-site-site-icon__image{ border-radius:0; } @@ -3508,11 +3751,11 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{ outline-offset:calc(var(--wp-admin-border-width-focus)*-2); } -.edit-site-style-book__tab-panel .components-tab-panel__tabs{ +.edit-site-style-book__tabs [role=tablist]{ background:#fff; color:#1e1e1e; } -.edit-site-style-book__tab-panel .components-tab-panel__tab-content{ +.edit-site-style-book__tabs [role=tabpanel]{ bottom:0; left:0; overflow:auto; @@ -3622,12 +3865,12 @@ body:has(.edit-site-resizable-frame__inner.is-resizing){ text-transform:uppercase; } -.font-library-modal__tab-layout main{ - padding-bottom:4rem; +.font-library-modal__tabpanel-layout .font-library-modal__tabpanel-layout__main{ + padding-bottom:64px; } -.font-library-modal__tab-layout footer{ +.font-library-modal__tabpanel-layout .font-library-modal__tabpanel-layout__footer{ background-color:#fff; - border-top:1px solid #e5e5e5; + border-top:1px solid #ddd; bottom:32px; margin:0 -32px -32px; padding:16px 32px; @@ -3641,68 +3884,63 @@ body:has(.edit-site-resizable-frame__inner.is-resizing){ } .font-library-modal__font-card{ - border:1px solid #e5e5e5; + border:1px solid #e0e0e0; height:auto; margin-top:-1px; - padding:1rem; + padding:16px; + width:100%; } .font-library-modal__font-card .font-library-modal__font-card__name{ font-weight:700; } .font-library-modal__font-card .font-library-modal__font-card__count{ - color:#6e6e6e; + color:#757575; } .font-library-modal__library-font-variant{ - border:1px solid #e5e5e5; + border:1px solid #e0e0e0; margin-top:-1px; - padding:1rem; + padding:16px; } .font-library-modal__font-variant{ - border-bottom:1px solid #e5e5e5; - padding-bottom:1rem; + border-bottom:1px solid #e0e0e0; + padding-bottom:16px; } -.font-library-modal__tab-panel [role=tablist]{ +.font-library-modal__tabs [role=tablist]{ background:#fff; - border-bottom:1px solid #e6e6e6; + border-bottom:1px solid #ddd; margin:0 -32px; padding:0 16px; position:sticky; top:0; - width:calc(100% + 64px); z-index:1; } .font-library-modal__upload-area{ align-items:center; - background-color:#f0f0f0; display:flex; - height:250px; + height:256px; justify-content:center; width:100%; } +button.font-library-modal__upload-area{ + background-color:#f0f0f0; +} + .font-library-modal__local-fonts{ margin:0 auto; width:80%; } .font-library-modal__local-fonts .font-library-modal__upload-area__text{ - color:#6e6e6e; + color:#757575; } .font-library-modal__local-fonts .font-library-modal__upload-area__notice{ margin:0; } -.font-library-modal__font-name{ - font-weight:700; -} - -.font-library-modal__font-filename{ - color:#6e6e6e; -} - .font-library-modal__font-variant_demo-wrapper{ overflow:hidden; position:relative; @@ -3733,8 +3971,10 @@ body:has(.edit-site-resizable-frame__inner.is-resizing){ width:50%; } -.font-library-modal__font-collection__notice{ - margin:0; +.edit-site-pagination .components-button.is-tertiary{ + height:32px; + justify-content:center; + width:32px; } body.js #wpadminbar{ diff --git a/wp-includes/css/dist/edit-site/style.min.css b/wp-includes/css/dist/edit-site/style.min.css index be817cf514..80a01661ee 100644 --- a/wp-includes/css/dist/edit-site/style.min.css +++ b/wp-includes/css/dist/edit-site/style.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-panel__header.interface-complementary-area-header__small{background:#fff;padding-right:4px}.components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:782px){.components-panel__header.interface-complementary-area-header__small{display:none}}.interface-complementary-area-header{background:#fff;padding-right:4px}.interface-complementary-area-header .components-button.has-icon{display:none;margin-left:auto}.interface-complementary-area-header .components-button.has-icon~.components-button{margin-left:0}@media (min-width:782px){.interface-complementary-area-header .components-button.has-icon{display:flex}.components-panel__header+.interface-complementary-area-header{margin-top:0}}.interface-complementary-area{background:#fff;color:#1e1e1e}@media (min-width:600px){.interface-complementary-area{-webkit-overflow-scrolling:touch}}@media (min-width:782px){.interface-complementary-area{width:280px}}.interface-complementary-area .components-panel{border:none;position:relative;z-index:0}.interface-complementary-area .components-panel__header{position:sticky;top:0;z-index:1}.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:48px}@media (min-width:782px){.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:0}}.interface-complementary-area p:not(.components-base-control__help){margin-top:0}.interface-complementary-area h2{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.interface-complementary-area h3{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.interface-complementary-area hr{border-bottom:1px solid #f0f0f0;border-top:none;margin:1.5em 0}.interface-complementary-area div.components-toolbar,.interface-complementary-area div.components-toolbar-group{box-shadow:none;margin-bottom:1.5em}.interface-complementary-area div.components-toolbar-group:last-child,.interface-complementary-area div.components-toolbar:last-child{margin-bottom:0}.interface-complementary-area .block-editor-skip-to-selected-block:focus{bottom:10px;left:auto;right:10px;top:auto}@media (min-width:782px){body.js.is-fullscreen-mode{height:calc(100% + 32px);margin-top:-32px}body.js.is-fullscreen-mode #adminmenumain,body.js.is-fullscreen-mode #wpadminbar{display:none}body.js.is-fullscreen-mode #wpcontent,body.js.is-fullscreen-mode #wpfooter{margin-left:0}}html.interface-interface-skeleton__html-container{position:fixed;width:100%}@media (min-width:782px){html.interface-interface-skeleton__html-container{position:static;width:auto}}.interface-interface-skeleton{bottom:0;display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;right:0;top:46px}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden}.interface-interface-skeleton{left:0}@media (min-width:783px){.interface-interface-skeleton{left:160px}}@media (min-width:783px){.auto-fold .interface-interface-skeleton{left:36px}}@media (min-width:961px){.auto-fold .interface-interface-skeleton{left:160px}}.folded .interface-interface-skeleton{left:0}@media (min-width:783px){.folded .interface-interface-skeleton{left:36px}}body.is-fullscreen-mode .interface-interface-skeleton{left:0!important}.interface-interface-skeleton__body{display:flex;flex-grow:1;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;z-index:20}@media (min-width:782px){.interface-interface-skeleton__content{z-index:auto}}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{background:#fff;bottom:0;color:#1e1e1e;flex-shrink:0;left:0;position:absolute;right:0;top:0;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;width:auto}.is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,.is-sidebar-opened .interface-interface-skeleton__sidebar{z-index:90}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-left:1px solid #e0e0e0}.interface-interface-skeleton__secondary-sidebar{border-right:1px solid #e0e0e0}}.interface-interface-skeleton__header{border-bottom:1px solid #e0e0e0;color:#1e1e1e;flex-shrink:0;height:auto;z-index:30}.interface-interface-skeleton__footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;color:#1e1e1e;display:none;flex-shrink:0;height:auto;left:0;position:absolute;width:100%;z-index:90}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{align-items:center;background:#fff;display:flex;font-size:13px;height:24px;padding:0 18px;z-index:30}.interface-interface-skeleton__actions{background:#fff;bottom:auto;color:#1e1e1e;left:auto;position:fixed!important;right:0;top:-9999em;width:100vw;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__actions{width:280px}}.interface-interface-skeleton__actions:focus,.interface-interface-skeleton__actions:focus-within{bottom:0;top:auto}.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:46px}@media (min-width:782px){.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{border-left:1px solid #ddd;top:32px}.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:0}}.interface-more-menu-dropdown{margin-left:-4px}.interface-more-menu-dropdown .components-button{padding:0 2px;width:auto}@media (min-width:600px){.interface-more-menu-dropdown{margin-left:0}.interface-more-menu-dropdown .components-button{padding:0 4px}}.interface-more-menu-dropdown__content .components-popover__content{min-width:280px}@media (min-width:480px){.interface-more-menu-dropdown__content .components-popover__content{max-width:480px}}.interface-more-menu-dropdown__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.interface-more-menu-dropdown__content{z-index:99998}.interface-pinned-items{display:flex;gap:4px;margin-right:-4px}.interface-pinned-items .components-button{display:none;margin:0}.interface-pinned-items .components-button[aria-controls="edit-post:block"],.interface-pinned-items .components-button[aria-controls="edit-post:document"],.interface-pinned-items .components-button[aria-controls="edit-site:block-inspector"],.interface-pinned-items .components-button[aria-controls="edit-site:global-styles"],.interface-pinned-items .components-button[aria-controls="edit-site:template"]{display:flex}.interface-pinned-items .components-button svg{max-height:24px;max-width:24px}@media (min-width:600px){.interface-pinned-items .components-button{display:flex}.interface-preferences-modal{height:calc(100% - 120px);width:calc(100% - 32px)}}@media (min-width:782px){.interface-preferences-modal{width:750px}}@media (min-width:960px){.interface-preferences-modal{height:70%}}@media (max-width:781px){.interface-preferences-modal .components-modal__content{padding:0}}.interface-preferences__tabs .components-tab-panel__tabs{left:16px;position:absolute;top:84px;width:160px}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{border-radius:2px;font-weight:400}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{background:#f0f0f0;box-shadow:none;font-weight:500}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active:after{content:none}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus-visible:before{content:none}.interface-preferences__tabs .components-tab-panel__tab-content{margin-left:160px;padding-left:24px}@media (max-width:781px){.interface-preferences__provider{height:100%}}.interface-preferences-modal__section{margin:0 0 2.5rem}.interface-preferences-modal__section:last-child{margin:0}.interface-preferences-modal__section-legend{margin-bottom:8px}.interface-preferences-modal__section-title{font-size:.9rem;font-weight:600;margin-top:0}.interface-preferences-modal__section-description{color:#757575;font-size:12px;font-style:normal;margin:-8px 0 8px}.interface-preferences-modal__option+.interface-preferences-modal__option{margin-top:16px}.interface-preferences-modal__option .components-base-control__help{margin-left:48px;margin-top:0}.edit-site-custom-template-modal__contents-wrapper{height:100%;justify-content:flex-start!important}.edit-site-custom-template-modal__contents-wrapper>*{width:100%}.edit-site-custom-template-modal__contents-wrapper__suggestions_list{margin-left:-12px;margin-right:-12px;width:calc(100% + 24px)}.edit-site-custom-template-modal__contents>.components-button{height:auto;justify-content:center}.edit-site-custom-template-modal .components-search-control input[type=search].components-search-control__input{background:#fff;border:1px solid #ddd}.edit-site-custom-template-modal .components-search-control input[type=search].components-search-control__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color)}@media (min-width:782px){.edit-site-custom-template-modal{width:456px}}@media (min-width:600px){.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list{overflow:scroll}}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item{display:block;height:auto;overflow-wrap:break-word;padding:8px 12px;text-align:left;white-space:pre-wrap;width:100%}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item mark{background:none;font-weight:700}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04)}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:hover *,.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:hover mark{color:var(--wp-admin-theme-color)}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:focus{background-color:#f0f0f0}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color) inset}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item__info,.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item__title{display:block;overflow:hidden;text-overflow:ellipsis}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item__info{color:#757575;word-break:break-all}.edit-site-custom-template-modal__no-results{border:1px solid #ccc;border-radius:2px;padding:16px}.edit-site-custom-generic-template__modal .components-modal__header{border-bottom:none}.edit-site-custom-generic-template__modal .components-modal__content:before{margin-bottom:4px}.edit-site-template-actions-loading-screen-modal{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:transparent}.edit-site-template-actions-loading-screen-modal.is-full-screen{background-color:#fff;box-shadow:0 0 0 transparent;min-height:100%;min-width:100%}.edit-site-template-actions-loading-screen-modal__content{align-items:center;display:flex;height:100%;justify-content:center;left:50%;position:absolute;transform:translateX(-50%)}.edit-site-add-new-template__modal{margin-top:64px;max-height:calc(100% - 128px);max-width:832px;width:calc(100% - 64px)}@media (min-width:960px){.edit-site-add-new-template__modal{width:calc(100% - 128px)}}.edit-site-add-new-template__modal .edit-site-add-new-template__custom-template-button svg,.edit-site-add-new-template__modal .edit-site-add-new-template__template-button svg{fill:var(--wp-admin-theme-color)}.edit-site-add-new-template__modal .edit-site-add-new-template__custom-template-button .edit-site-add-new-template__template-name{align-items:flex-start;flex-grow:1}.edit-site-add-new-template__modal .edit-site-add-new-template__template-icon{background:rgba(var(--wp-admin-theme-color--rgb),.04);border-radius:100%;max-height:40px;max-width:40px;padding:8px}.edit-site-add-new-template__template-list__contents>.components-button,.edit-site-custom-template-modal__contents>.components-button{border:1px solid #ddd;border-radius:2px;display:flex;flex-direction:column;justify-content:center;outline:1px solid transparent;padding:32px}.edit-site-add-new-template__template-list__contents>.components-button span:first-child,.edit-site-custom-template-modal__contents>.components-button span:first-child{color:#1e1e1e}.edit-site-add-new-template__template-list__contents>.components-button span,.edit-site-custom-template-modal__contents>.components-button span{color:#757575}.edit-site-add-new-template__template-list__contents>.components-button:hover,.edit-site-custom-template-modal__contents>.components-button:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04);border-color:transparent;color:var(--wp-admin-theme-color-darker-10)}.edit-site-add-new-template__template-list__contents>.components-button:hover span,.edit-site-custom-template-modal__contents>.components-button:hover span{color:var(--wp-admin-theme-color)}.edit-site-add-new-template__template-list__contents>.components-button:focus,.edit-site-custom-template-modal__contents>.components-button:focus{border-color:transparent;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid transparent}.edit-site-add-new-template__template-list__contents>.components-button:focus span:first-child,.edit-site-custom-template-modal__contents>.components-button:focus span:first-child{color:var(--wp-admin-theme-color)}.edit-site-add-new-template__template-list__contents .edit-site-add-new-template__custom-template-button,.edit-site-add-new-template__template-list__contents .edit-site-add-new-template__template-list__prompt,.edit-site-custom-template-modal__contents .edit-site-add-new-template__custom-template-button,.edit-site-custom-template-modal__contents .edit-site-add-new-template__template-list__prompt{grid-column-end:4;grid-column-start:1}.edit-site-add-new-template__template-list__contents>.components-button{align-items:flex-start;height:100%;text-align:start}.edit-site-block-editor__editor-styles-wrapper .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;padding:6px 12px}.edit-site-block-editor__editor-styles-wrapper .components-button.has-icon,.edit-site-block-editor__editor-styles-wrapper .components-button.is-tertiary{padding:6px}.edit-site-block-editor__block-list.is-navigation-block{padding:24px}.edit-site-visual-editor{align-items:center;background-color:#1e1e1e;display:block;height:100%;overflow:hidden;position:relative}.edit-site-visual-editor iframe{background:#fff;display:block;height:100%;width:100%}.edit-site-visual-editor .edit-site-visual-editor__editor-canvas{height:100%}.edit-site-visual-editor .edit-site-visual-editor__editor-canvas.is-focused{outline:calc(var(--wp-admin-border-width-focus)*2) solid var(--wp-admin-theme-color);outline-offset:calc(var(--wp-admin-border-width-focus)*-2)}.edit-site-layout.is-full-canvas .edit-site-visual-editor.is-focus-mode{padding:48px}.edit-site-visual-editor.is-focus-mode .edit-site-visual-editor__editor-canvas{border-radius:2px;max-height:100%}.edit-site-visual-editor.is-focus-mode .components-resizable-box__container{overflow:visible}.edit-site-visual-editor .components-resizable-box__container{margin:0 auto;overflow:auto}.edit-site-visual-editor.is-view-mode{box-shadow:0 20px 25px -5px rgba(0,0,0,.8),0 8px 10px -6px rgba(0,0,0,.8)}.edit-site-visual-editor.is-view-mode .block-editor-block-contextual-toolbar.is-fixed{display:none}.edit-site-visual-editor__back-button{color:#fff;left:8px;position:absolute;top:8px}.edit-site-visual-editor__back-button:active:not([aria-disabled=true]),.edit-site-visual-editor__back-button:focus:not([aria-disabled=true]),.edit-site-visual-editor__back-button:hover{color:#f0f0f0}.resizable-editor__drag-handle{-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:2px;bottom:0;cursor:ew-resize;margin:auto 0;outline:none;padding:0;position:absolute;top:0;width:12px}.resizable-editor__drag-handle.is-variation-default{height:100px}.resizable-editor__drag-handle.is-variation-separator{height:100%;right:0;width:24px}.resizable-editor__drag-handle.is-variation-separator:after{background:transparent;border-radius:0;left:50%;right:0;transform:translateX(-1px);transition:all .2s ease;transition-delay:.1s;width:2px}@media (prefers-reduced-motion:reduce){.resizable-editor__drag-handle.is-variation-separator:after{animation-delay:0s;animation-duration:1ms;transition-delay:0s;transition-duration:0s}}.resizable-editor__drag-handle:after{background:#949494;border-radius:2px;bottom:24px;content:"";left:4px;position:absolute;right:0;top:24px;width:4px}.resizable-editor__drag-handle.is-left{left:-16px}.resizable-editor__drag-handle.is-right{right:-16px}.resizable-editor__drag-handle:active,.resizable-editor__drag-handle:hover{opacity:1}.resizable-editor__drag-handle:active.is-variation-default:after,.resizable-editor__drag-handle:hover.is-variation-default:after{background:#ccc}.resizable-editor__drag-handle:active.is-variation-separator:after,.resizable-editor__drag-handle:hover.is-variation-separator:after{background:var(--wp-admin-theme-color)}.resizable-editor__drag-handle:focus:after{box-shadow:0 0 0 1px #2f2f2f,0 0 0 calc(var(--wp-admin-border-width-focus) + 1px) var(--wp-admin-theme-color)}.resizable-editor__drag-handle.is-variation-separator:focus:after{border-radius:2px;box-shadow:inset 0 0 0 2px var(--wp-admin-theme-color)}.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:0}@media (min-width:783px){.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:160px}}@media (min-width:783px){.auto-fold .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:36px}}@media (min-width:961px){.auto-fold .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:160px}}.folded .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:0}@media (min-width:783px){.folded .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:36px}}body.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{left:0!important}.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{display:block;position:sticky;top:0;width:100%;z-index:31}@media (min-width:782px){.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{align-items:center;display:flex;height:60px;margin-left:180px;min-height:auto;position:fixed;top:32px;width:calc(100% - 180px)}.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{width:auto}.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{margin-left:240px;top:0}.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed:empty{width:auto}.show-icon-labels .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{margin-left:80px;width:calc(100% - 140px)}.is-fullscreen-mode .show-icon-labels .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{margin-left:144px}}@media (min-width:960px){.edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed,.show-icon-labels .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{width:auto}.is-fullscreen-mode .edit-site-visual-editor .block-editor-block-contextual-toolbar.is-fixed{width:calc(100% - 536px)}}.edit-site-canvas-loader{align-items:center;animation:edit-site-canvas-loader__fade-in-animation .5s ease .2s;animation-fill-mode:forwards;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;width:100%}@media (prefers-reduced-motion:reduce){.edit-site-canvas-loader{animation-delay:0s;animation-duration:1ms}}.edit-site-canvas-loader>div{width:160px}@keyframes edit-site-canvas-loader__fade-in-animation{0%{opacity:0}to{opacity:1}}.edit-site-code-editor{background-color:#fff;min-height:100%;position:relative;width:100%}.edit-site-code-editor__body{margin-left:auto;margin-right:auto;max-width:1080px;padding:12px;width:100%}@media (min-width:960px){.edit-site-code-editor__body{padding:24px}}.edit-site-code-editor__toolbar{background:hsla(0,0%,100%,.8);display:flex;left:0;padding:4px 12px;position:sticky;right:0;top:0;z-index:1}@media (min-width:600px){.edit-site-code-editor__toolbar{padding:12px}}@media (min-width:960px){.edit-site-code-editor__toolbar{padding:12px 24px}}.edit-site-code-editor__toolbar h2{color:#1e1e1e;font-size:13px;line-height:36px;margin:0 auto 0 0}.edit-site-code-editor__toolbar .components-button svg{order:1}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{border:1px solid #949494;border-radius:0;box-shadow:none;display:block;font-family:Menlo,Consolas,monaco,monospace;font-size:16px!important;line-height:2.4;margin:0;min-height:200px;overflow:hidden;padding:16px;resize:none;transition:border .1s ease-out,box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{font-size:15px!important;padding:24px}}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);position:relative}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area::-webkit-input-placeholder{color:rgba(30,30,30,.62)}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-input-placeholder{color:rgba(30,30,30,.62)}.edit-site-global-styles-preview{align-items:center;cursor:pointer;display:flex;justify-content:center;line-height:1}.edit-site-global-styles-preview__iframe{display:block;max-width:100%}.edit-site-typography-preview{align-items:center;background:#f0f0f0;border-radius:2px;display:flex;justify-content:center;margin-bottom:16px;min-height:100px;overflow:hidden}.edit-site-typography-panel__full-width-control{grid-column:1/-1;max-width:100%}.edit-site-global-styles-screen-css,.edit-site-global-styles-screen-typography{margin:16px}.edit-site-global-styles-screen-typography__indicator{align-items:center;border-radius:2px;display:flex!important;font-size:14px;height:24px;justify-content:center;width:24px}.edit-site-global-styles-screen-colors{margin:16px}.edit-site-global-styles-screen-colors .color-block-support-panel{border-top:none;padding-left:0;padding-right:0}.edit-site-global-styles-header__description{padding:0 16px}.edit-site-block-types-search{margin-bottom:8px;padding:0 16px}.edit-site-global-styles-header{margin-bottom:0!important}.edit-site-global-styles-subtitle{font-size:11px!important;font-weight:500!important;margin-bottom:0!important;text-transform:uppercase}.edit-site-global-styles-section-title{color:#2f2f2f;font-weight:600;line-height:1.2;margin:0;padding:16px 16px 0}.edit-site-global-styles-variations_item{border-radius:2px;box-sizing:border-box}.edit-site-global-styles-variations_item .edit-site-global-styles-variations_item-preview{border-radius:2px;box-shadow:0 0 0 1px #e0e0e0;outline:1px solid transparent;padding:2px}.edit-site-global-styles-variations_item.is-active .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px #1e1e1e;outline-width:3px}.edit-site-global-styles-variations_item:hover .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.edit-site-global-styles-variations_item:focus .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-global-styles-variations_item:focus-visible{outline:3px solid transparent;outline-offset:0}.edit-site-global-styles-icon-with-current-color{fill:currentColor}.edit-site-global-styles__color-indicator-wrapper{flex-shrink:0;height:24px}.edit-site-global-styles__block-preview-panel{border:1px solid #e0e0e0;border-radius:2px;overflow:auto;position:relative;width:100%}.edit-site-global-styles-screen-css{display:flex;flex:1 1 auto;flex-direction:column}.edit-site-global-styles-screen-css .components-v-stack{flex:1 1 auto}.edit-site-global-styles-screen-css .components-v-stack .block-editor-global-styles-advanced-panel__custom-css-input,.edit-site-global-styles-screen-css .components-v-stack .block-editor-global-styles-advanced-panel__custom-css-input .components-base-control__field{display:flex;flex:1 1 auto;flex-direction:column}.edit-site-global-styles-screen-css .components-v-stack .block-editor-global-styles-advanced-panel__custom-css-input .components-base-control__field .components-textarea-control__input{direction:ltr;flex:1 1 auto}.edit-site-global-styles-screen-css-help-link{display:block;margin-top:8px}.edit-site-global-styles-screen-variations{border-top:1px solid #ddd;margin-top:16px}.edit-site-global-styles-screen-variations>*{margin:24px 16px}.edit-site-global-styles-sidebar__navigator-screen{display:flex;flex-direction:column}.edit-site-global-styles-screen-root.edit-site-global-styles-screen-root,.edit-site-global-styles-screen-style-variations.edit-site-global-styles-screen-style-variations{background:unset;color:inherit}.edit-site-global-styles-sidebar__panel .block-editor-block-icon svg{fill:currentColor}[class][class].edit-site-global-styles-sidebar__revisions-count-badge{align-items:center;background:#2f2f2f;border-radius:2px;color:#fff;display:inline-flex;justify-content:center;min-height:24px;min-width:24px}.edit-site-global-styles-screen-revisions{margin:16px}.edit-site-global-styles-screen-revisions__revisions-list{list-style:none;margin:0}.edit-site-global-styles-screen-revisions__revisions-list li{border-left:1px solid #ddd;margin-bottom:0}.edit-site-global-styles-screen-revisions__revision-item{padding:8px 0 8px 12px;position:relative}.edit-site-global-styles-screen-revisions__revision-item:first-child{padding-top:0}.edit-site-global-styles-screen-revisions__revision-item:last-child{padding-bottom:0}.edit-site-global-styles-screen-revisions__revision-item:before{background:#ddd;border-radius:50%;content:"\a";display:inline-block;height:8px;left:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.edit-site-global-styles-screen-revisions__revision-item.is-selected:before{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba))}.edit-site-global-styles-screen-revisions__revision-button{display:block;height:auto;padding:8px 12px;width:100%}.edit-site-global-styles-screen-revisions__revision-button:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04)}.edit-site-global-styles-screen-revisions__revision-button:hover .edit-site-global-styles-screen-revisions__date{color:var(--wp-admin-theme-color)}.is-selected .edit-site-global-styles-screen-revisions__revision-button{background:rgba(var(--wp-admin-theme-color--rgb),.04);color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba));opacity:1}.is-selected .edit-site-global-styles-screen-revisions__meta{color:var(--wp-admin-theme-color)}.edit-site-global-styles-screen-revisions__button{justify-content:center;width:100%}.edit-site-global-styles-screen-revisions__description{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.edit-site-global-styles-screen-revisions__meta{align-items:center;color:#757575;display:flex;justify-content:space-between;text-align:left;width:100%}.edit-site-global-styles-screen-revisions__meta img{border-radius:100%;height:16px;width:16px}.edit-site-global-styles-screen-revisions__loading{margin:24px auto!important}.edit-site-header-edit-mode{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;box-sizing:border-box;color:#1e1e1e;display:flex;height:60px;justify-content:space-between;padding-left:60px;width:100%}.edit-site-header-edit-mode .edit-site-header-edit-mode__start{border:none;display:flex}.edit-site-header-edit-mode .edit-site-header-edit-mode__end{display:flex;justify-content:flex-end}.edit-site-header-edit-mode .edit-site-header-edit-mode__center{align-items:center;display:flex;flex-grow:1;height:100%;justify-content:center;margin:0 8px;min-width:0}.edit-site-header-edit-mode__toolbar{align-items:center;display:flex;padding-left:8px}@media (min-width:600px){.edit-site-header-edit-mode__toolbar{padding-left:24px}}@media (min-width:1280px){.edit-site-header-edit-mode__toolbar{padding-right:8px}}.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle{height:32px;margin-right:8px;min-width:32px;padding:0;width:32px}.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle svg{transition:transform .2s cubic-bezier(.165,.84,.44,1)}@media (prefers-reduced-motion:reduce){.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle svg{transition-delay:0s;transition-duration:0s}}.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle.is-pressed svg{transform:rotate(45deg)}.edit-site-header-edit-mode__actions{align-items:center;display:inline-flex;gap:4px;padding-right:4px}@media (min-width:600px){.edit-site-header-edit-mode__actions{gap:8px;padding-right:10px}}.edit-site-header-edit-mode__preview-options{opacity:1;transition:opacity .3s}.edit-site-header-edit-mode__preview-options.is-zoomed-out{opacity:0}.edit-site-header-edit-mode__start{border:none;display:flex}.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon,.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon{height:36px;min-width:36px;padding:6px}.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon.is-pressed,.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon.is-pressed{background:#1e1e1e}.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon:focus:not(:disabled),.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 1px #fff;outline:1px solid transparent}.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-button.has-icon:before,.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.components-dropdown>.components-button.has-icon:before{display:none}.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.edit-site-header-edit-mode__inserter-toggle.has-icon{height:32px;margin-right:8px;min-width:32px;padding:0;width:32px}.edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>.edit-site-header-edit-mode__inserter-toggle.has-text.has-icon{padding:0 8px;width:auto}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon{width:auto}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon svg{display:none}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon:after{content:attr(aria-label)}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon[aria-disabled=true]{background-color:transparent}.edit-site-header-edit-mode.show-icon-labels .is-tertiary:active{background-color:transparent;box-shadow:0 0 0 1.5px var(--wp-admin-theme-color)}.edit-site-header-edit-mode.show-icon-labels .edit-site-save-button__button{padding-left:6px;padding-right:6px}.edit-site-header-edit-mode.show-icon-labels .edit-site-document-actions__get-info.edit-site-document-actions__get-info.edit-site-document-actions__get-info:after{content:none}.edit-site-header-edit-mode.show-icon-labels .edit-site-document-actions__get-info.edit-site-document-actions__get-info.edit-site-document-actions__get-info,.edit-site-header-edit-mode.show-icon-labels .edit-site-header-edit-mode__inserter-toggle.edit-site-header-edit-mode__inserter-toggle{height:36px;padding:0 8px}.edit-site-header-edit-mode.show-icon-labels .edit-site-header-edit-mode__start .edit-site-header-edit-mode__toolbar>*+*{margin-left:8px}.edit-site-document-actions{align-items:center;background:#f0f0f0;border-radius:4px;display:flex;height:36px;justify-content:space-between;min-width:0;width:min(100%,450px)}.has-fixed-toolbar .edit-site-document-actions{width:min(100%,380px)}.edit-site-document-actions:hover{background-color:#e0e0e0}.edit-site-document-actions .components-button{border-radius:4px}.edit-site-document-actions .components-button:hover{background:#e0e0e0;color:var(--wp-block-synced-color)}@media (min-width:960px){.edit-site-document-actions{width:min(100%,450px)}}.edit-site-document-actions.is-synced-entity .edit-site-document-actions__title,.edit-site-document-actions.is-synced-entity .edit-site-document-actions__title h1{color:var(--wp-block-synced-color)}.edit-site-document-actions__command{color:var(--wp-block-synced-color);flex-grow:1;overflow:hidden}.edit-site-document-actions__title{flex-grow:1;overflow:hidden}@media (min-width:600px){.edit-site-document-actions__title{padding-left:32px}}.edit-site-document-actions__title:hover{color:var(--wp-block-synced-color)}.edit-site-document-actions__title .block-editor-block-icon{flex-shrink:0;min-width:24px}.edit-site-document-actions__title h1{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-site-document-actions.is-page .edit-site-document-actions__title,.edit-site-document-actions.is-page .edit-site-document-actions__title h1{color:#2f2f2f}.edit-site-document-actions.is-animated .edit-site-document-actions__title{animation:edit-site-document-actions__slide-in-left .3s}@media (prefers-reduced-motion:reduce){.edit-site-document-actions.is-animated .edit-site-document-actions__title{animation-delay:0s;animation-duration:1ms}}.edit-site-document-actions.is-animated.is-page .edit-site-document-actions__title{animation:edit-site-document-actions__slide-in-right .3s}@media (prefers-reduced-motion:reduce){.edit-site-document-actions.is-animated.is-page .edit-site-document-actions__title{animation-delay:0s;animation-duration:1ms}}.edit-site-document-actions__shortcut{color:#2f2f2f;display:none;min-width:32px}@media (min-width:600px){.edit-site-document-actions__shortcut{display:initial}}.edit-site-document-actions__back.components-button.has-icon.has-text{color:#757575;flex-shrink:0;gap:0;min-width:36px;position:absolute;z-index:1}.edit-site-document-actions__back.components-button.has-icon.has-text:hover{background-color:transparent;color:currentColor}.edit-site-document-actions.is-animated .edit-site-document-actions__back.components-button.has-icon.has-text{animation:edit-site-document-actions__slide-in-left .3s}@media (prefers-reduced-motion:reduce){.edit-site-document-actions.is-animated .edit-site-document-actions__back.components-button.has-icon.has-text{animation-delay:0s;animation-duration:1ms}}@keyframes edit-site-document-actions__slide-in-right{0%{opacity:0;transform:translateX(-15%)}to{opacity:1;transform:translateX(0)}}@keyframes edit-site-document-actions__slide-in-left{0%{opacity:0;transform:translateX(15%)}to{opacity:1;transform:translateX(0)}}.edit-site-list-header{align-items:center;box-sizing:border-box;display:flex;height:60px;justify-content:flex-end;padding-right:16px;position:relative;width:100%}body.is-fullscreen-mode .edit-site-list-header{padding-left:60px;transition:padding-left 20ms linear;transition-delay:80ms}@media (prefers-reduced-motion:reduce){body.is-fullscreen-mode .edit-site-list-header{transition-delay:0s;transition-duration:0s}}.edit-site-list-header .edit-site-list-header__title{font-size:20px;left:0;margin:0;padding:0;position:absolute;text-align:center;width:100%}.edit-site-list-header__right{position:relative}.edit-site .edit-site-list{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px rgba(0,0,0,.8),0 8px 10px -6px rgba(0,0,0,.8);flex-grow:1}.edit-site .edit-site-list .interface-interface-skeleton__editor{min-width:100%}@media (min-width:782px){.edit-site .edit-site-list .interface-interface-skeleton__editor{min-width:0}}.edit-site .edit-site-list .interface-interface-skeleton__content{align-items:center;background:#fff;padding:16px}@media (min-width:782px){.edit-site .edit-site-list .interface-interface-skeleton__content{padding:72px}}.edit-site-list-table{border:1px solid #ddd;border-radius:2px;border-spacing:0;margin:0 auto;max-width:960px;min-width:100%;overflow:hidden}.edit-site-list-table tr{align-items:center;border-top:1px solid #f0f0f0;box-sizing:border-box;display:flex;margin:0;padding:16px}.edit-site-list-table tr:first-child{border-top:0}@media (min-width:782px){.edit-site-list-table tr{padding:24px 32px}}.edit-site-list-table tr .edit-site-list-table-column:first-child{padding-right:24px;width:calc(60% - 18px)}.edit-site-list-table tr .edit-site-list-table-column:first-child a{display:inline-block;font-weight:500;margin-bottom:4px;text-decoration:none}.edit-site-list-table tr .edit-site-list-table-column:nth-child(2){width:calc(40% - 18px);word-break:break-word}.edit-site-list-table tr .edit-site-list-table-column:nth-child(3){flex-shrink:0;min-width:36px}.edit-site-list-table tr.edit-site-list-table-head{border-bottom:1px solid #ddd;border-top:none;color:#1e1e1e;font-size:16px;font-weight:600;text-align:left}.edit-site-list-table tr.edit-site-list-table-head th{font-weight:inherit}@media (min-width:782px){.edit-site-list.is-navigation-open .components-snackbar-list{margin-left:360px}}.edit-site-list__rename-modal{z-index:1000001}@media (min-width:782px){.edit-site-list__rename-modal .components-base-control{width:320px}}.edit-site-template__actions button:not(:last-child){margin-right:8px}.edit-site-list-added-by__icon{align-items:center;background:#2f2f2f;border-radius:100%;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.edit-site-list-added-by__icon svg{fill:#fff}.edit-site-list-added-by__avatar{background:#2f2f2f;border-radius:100%;flex-shrink:0;height:32px;overflow:hidden;width:32px}.edit-site-list-added-by__avatar img{height:32px;object-fit:cover;opacity:0;transition:opacity .1s linear;width:32px}@media (prefers-reduced-motion:reduce){.edit-site-list-added-by__avatar img{transition-delay:0s;transition-duration:0s}}.edit-site-list-added-by__avatar.is-loaded img{opacity:1}.edit-site-list-added-by__customized-info{color:#757575;display:block}.edit-site-page{background:#fff;color:#2f2f2f;flex-grow:1;margin:60px 0 0;overflow:hidden}@media (min-width:782px){.edit-site-page{border-radius:8px;margin:24px 24px 24px 0}}.edit-site-page-header{background:#fff;border-bottom:1px solid #f0f0f0;min-height:60px;padding:0 32px;position:sticky;top:0;z-index:2}.edit-site-page-header .components-text{color:#2f2f2f}.edit-site-page-header .components-heading{color:#1e1e1e}.edit-site-page-header .edit-site-page-header__sub-title{color:#757575;margin-top:8px}.edit-site-page-content{display:flex;flex-flow:column;height:100%;overflow:auto;position:relative;z-index:1}.edit-site-patterns{background:none;border-left:1px solid #2f2f2f;border-radius:0;margin:60px 0 0;overflow-x:auto;padding:0}.edit-site-patterns .components-base-control{width:100%}@media (min-width:782px){.edit-site-patterns .components-base-control{width:auto}}.edit-site-patterns .components-text{color:#949494}.edit-site-patterns .components-heading{color:#e0e0e0}@media (min-width:782px){.edit-site-patterns{margin:0}}.edit-site-patterns .edit-site-patterns__search-block{flex-grow:1;min-width:-moz-fit-content;min-width:fit-content}.edit-site-patterns .edit-site-patterns__search input[type=search]{background:#2f2f2f;color:#e0e0e0;height:40px}.edit-site-patterns .edit-site-patterns__search input[type=search]:focus{background:#2f2f2f}.edit-site-patterns .edit-site-patterns__search svg{fill:#949494}.edit-site-patterns .edit-site-patterns__sync-status-filter{background:#2f2f2f;border:none;height:40px;max-width:100%;min-width:max-content;width:100%}@media (min-width:782px){.edit-site-patterns .edit-site-patterns__sync-status-filter{width:300px}}.edit-site-patterns .edit-site-patterns__sync-status-filter-option:not([aria-checked=true]){color:#949494}.edit-site-patterns .edit-site-patterns__sync-status-filter-option:active{background:#757575;color:#f0f0f0}.edit-site-patterns .edit-site-patterns__grid-pagination{background:#1e1e1e;border-top:1px solid #2f2f2f;bottom:0;padding:24px 32px;position:sticky;z-index:2}.edit-site-patterns .edit-site-patterns__grid-pagination .components-button.is-tertiary{background-color:#2f2f2f;color:#f0f0f0;height:32px;justify-content:center;width:32px}.edit-site-patterns .edit-site-patterns__grid-pagination .components-button.is-tertiary:disabled{background:none;color:#949494}.edit-site-patterns .edit-site-patterns__grid-pagination .components-button.is-tertiary:hover:not(:disabled){background-color:#757575}.edit-site-patterns__header{background:#1e1e1e;padding:32px 32px 16px;position:sticky;top:0;z-index:2}.edit-site-patterns__section{flex:1;padding:24px 32px}.edit-site-patterns__section-header .screen-reader-shortcut:focus{top:0}.edit-site-patterns__grid{display:grid;gap:32px;grid-template-columns:1fr;margin-bottom:0;margin-top:0}@media (min-width:960px){.edit-site-patterns__grid{grid-template-columns:1fr 1fr}}@media (min-width:1440px){.edit-site-patterns__grid{grid-template-columns:1fr 1fr 1fr}}@media (min-width:1920px){.edit-site-patterns__grid{grid-template-columns:1fr 1fr 1fr 1fr}}.edit-site-patterns__grid .edit-site-patterns__pattern{break-inside:avoid-column;display:flex;flex-direction:column}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview{background-color:unset;border:none;border-radius:4px;box-shadow:none;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:0}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview:focus{box-shadow:inset 0 0 0 0 #fff,0 0 0 2px var(--wp-admin-theme-color);outline:2px solid transparent}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview.is-inactive{cursor:default}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview.is-inactive:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #2f2f2f;opacity:.8}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__button,.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__footer{color:#949494}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__dropdown{flex-shrink:0}.edit-site-patterns__grid .edit-site-patterns__pattern.is-placeholder .edit-site-patterns__preview{align-items:center;border:1px dashed #2f2f2f;color:#949494;display:flex;justify-content:center;min-height:64px}.edit-site-patterns__grid .edit-site-patterns__pattern.is-placeholder .edit-site-patterns__preview:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-patterns__grid .edit-site-patterns__preview{flex:0 1 auto;margin-bottom:12px}.edit-site-patterns__load-more{align-self:center}.edit-site-patterns__pattern-title{color:#e0e0e0}.edit-site-patterns__pattern-title .is-link{color:#e0e0e0;text-decoration:none}.edit-site-patterns__pattern-title .is-link:focus,.edit-site-patterns__pattern-title .is-link:hover{color:#fff}.edit-site-patterns__pattern-title .edit-site-patterns__pattern-icon{fill:#fff;background:var(--wp-block-synced-color);border-radius:4px}.edit-site-patterns__pattern-title .edit-site-patterns__pattern-lock-icon{fill:currentcolor}.edit-site-patterns__no-results{color:#949494}.edit-site-table-wrapper{padding:32px;width:100%}.edit-site-table{border-collapse:collapse;border-color:inherit;position:relative;text-indent:0;width:100%}.edit-site-table a{text-decoration:none}.edit-site-table th{color:#757575;font-weight:400;padding:0 16px 16px;text-align:left}.edit-site-table td{padding:16px}.edit-site-table td,.edit-site-table th{vertical-align:center}.edit-site-table td:first-child,.edit-site-table th:first-child{padding-left:0}.edit-site-table td:last-child,.edit-site-table th:last-child{padding-right:0;text-align:right}.edit-site-table tr{border-bottom:1px solid #f0f0f0}.edit-site-sidebar-edit-mode{width:280px}.edit-site-sidebar-edit-mode>.components-panel{border-left:0;border-right:0;margin-bottom:-1px;margin-top:-1px}.edit-site-sidebar-edit-mode>.components-panel>.components-panel__header{background:#f0f0f0}.edit-site-sidebar-edit-mode .block-editor-block-inspector__card{margin:0}.edit-site-global-styles-sidebar{display:flex;flex-direction:column;min-height:100%}.edit-site-global-styles-sidebar__navigator-provider,.edit-site-global-styles-sidebar__panel{display:flex;flex:1;flex-direction:column}.edit-site-global-styles-sidebar__navigator-screen{flex:1}.edit-site-global-styles-sidebar .interface-complementary-area-header .components-button.has-icon{margin-left:0}.edit-site-global-styles-sidebar__reset-button.components-button{margin-left:auto}.edit-site-global-styles-sidebar .components-navigation__menu-title-heading{font-size:15.6px;font-weight:500}.edit-site-global-styles-sidebar .components-navigation__item>button span{font-weight:500}.edit-site-global-styles-sidebar .block-editor-panel-color-gradient-settings,.edit-site-typography-panel{border:0}.edit-site-global-styles-sidebar .single-column{grid-column:span 1}.edit-site-global-styles-sidebar .components-tools-panel .span-columns{grid-column:1/-1}.edit-site-global-styles-sidebar__blocks-group{border-top:1px solid #e0e0e0;padding-top:24px}.edit-site-global-styles-sidebar__blocks-group-help{padding:0 16px}.edit-site-global-styles-color-palette-panel,.edit-site-global-styles-gradient-palette-panel{padding:16px}.edit-site-global-styles-sidebar hr{margin:0}.show-icon-labels .edit-site-global-styles-sidebar__header .components-button.has-icon svg{display:none}.show-icon-labels .edit-site-global-styles-sidebar__header .components-button.has-icon:after{content:attr(aria-label);font-size:12px}.edit-site-sidebar-fixed-bottom-slot{background:#fff;border-top:1px solid #ddd;bottom:0;box-sizing:content-box;display:flex;padding:16px;position:sticky}.edit-site-swap-template-modal{z-index:1000001}.edit-site-page-panels__swap-template__confirm-modal__actions{margin-top:24px}.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list{column-count:2;column-gap:24px;padding-top:2px}@media (min-width:782px){.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list{column-count:3}}@media (min-width:1280px){.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list{column-count:4}}.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.edit-site-page-panels__swap-template__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__item:not(:focus):not(:hover) .block-editor-block-preview__container{box-shadow:0 0 0 1px #ddd}.edit-site-change-status__content .components-popover__content{min-width:320px;padding:16px}.edit-site-change-status__content .edit-site-change-status__options .components-base-control__field>.components-v-stack{gap:8px}.edit-site-change-status__content .edit-site-change-status__options label .components-text{display:block;margin-left:26px}.edit-site-change-status__content .edit-site-change-status__password-legend{margin-bottom:8px;padding:0}.edit-site-summary-field .components-dropdown{width:70%}.edit-site-summary-field .edit-site-summary-field__trigger{display:block;max-width:100%;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.edit-site-summary-field .edit-site-summary-field__label{width:30%}.edit-site-page-panels-edit-template__dropdown .components-popover__content{min-width:240px}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs{border-top:0;justify-content:flex-start;margin-top:0;padding-left:0;padding-right:16px}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs ul{display:flex}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs li{margin:0}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs .components-button.has-icon{display:none;height:24px;margin:0 0 0 auto;min-width:24px;padding:0}@media (min-width:782px){.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs .components-button.has-icon{display:flex}}.components-button.edit-site-sidebar-edit-mode__panel-tab{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-left:0;padding:3px 16px;position:relative}.components-button.edit-site-sidebar-edit-mode__panel-tab:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-button.edit-site-sidebar-edit-mode__panel-tab:after{background:var(--wp-admin-theme-color);border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-site-sidebar-edit-mode__panel-tab:after{transition-delay:0s;transition-duration:0s}}.components-button.edit-site-sidebar-edit-mode__panel-tab.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-button.edit-site-sidebar-edit-mode__panel-tab:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-site-sidebar-edit-mode__panel-tab:before{transition-delay:0s;transition-duration:0s}}.components-button.edit-site-sidebar-edit-mode__panel-tab:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.edit-site-sidebar-card{align-items:flex-start;display:flex}.edit-site-sidebar-card__content{flex-grow:1;margin-bottom:4px}.edit-site-sidebar-card__title{font-weight:500;line-height:24px}.edit-site-sidebar-card__title.edit-site-sidebar-card__title{margin:0}.edit-site-sidebar-card__description{font-size:13px}.edit-site-sidebar-card__icon{flex:0 0 24px;height:24px;margin-right:12px;width:24px}.edit-site-sidebar-card__header{display:flex;justify-content:space-between;margin:0 0 4px}.edit-site-template-card__template-areas{margin-top:16px}.edit-site-template-card__template-areas-list,.edit-site-template-card__template-areas-list>li{margin:0}.edit-site-template-card__template-areas-item{width:100%}.edit-site-template-card__template-areas-item.components-button.has-icon{padding:0}.edit-site-template-card__actions{line-height:0}.edit-site-template-card__actions>.components-button.is-small.has-icon{min-width:auto;padding:0}.edit-site-template-revisions{margin-left:-4px}h3.edit-site-template-card__template-areas-title{font-weight:500;margin:0 0 8px}.edit-site-template-panel__replace-template-modal{z-index:1000001}.edit-site-template-panel__replace-template-modal__content{column-count:2;column-gap:24px}@media (min-width:782px){.edit-site-template-panel__replace-template-modal__content{column-count:3}}@media (min-width:1280px){.edit-site-template-panel__replace-template-modal__content{column-count:4}}.edit-site-editor__interface-skeleton{opacity:1;transition:opacity .1s ease-out}@media (prefers-reduced-motion:reduce){.edit-site-editor__interface-skeleton{transition-delay:0s;transition-duration:0s}}.edit-site-editor__interface-skeleton.is-loading{opacity:0}.edit-site-editor__interface-skeleton .interface-interface-skeleton__header{border:0}.edit-site-editor__toggle-save-panel{background-color:#fff;border:1px dotted #ddd;box-sizing:border-box;display:flex;justify-content:center;padding:24px;width:280px}.edit-site .components-editor-notices__snackbar{bottom:40px;left:0;padding-left:16px;padding-right:16px;position:absolute;right:0}@media (min-width:783px){.edit-site .components-editor-notices__snackbar{left:160px}}@media (min-width:783px){.auto-fold .edit-site .components-editor-notices__snackbar{left:36px}}@media (min-width:961px){.auto-fold .edit-site .components-editor-notices__snackbar{left:160px}}.folded .edit-site .components-editor-notices__snackbar{left:0}@media (min-width:783px){.folded .edit-site .components-editor-notices__snackbar{left:36px}}body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{left:0!important}.edit-site-create-template-part-modal{z-index:1000001}@media (min-width:600px){.edit-site-create-template-part-modal .components-modal__frame{max-width:500px}}.edit-site-create-template-part-modal__area-radio-group{border:1px solid #757575;border-radius:2px;width:100%}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio{display:block;height:100%;padding:12px;text-align:left;width:100%}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover{background-color:inherit;border-bottom:1px solid #757575;border-radius:0;margin:0}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover:not(:focus),.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover:not(:focus),.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:not(:focus){box-shadow:none}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover:focus,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover:focus,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:focus{border-bottom:1px solid #fff}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover:last-of-type,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover:last-of-type,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:last-of-type{border-bottom:none}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:not(:hover),.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio[aria-checked=true]{color:#1e1e1e;cursor:auto}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:not(:hover) .edit-site-create-template-part-modal__option-label div,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio[aria-checked=true] .edit-site-create-template-part-modal__option-label div{color:#949494}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio .edit-site-create-template-part-modal__option-label{padding-top:4px;white-space:normal}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio .edit-site-create-template-part-modal__option-label div{font-size:12px;padding-top:4px}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio .edit-site-create-template-part-modal__checkbox{margin-left:auto;min-width:24px}.edit-site-editor__inserter-panel,.edit-site-editor__list-view-panel{display:flex;flex-direction:column;height:100%}@media (min-width:782px){.edit-site-editor__list-view-panel{width:350px}}.edit-site-editor__inserter-panel-header{display:flex;justify-content:flex-end;padding-right:8px;padding-top:8px}.edit-site-editor__inserter-panel-content,.edit-site-editor__list-view-panel-content{height:calc(100% - 44px)}@media (min-width:782px){.edit-site-editor__inserter-panel-content{height:100%}}.edit-site-editor__list-view-panel-header{align-items:center;border-bottom:1px solid #ddd;display:flex;height:48px;justify-content:space-between;padding-left:16px;padding-right:4px}.edit-site-editor__list-view-panel-content{height:100%;overflow:auto;padding:8px 6px;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-gutter:auto;scrollbar-width:thin;will-change:transform}.edit-site-editor__list-view-panel-content::-webkit-scrollbar{height:12px;width:12px}.edit-site-editor__list-view-panel-content::-webkit-scrollbar-track{background-color:transparent}.edit-site-editor__list-view-panel-content::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.edit-site-editor__list-view-panel-content:focus-within::-webkit-scrollbar-thumb,.edit-site-editor__list-view-panel-content:focus::-webkit-scrollbar-thumb,.edit-site-editor__list-view-panel-content:hover::-webkit-scrollbar-thumb{background-color:#949494}.edit-site-editor__list-view-panel-content:focus,.edit-site-editor__list-view-panel-content:focus-within,.edit-site-editor__list-view-panel-content:hover{scrollbar-color:#949494 transparent}@media (hover:none){.edit-site-editor__list-view-panel-content{scrollbar-color:#949494 transparent}}.edit-site-welcome-guide{width:312px}.edit-site-welcome-guide.guide-editor .edit-site-welcome-guide__image .edit-site-welcome-guide.guide-styles .edit-site-welcome-guide__image{background:#00a0d2}.edit-site-welcome-guide.guide-page .edit-site-welcome-guide__video{border-right:16px solid #3858e9;border-top:16px solid #3858e9}.edit-site-welcome-guide.guide-template .edit-site-welcome-guide__video{border-left:16px solid #3858e9;border-top:16px solid #3858e9}.edit-site-welcome-guide__image{margin:0 0 16px}.edit-site-welcome-guide__image>img{display:block;max-width:100%;object-fit:cover}.edit-site-welcome-guide__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:24px;line-height:1.4;margin:16px 0;padding:0 32px}.edit-site-welcome-guide__text{font-size:13px;line-height:1.4;margin:0 0 16px;padding:0 32px}.edit-site-welcome-guide__text img{vertical-align:bottom}.edit-site-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}.edit-site-start-template-options__modal .edit-site-start-template-options__modal__actions{background-color:#fff;border-top:1px solid #ddd;bottom:0;height:92px;margin-left:-32px;margin-right:-32px;padding-left:32px;padding-right:32px;position:absolute;width:100%;z-index:1}.edit-site-start-template-options__modal .block-editor-block-patterns-list{padding-bottom:92px}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:782px){.edit-site-start-template-options__modal-content .block-editor-block-patterns-list{column-count:3}}@media (min-width:1280px){.edit-site-start-template-options__modal-content .block-editor-block-patterns-list{column-count:4}}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-patterns-list__item-title{display:none}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__item:not(:focus):not(:hover) .block-editor-block-preview__container{box-shadow:0 0 0 1px #ddd}.edit-site-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-site-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-site-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.edit-site-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.edit-site-keyboard-shortcut-help-modal__shortcut:empty{display:none}.edit-site-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 0 0 1rem;text-align:right}.edit-site-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination+.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.edit-site-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.edit-site-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.edit-site-layout{background:#1e1e1e;color:#ccc;display:flex;flex-direction:column;height:100%}.edit-site-layout__hub{height:60px;left:0;position:fixed;top:0;width:calc(100vw - 48px);z-index:3}.edit-site-layout.is-full-canvas.is-edit-mode .edit-site-layout__hub{padding-right:0;width:60px}@media (min-width:782px){.edit-site-layout__hub{width:336px}}.edit-site-layout.is-full-canvas .edit-site-layout__hub{border-radius:0;box-shadow:none;padding-right:16px;width:100vw}@media (min-width:782px){.edit-site-layout.is-full-canvas .edit-site-layout__hub{padding-right:0;width:auto}}.edit-site-layout__header-container{z-index:4}.edit-site-layout__header{display:flex;height:60px;z-index:2}.edit-site-layout:not(.is-full-canvas) .edit-site-layout__header{position:fixed;width:100vw}.edit-site-layout__content{display:flex;flex-grow:1;height:100%}.edit-site-layout__sidebar-region{flex-shrink:0;width:100vw;z-index:1}@media (min-width:782px){.edit-site-layout__sidebar-region{width:360px}}.edit-site-layout.is-full-canvas .edit-site-layout__sidebar-region{height:100vh;left:0;position:fixed!important;top:0}.edit-site-layout__sidebar-region .edit-site-layout__sidebar{display:flex;flex-direction:column;height:100%}.edit-site-layout__sidebar-region .resizable-editor__drag-handle{right:0}.edit-site-layout__main{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.edit-site-layout__canvas-container{flex-grow:1;position:relative;z-index:2}.edit-site-layout__canvas-container.is-resizing:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:100}.edit-site-layout__canvas{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;top:0;width:100%}.edit-site-layout__canvas.is-right-aligned{justify-content:flex-end}.edit-site-layout__canvas>div{color:#1e1e1e}@media (min-width:782px){.edit-site-layout__canvas{bottom:24px;top:24px;width:calc(100% - 24px)}.edit-site-layout:not(.is-full-canvas) .edit-site-layout__canvas>div .edit-site-visual-editor__editor-canvas,.edit-site-layout:not(.is-full-canvas) .edit-site-layout__canvas>div .interface-interface-skeleton__content,.edit-site-layout__canvas>div{border-radius:8px}}.edit-site-layout.is-full-canvas .edit-site-layout__canvas{bottom:0;top:0;width:100%}.edit-site-layout.is-full-canvas .edit-site-layout__canvas>div{border-radius:0}.edit-site-layout__canvas .interface-interface-skeleton{min-height:100%!important;position:relative!important}.edit-site-layout__view-mode-toggle.components-button{align-items:center;border-bottom:1px solid transparent;border-radius:0;color:#fff;display:flex;height:60px;justify-content:center;overflow:hidden;padding:0;position:relative;width:60px}.edit-site-layout.is-full-canvas.is-edit-mode .edit-site-layout__view-mode-toggle.components-button{border-bottom-color:#e0e0e0;transition:border-bottom-color .15s ease-out .4s}.edit-site-layout__view-mode-toggle.components-button:active,.edit-site-layout__view-mode-toggle.components-button:hover{color:#fff}.edit-site-layout__view-mode-toggle.components-button:focus{box-shadow:none}.edit-site-layout__view-mode-toggle.components-button:before{border-radius:4px;bottom:9px;box-shadow:none;content:"";display:block;left:9px;position:absolute;right:9px;top:9px;transition:box-shadow .1s ease}@media (prefers-reduced-motion:reduce){.edit-site-layout__view-mode-toggle.components-button:before{transition-delay:0s;transition-duration:0s}}.edit-site-layout__view-mode-toggle.components-button:focus:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) hsla(0,0%,100%,.1),inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-layout__view-mode-toggle.components-button .edit-site-layout__view-mode-toggle-icon{align-items:center;border-radius:2px;display:flex;height:64px;justify-content:center;width:64px}.edit-site-layout__actions{background:#fff;bottom:auto;color:#1e1e1e;left:auto;position:fixed!important;right:0;top:-9999em;width:280px;z-index:100000}.edit-site-layout__actions:focus,.edit-site-layout__actions:focus-within{bottom:0;top:auto}.edit-site-layout__actions.is-entity-save-view-open:focus,.edit-site-layout__actions.is-entity-save-view-open:focus-within{top:0}@media (min-width:782px){.edit-site-layout__actions{border-left:1px solid #ddd}.edit-site-layout.has-fixed-toolbar .edit-site-layout__canvas-container{z-index:5}.edit-site-layout.has-fixed-toolbar .edit-site-site-hub{z-index:4}}@media (min-width:782px){.edit-site-layout.has-fixed-toolbar .edit-site-layout__header:focus-within{z-index:3}}.is-edit-mode.is-distraction-free .edit-site-layout__header-container{height:60px;left:0;position:absolute;right:0;top:0;width:100%;z-index:4}.is-edit-mode.is-distraction-free .edit-site-layout__header-container:focus-within{opacity:1!important}.is-edit-mode.is-distraction-free .edit-site-layout__header-container:focus-within div{transform:translateX(0) translateY(0) translateZ(0)!important}.is-edit-mode.is-distraction-free .edit-site-layout__header-container:focus-within .edit-site-layout__header{opacity:1!important}.is-edit-mode.is-distraction-free .edit-site-layout__header,.is-edit-mode.is-distraction-free .edit-site-site-hub{position:absolute;top:0;z-index:2}.is-edit-mode.is-distraction-free .edit-site-site-hub{z-index:3}.is-edit-mode.is-distraction-free .edit-site-layout__header{width:100%}.edit-site-save-hub{border-top:1px solid #2f2f2f;color:#949494;flex-shrink:0;margin:0;padding:20px 24px}.edit-site-save-hub__button{color:inherit;justify-content:center;width:100%}.edit-site-save-hub__button[aria-disabled=true]{opacity:1}.edit-site-save-hub__button[aria-disabled=true]:hover{color:inherit}@media (min-width:600px){.edit-site-save-panel__modal{width:600px}}.edit-site-sidebar__content{flex-grow:1;overflow-y:auto}.edit-site-sidebar__content .components-navigator-screen{display:flex;flex-direction:column;height:100%;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-gutter:stable;scrollbar-width:thin;will-change:transform}.edit-site-sidebar__content .components-navigator-screen::-webkit-scrollbar{height:12px;width:12px}.edit-site-sidebar__content .components-navigator-screen::-webkit-scrollbar-track{background-color:transparent}.edit-site-sidebar__content .components-navigator-screen::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.edit-site-sidebar__content .components-navigator-screen:focus-within::-webkit-scrollbar-thumb,.edit-site-sidebar__content .components-navigator-screen:focus::-webkit-scrollbar-thumb,.edit-site-sidebar__content .components-navigator-screen:hover::-webkit-scrollbar-thumb{background-color:#757575}.edit-site-sidebar__content .components-navigator-screen:focus,.edit-site-sidebar__content .components-navigator-screen:focus-within,.edit-site-sidebar__content .components-navigator-screen:hover{scrollbar-color:#757575 transparent}@media (hover:none){.edit-site-sidebar__content .components-navigator-screen{scrollbar-color:#757575 transparent}}.edit-site-sidebar__footer{border-top:1px solid #2f2f2f;flex-shrink:0;margin:0 24px;padding:24px 0}.edit-site-sidebar__content>div{padding:0 12px}.edit-site-sidebar-button{color:#e0e0e0;flex-shrink:0}.edit-site-sidebar-button:focus:not(:disabled){box-shadow:none;outline:none}.edit-site-sidebar-button:focus-visible:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba));outline:3px solid transparent}.edit-site-sidebar-button:focus,.edit-site-sidebar-button:focus-visible,.edit-site-sidebar-button:hover,.edit-site-sidebar-button:not([aria-disabled=true]):active,.edit-site-sidebar-button[aria-expanded=true]{color:#f0f0f0}.edit-site-sidebar-navigation-item.components-item{border:none;border-radius:2px;color:#949494;min-height:40px;padding:8px 6px 8px 16px}.edit-site-sidebar-navigation-item.components-item:focus,.edit-site-sidebar-navigation-item.components-item:hover,.edit-site-sidebar-navigation-item.components-item[aria-current]{background:#2f2f2f;color:#e0e0e0}.edit-site-sidebar-navigation-item.components-item:focus .edit-site-sidebar-navigation-item__drilldown-indicator,.edit-site-sidebar-navigation-item.components-item:hover .edit-site-sidebar-navigation-item__drilldown-indicator,.edit-site-sidebar-navigation-item.components-item[aria-current] .edit-site-sidebar-navigation-item__drilldown-indicator{fill:#e0e0e0}.edit-site-sidebar-navigation-item.components-item[aria-current]{background:var(--wp-admin-theme-color);color:#fff}.edit-site-sidebar-navigation-item.components-item .edit-site-sidebar-navigation-item__drilldown-indicator{fill:#949494}.edit-site-sidebar-navigation-item.components-item.with-suffix{padding-right:16px}.edit-site-sidebar-navigation-screen__content .block-editor-list-view-block-select-button{cursor:grab;padding:8px}.edit-site-sidebar-navigation-screen{display:flex;flex-direction:column;overflow-x:unset!important;position:relative}.edit-site-sidebar-navigation-screen__main{flex-grow:1;margin-bottom:16px}.edit-site-sidebar-navigation-screen__main.has-footer{margin-bottom:0}.edit-site-sidebar-navigation-screen__content{padding:0 16px}.edit-site-sidebar-navigation-screen__content .components-item-group{margin-left:-16px;margin-right:-16px}.edit-site-sidebar-navigation-screen__content .components-text{color:#ccc}.edit-site-sidebar-navigation-screen__content .components-heading{margin-bottom:8px}.edit-site-sidebar-navigation-screen__meta{color:#ccc;margin:0 0 16px 16px}.edit-site-sidebar-navigation-screen__meta .components-text{color:#ccc}.edit-site-sidebar-navigation-screen__page-link{color:#949494;display:inline-block}.edit-site-sidebar-navigation-screen__page-link:focus,.edit-site-sidebar-navigation-screen__page-link:hover{color:#fff}.edit-site-sidebar-navigation-screen__page-link .components-external-link__icon{margin-left:4px}.edit-site-sidebar-navigation-screen__title-icon{background:#1e1e1e;margin-bottom:8px;padding-bottom:8px;padding-top:108px;position:sticky;top:0;z-index:1}.edit-site-sidebar-navigation-screen__title{flex-grow:1;overflow-wrap:break-word;padding:6px 0 0}.edit-site-sidebar-navigation-screen__actions{flex-shrink:0}@media (min-width:782px){.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container{max-width:292px}}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px #1e1e1e}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item.is-active .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px #f0f0f0}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item:hover .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item:focus .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-sidebar-navigation-screen__footer{background-color:#1e1e1e;border-top:1px solid #2f2f2f;bottom:0;gap:0;margin:16px 0 0;padding:16px 0;position:sticky}.edit-site-sidebar__notice{background:#2f2f2f;color:#ddd;margin:24px 0}.edit-site-sidebar__notice.is-dismissible{padding-right:8px}.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]){color:#ccc}.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]):focus,.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):active,.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{color:#fff}.edit-site-sidebar-navigation-screen__input-control{width:100%}.edit-site-sidebar-navigation-screen__input-control .components-input-control__container{background:#2f2f2f}.edit-site-sidebar-navigation-screen__input-control .components-input-control__container .components-button{color:#e0e0e0!important}.edit-site-sidebar-navigation-screen__input-control .components-input-control__input{background:#2f2f2f!important;border-radius:2px;color:#e0e0e0!important}.edit-site-sidebar-navigation-screen__input-control .components-input-control__backdrop{border:4px!important}.edit-site-sidebar-navigation-screen__input-control .components-base-control__help{color:#949494}.edit-site-sidebar-navigation-screen-details-footer div.edit-site-sidebar-navigation-item.components-item:focus,.edit-site-sidebar-navigation-screen-details-footer div.edit-site-sidebar-navigation-item.components-item:hover,.edit-site-sidebar-navigation-screen-details-footer div.edit-site-sidebar-navigation-item.components-item[aria-current]{background:none}.edit-site-sidebar-navigation-screen-details-footer .edit-site-sidebar-navigation-screen-details-footer__icon{fill:#949494;margin-left:auto}.sidebar-navigation__more-menu .components-button{color:#e0e0e0}.sidebar-navigation__more-menu .components-button:focus,.sidebar-navigation__more-menu .components-button:hover,.sidebar-navigation__more-menu .components-button[aria-current]{color:#f0f0f0}.edit-site-sidebar-navigation-screen-page__featured-image-wrapper{background-color:#2f2f2f;border-radius:4px;margin-bottom:16px;min-height:128px}.edit-site-sidebar-navigation-screen-page__featured-image{align-items:center;background-position:50% 50%;background-size:cover;border-radius:2px;color:#949494;display:flex;height:128px;justify-content:center;overflow:hidden;width:100%}.edit-site-sidebar-navigation-screen-page__featured-image img{height:100%;object-fit:cover;object-position:50% 50%;width:100%}.edit-site-sidebar-navigation-screen-page__featured-image-description{font-size:12px}.edit-site-sidebar-navigation-screen-page__excerpt{font-size:12px;margin-bottom:24px}.edit-site-sidebar-navigation-screen-page__modified{color:#949494;margin:0 0 16px 16px}.edit-site-sidebar-navigation-screen-page__modified .components-text{color:#949494}.edit-site-sidebar-navigation-screen-page__status{display:inline-flex}.edit-site-sidebar-navigation-screen-page__status time{display:contents}.edit-site-sidebar-navigation-screen-page__status svg{fill:#f0b849;height:16px;margin-right:8px;width:16px}.edit-site-sidebar-navigation-screen-page__status.has-future-status svg,.edit-site-sidebar-navigation-screen-page__status.has-publish-status svg{fill:#4ab866}.edit-site-sidebar-navigation-details-screen-panel{margin:24px 0}.edit-site-sidebar-navigation-details-screen-panel:last-of-type{margin-bottom:0}.edit-site-sidebar-navigation-details-screen-panel .edit-site-sidebar-navigation-details-screen-panel__heading{color:#ccc;font-size:11px;font-weight:500;margin-bottom:0;padding:0;text-transform:uppercase}.edit-site-sidebar-navigation-details-screen-panel__label.edit-site-sidebar-navigation-details-screen-panel__label{color:#949494;flex-shrink:0;width:100px}.edit-site-sidebar-navigation-details-screen-panel__value.edit-site-sidebar-navigation-details-screen-panel__value{color:#e0e0e0}.edit-site-sidebar-navigation-screen-pattern__added-by-description{align-items:center;display:flex;justify-content:space-between;margin-top:24px}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author{align-items:center;display:inline-flex}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author img{border-radius:12px}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author svg{fill:#949494}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author-icon{height:24px;margin-right:8px;width:24px}.edit-site-sidebar-navigation-screen-patterns__group{margin-bottom:24px}.edit-site-sidebar-navigation-screen-patterns__group:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.edit-site-sidebar-navigation-screen-patterns__group-header{margin-top:16px}.edit-site-sidebar-navigation-screen-patterns__group-header p{color:#949494}.edit-site-sidebar-navigation-screen-patterns__group-header h2{font-size:11px;font-weight:500;text-transform:uppercase}.edit-site-sidebar-navigation-screen-template__added-by-description{align-items:center;display:flex;justify-content:space-between;margin-top:24px}.edit-site-sidebar-navigation-screen-template__added-by-description-author{align-items:center;display:inline-flex}.edit-site-sidebar-navigation-screen-template__added-by-description-author img{border-radius:12px}.edit-site-sidebar-navigation-screen-template__added-by-description-author svg{fill:#949494}.edit-site-sidebar-navigation-screen-template__added-by-description-author-icon{height:24px;margin-right:8px;width:24px}.edit-site-sidebar-navigation-screen-template__template-area-button{align-items:center;border-radius:4px;color:#fff;display:flex;flex-wrap:nowrap;width:100%}.edit-site-sidebar-navigation-screen-template__template-area-button:focus,.edit-site-sidebar-navigation-screen-template__template-area-button:hover{background:#2f2f2f;color:#fff}.edit-site-sidebar-navigation-screen-template__template-area-label-text{flex-grow:1;margin:0 16px 0 4px}.edit-site-sidebar-navigation-screen-template__template-icon{display:flex}.edit-site-site-hub{align-items:center;display:flex;gap:8px;justify-content:space-between}.edit-site-site-hub .edit-site-site-hub__container{gap:0}.edit-site-site-hub .edit-site-site-hub__site-title,.edit-site-site-hub .edit-site-site-hub_toggle-command-center{transition:opacity .1s ease}.edit-site-site-hub .edit-site-site-hub__site-title.is-transparent,.edit-site-site-hub .edit-site-site-hub_toggle-command-center.is-transparent{opacity:0!important}.edit-site-site-hub .edit-site-site-hub__site-view-link{flex-grow:0;margin-right:var(--wp-admin-border-width-focus)}@media (min-width:480px){.edit-site-site-hub .edit-site-site-hub__site-view-link{opacity:0;transition:opacity .2s ease-in-out}}.edit-site-site-hub .edit-site-site-hub__site-view-link:focus{opacity:1}.edit-site-site-hub .edit-site-site-hub__site-view-link svg{fill:#e0e0e0}.edit-site-site-hub:hover .edit-site-site-hub__site-view-link{opacity:1}.edit-site-site-hub__post-type{opacity:.6}.edit-site-site-hub__view-mode-toggle-container{background:#1e1e1e;flex-shrink:0;height:60px;width:60px}.edit-site-site-hub__view-mode-toggle-container.has-transparent-background{background:transparent}.edit-site-site-hub__text-content{overflow:hidden}.edit-site-site-hub__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-site-site-hub__site-title{color:#e0e0e0;flex-grow:1;margin-left:4px}.edit-site-site-hub_toggle-command-center{color:#e0e0e0}.edit-site-site-hub_toggle-command-center:hover{color:#f0f0f0}.edit-site-sidebar-navigation-screen__description{margin:0 0 32px}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf{border-radius:2px;max-width:calc(100% - 4px)}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf:focus,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf:hover,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf[aria-current]{background:#2f2f2f}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf .block-editor-list-view-block__menu{margin-left:-8px}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected>td{background:transparent}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents{color:inherit}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:not(:hover) .block-editor-list-view-block__menu{opacity:0}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:focus,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:hover{color:#fff}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected .block-editor-list-view-block__menu,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:focus .block-editor-list-view-block__menu-cell,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:hover .block-editor-list-view-block__menu-cell{opacity:1}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected .block-editor-list-view-block__menu:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-branch-selected:not(.is-selected):not(.is-synced-branch){background:transparent}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-branch-selected:not(.is-selected):not(.is-synced-branch):hover{background:#2f2f2f}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-leaf .block-editor-list-view-block__contents-cell{width:100%}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-leaf .block-editor-list-view-block-contents{white-space:normal}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-block__title{margin-top:3px}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-block__menu-cell{padding-right:0}.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button{color:#949494}.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button:focus,.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button:hover,.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button[aria-current]{color:#fff}.edit-site-sidebar-navigation-screen-navigation-menus__loading.components-spinner{display:block;margin-left:auto;margin-right:auto}.edit-site-sidebar-navigation-screen-navigation-menus__helper-block-editor{display:none}.edit-site-site-icon__icon{fill:currentColor}.edit-site-site-icon__image{background:#333;border-radius:4px;height:auto;object-fit:cover;width:100%}.edit-site-layout.is-full-canvas.is-edit-mode .edit-site-site-icon__image{border-radius:0}.edit-site-style-book{height:100%}.edit-site-style-book.is-button,.edit-site-style-book__iframe.is-button{border-radius:8px}.edit-site-style-book__iframe.is-focused{outline:calc(var(--wp-admin-border-width-focus)*2) solid var(--wp-admin-theme-color);outline-offset:calc(var(--wp-admin-border-width-focus)*-2)}.edit-site-style-book__tab-panel .components-tab-panel__tabs{background:#fff;color:#1e1e1e}.edit-site-style-book__tab-panel .components-tab-panel__tab-content{bottom:0;left:0;overflow:auto;padding:0;position:absolute;right:0;top:48px}.edit-site-editor-canvas-container{background:#fff;border-radius:2px;bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;transition:all .3s}.edit-site-editor-canvas-container__close-button{background:#fff;position:absolute;right:8px;top:6px;z-index:1}.edit-site-resizable-frame__inner{position:relative}body:has(.edit-site-resizable-frame__inner.is-resizing){cursor:col-resize;user-select:none;-webkit-user-select:none}.edit-site-resizable-frame__inner.is-resizing:before{content:"";inset:0;position:absolute;z-index:1}.edit-site-resizable-frame__inner-content{inset:0;position:absolute;z-index:0}.edit-site-resizable-frame__handle{align-items:center;background-color:hsla(0,0%,46%,.4);border:0;border-radius:4px;cursor:col-resize;display:flex;height:64px;justify-content:flex-end;padding:0;position:absolute;top:calc(50% - 32px);width:4px;z-index:100}.edit-site-resizable-frame__handle:before{content:"";height:100%;left:100%;position:absolute;width:32px}.edit-site-resizable-frame__handle:after{content:"";height:100%;position:absolute;right:100%;width:32px}.edit-site-resizable-frame__handle:focus-visible{outline:2px solid transparent}.edit-site-resizable-frame__handle.is-resizing,.edit-site-resizable-frame__handle:focus,.edit-site-resizable-frame__handle:hover{background-color:var(--wp-admin-theme-color)}.edit-site-push-changes-to-global-styles-control .components-button{justify-content:center;width:100%}@media (min-width:782px){.font-library-modal.font-library-modal{width:65vw}}.font-library-modal .components-modal__header{border-bottom:none}.font-library-modal .components-modal__content{padding-top:0}.font-library-modal .font-library-modal__subtitle{font-size:11px;font-weight:500;text-transform:uppercase}.font-library-modal__tab-layout main{padding-bottom:4rem}.font-library-modal__tab-layout footer{background-color:#fff;border-top:1px solid #e5e5e5;bottom:32px;margin:0 -32px -32px;padding:16px 32px;position:absolute;width:100%}.font-library-modal__fonts-grid .font-library-modal__fonts-grid__main{display:flex;flex-direction:column}.font-library-modal__font-card{border:1px solid #e5e5e5;height:auto;margin-top:-1px;padding:1rem}.font-library-modal__font-card .font-library-modal__font-card__name{font-weight:700}.font-library-modal__font-card .font-library-modal__font-card__count{color:#6e6e6e}.font-library-modal__library-font-variant{border:1px solid #e5e5e5;margin-top:-1px;padding:1rem}.font-library-modal__font-variant{border-bottom:1px solid #e5e5e5;padding-bottom:1rem}.font-library-modal__tab-panel [role=tablist]{background:#fff;border-bottom:1px solid #e6e6e6;margin:0 -32px;padding:0 16px;position:sticky;top:0;width:calc(100% + 64px);z-index:1}.font-library-modal__upload-area{align-items:center;background-color:#f0f0f0;display:flex;height:250px;justify-content:center;width:100%}.font-library-modal__local-fonts{margin:0 auto;width:80%}.font-library-modal__local-fonts .font-library-modal__upload-area__text{color:#6e6e6e}.font-library-modal__local-fonts .font-library-modal__upload-area__notice{margin:0}.font-library-modal__font-name{font-weight:700}.font-library-modal__font-filename{color:#6e6e6e}.font-library-modal__font-variant_demo-wrapper{overflow:hidden;position:relative;white-space:nowrap;width:100%}.font-library-modal__font-variant_demo-wrapper:after{background:linear-gradient(90deg,hsla(0,0%,100%,0),#fff);bottom:0;content:"";height:100%;position:absolute;right:0;width:30vw}.font-library__google-fonts-confirm{align-items:center;display:flex;justify-content:center}.font-library__google-fonts-confirm h3{font-size:1.4rem}.font-library__google-fonts-confirm .components-card{max-width:350px;min-width:250px;width:50%}.font-library-modal__font-collection__notice{margin:0}body.js #wpadminbar{display:none}body.js #wpbody{padding-top:0}body.js.appearance_page_gutenberg-template-parts,body.js.site-editor-php{background:#fff}body.js.appearance_page_gutenberg-template-parts #wpcontent,body.js.site-editor-php #wpcontent{padding-left:0}body.js.appearance_page_gutenberg-template-parts #wpbody-content,body.js.site-editor-php #wpbody-content{padding-bottom:0}body.js.appearance_page_gutenberg-template-parts #wpbody-content>div:not(.edit-site):not(#screen-meta),body.js.appearance_page_gutenberg-template-parts #wpfooter,body.js.site-editor-php #wpbody-content>div:not(.edit-site):not(#screen-meta),body.js.site-editor-php #wpfooter{display:none}body.js.appearance_page_gutenberg-template-parts .a11y-speak-region,body.js.site-editor-php .a11y-speak-region{left:-1px;top:-1px}body.js.appearance_page_gutenberg-template-parts ul#adminmenu a.wp-has-current-submenu:after,body.js.appearance_page_gutenberg-template-parts ul#adminmenu>li.current>a.current:after,body.js.site-editor-php ul#adminmenu a.wp-has-current-submenu:after,body.js.site-editor-php ul#adminmenu>li.current>a.current:after{border-right-color:#fff}body.js.appearance_page_gutenberg-template-parts .media-frame select.attachment-filters:last-of-type,body.js.site-editor-php .media-frame select.attachment-filters:last-of-type{max-width:100%;width:auto}body.js.site-editor-php{background:#1e1e1e}.components-modal__frame,.edit-site{box-sizing:border-box}.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before,.edit-site *,.edit-site :after,.edit-site :before{box-sizing:inherit}.edit-site{height:100vh}@media (min-width:600px){.edit-site{bottom:0;left:0;min-height:100vh;position:fixed;right:0;top:0}}.no-js .edit-site{min-height:0;position:static}.edit-site .interface-interface-skeleton{top:0}.edit-site .interface-complementary-area__pin-unpin-item.components-button{display:none}.edit-site .interface-interface-skeleton__content{background-color:#1e1e1e}@keyframes edit-post__fade-in-animation{0%{opacity:0}to{opacity:1}}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-panel__header.interface-complementary-area-header__small{background:#fff;padding-right:4px}.components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:782px){.components-panel__header.interface-complementary-area-header__small{display:none}}.interface-complementary-area-header{background:#fff;padding-right:4px}.interface-complementary-area-header .components-button.has-icon{display:none;margin-left:auto}.interface-complementary-area-header .components-button.has-icon~.components-button{margin-left:0}@media (min-width:782px){.interface-complementary-area-header .components-button.has-icon{display:flex}.components-panel__header+.interface-complementary-area-header{margin-top:0}}.interface-complementary-area{background:#fff;color:#1e1e1e}@media (min-width:600px){.interface-complementary-area{-webkit-overflow-scrolling:touch}}@media (min-width:782px){.interface-complementary-area{width:280px}}.interface-complementary-area .components-panel{border:none;position:relative;z-index:0}.interface-complementary-area .components-panel__header{position:sticky;top:0;z-index:1}.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:48px}@media (min-width:782px){.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:0}}.interface-complementary-area p:not(.components-base-control__help){margin-top:0}.interface-complementary-area h2{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.interface-complementary-area h3{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.interface-complementary-area hr{border-bottom:1px solid #f0f0f0;border-top:none;margin:1.5em 0}.interface-complementary-area div.components-toolbar,.interface-complementary-area div.components-toolbar-group{box-shadow:none;margin-bottom:1.5em}.interface-complementary-area div.components-toolbar-group:last-child,.interface-complementary-area div.components-toolbar:last-child{margin-bottom:0}.interface-complementary-area .block-editor-skip-to-selected-block:focus{bottom:10px;left:auto;right:10px;top:auto}@media (min-width:782px){body.js.is-fullscreen-mode{height:calc(100% + 32px);margin-top:-32px}body.js.is-fullscreen-mode #adminmenumain,body.js.is-fullscreen-mode #wpadminbar{display:none}body.js.is-fullscreen-mode #wpcontent,body.js.is-fullscreen-mode #wpfooter{margin-left:0}}html.interface-interface-skeleton__html-container{position:fixed;width:100%}@media (min-width:782px){html.interface-interface-skeleton__html-container{position:static;width:auto}}.interface-interface-skeleton{bottom:0;display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;right:0;top:46px}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden}.interface-interface-skeleton{left:0}@media (min-width:783px){.interface-interface-skeleton{left:160px}}@media (min-width:783px){.auto-fold .interface-interface-skeleton{left:36px}}@media (min-width:961px){.auto-fold .interface-interface-skeleton{left:160px}}.folded .interface-interface-skeleton{left:0}@media (min-width:783px){.folded .interface-interface-skeleton{left:36px}}body.is-fullscreen-mode .interface-interface-skeleton{left:0!important}.interface-interface-skeleton__body{display:flex;flex-grow:1;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;z-index:20}@media (min-width:782px){.interface-interface-skeleton__content{z-index:auto}}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{background:#fff;bottom:0;color:#1e1e1e;flex-shrink:0;left:0;position:absolute;right:0;top:0;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;width:auto}.is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,.is-sidebar-opened .interface-interface-skeleton__sidebar{z-index:90}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-left:1px solid #e0e0e0}.interface-interface-skeleton__secondary-sidebar{border-right:1px solid #e0e0e0}}.interface-interface-skeleton__header{border-bottom:1px solid #e0e0e0;color:#1e1e1e;flex-shrink:0;height:auto;z-index:30}.interface-interface-skeleton__footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;color:#1e1e1e;display:none;flex-shrink:0;height:auto;left:0;position:absolute;width:100%;z-index:90}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{align-items:center;background:#fff;display:flex;font-size:13px;height:24px;padding:0 18px;z-index:30}.interface-interface-skeleton__actions{background:#fff;bottom:auto;color:#1e1e1e;left:auto;position:fixed!important;right:0;top:-9999em;width:100vw;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__actions{width:280px}}.interface-interface-skeleton__actions:focus,.interface-interface-skeleton__actions:focus-within{bottom:0;top:auto}.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:46px}@media (min-width:782px){.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{border-left:1px solid #ddd;top:32px}.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:0}}.interface-more-menu-dropdown{margin-left:-4px}.interface-more-menu-dropdown .components-button{padding:0 2px;width:auto}@media (min-width:600px){.interface-more-menu-dropdown{margin-left:0}.interface-more-menu-dropdown .components-button{padding:0 4px}}.interface-more-menu-dropdown__content .components-popover__content{min-width:280px}@media (min-width:480px){.interface-more-menu-dropdown__content .components-popover__content{max-width:480px}}.interface-more-menu-dropdown__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.interface-more-menu-dropdown__content{z-index:99998}.interface-pinned-items{display:flex;gap:8px}.interface-pinned-items .components-button{display:none;margin:0}.interface-pinned-items .components-button[aria-controls="edit-post:block"],.interface-pinned-items .components-button[aria-controls="edit-post:document"],.interface-pinned-items .components-button[aria-controls="edit-site:block-inspector"],.interface-pinned-items .components-button[aria-controls="edit-site:global-styles"],.interface-pinned-items .components-button[aria-controls="edit-site:template"]{display:flex}.interface-pinned-items .components-button svg{max-height:24px;max-width:24px}@media (min-width:600px){.interface-pinned-items .components-button{display:flex}}.dataviews-wrapper{box-sizing:border-box;height:100%;overflow:auto;scroll-padding-bottom:64px;width:100%}.dataviews-wrapper>div{min-height:100%}.dataviews-filters__view-actions{padding:12px 32px}.dataviews-filters__view-actions .components-search-control{flex-grow:1;max-width:240px}.dataviews-filters__view-actions.components-h-stack{align-items:center}.dataviews-filters-button{position:relative}.dataviews-filters-count{align-items:center;background-color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba));border-radius:8px;color:var(--wp-components-color-accent-inverted,#fff);display:flex;font-size:11px;font-weight:300;height:16px;justify-content:center;min-width:16px;padding:0 4px;position:absolute;right:0;top:0;transform:translateX(40%) translateY(-40%)}.dataviews-pagination{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:hsla(0,0%,100%,.8);border-top:1px solid #f0f0f0;bottom:0;color:#757575;margin-top:auto;padding:12px 32px;position:sticky}.dataviews-filters-options{margin:32px 0 16px}.dataviews-view-table-wrapper{overflow-x:auto}.dataviews-view-table{border-collapse:collapse;border-color:inherit;color:#757575;position:relative;text-indent:0;width:100%}.dataviews-view-table a{color:#1e1e1e;font-weight:500;text-decoration:none}.dataviews-view-table th{color:var(--wp-components-color-foreground,#1e1e1e);font-size:13px;font-weight:400;text-align:left}.dataviews-view-table td,.dataviews-view-table th{padding:12px;white-space:nowrap}@media (min-width:1440px){.dataviews-view-table td,.dataviews-view-table th{min-width:200px}}.dataviews-view-table td[data-field-id=actions],.dataviews-view-table th[data-field-id=actions]{text-align:right}.dataviews-view-table td.dataviews-view-table__checkbox-column,.dataviews-view-table th.dataviews-view-table__checkbox-column{padding-right:0}.dataviews-view-table td .components-checkbox-control__input-container,.dataviews-view-table th .components-checkbox-control__input-container{margin:4px}.dataviews-view-table tr{border-bottom:1px solid #f0f0f0}.dataviews-view-table tr .dataviews-view-table-header-button{gap:4px}.dataviews-view-table tr td:first-child,.dataviews-view-table tr th:first-child{padding-left:32px}.dataviews-view-table tr td:first-child .dataviews-view-table-header,.dataviews-view-table tr td:first-child .dataviews-view-table-header-button,.dataviews-view-table tr th:first-child .dataviews-view-table-header,.dataviews-view-table tr th:first-child .dataviews-view-table-header-button{margin-left:-8px}.dataviews-view-table tr td:last-child,.dataviews-view-table tr th:last-child{padding-right:32px}.dataviews-view-table tr:last-child{border-bottom:0}.dataviews-view-table tr:hover{background-color:#f8f8f8}.dataviews-view-table tr .components-checkbox-control__input{opacity:0}.dataviews-view-table tr .components-checkbox-control__input:checked,.dataviews-view-table tr .components-checkbox-control__input:focus,.dataviews-view-table tr .components-checkbox-control__input:indeterminate{opacity:1}.dataviews-view-table tr:focus-within .components-checkbox-control__input,.dataviews-view-table tr:hover .components-checkbox-control__input{opacity:1}.dataviews-view-table tr.is-selected{background-color:rgba(var(--wp-admin-theme-color--rgb),.04);color:#757575}.dataviews-view-table tr.is-selected:hover{background-color:rgba(var(--wp-admin-theme-color--rgb),.08)}.dataviews-view-table thead tr{border:0}.dataviews-view-table thead th{background-color:#fff;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:11px;font-weight:500;padding-bottom:8px;padding-left:4px;padding-top:8px;position:sticky;text-transform:uppercase;top:-1px;z-index:1}.dataviews-view-table tbody td{vertical-align:top}.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper{align-items:center;display:flex;min-height:32px}.dataviews-view-table .dataviews-view-table-header-button{font-size:11px;font-weight:500;padding:4px 8px;text-transform:uppercase}.dataviews-view-table .dataviews-view-table-header-button:not(:hover){color:#1e1e1e}.dataviews-view-table .dataviews-view-table-header-button span{speak:none}.dataviews-view-table .dataviews-view-table-header-button span:empty{display:none}.dataviews-view-table .dataviews-view-table-header{padding-left:4px}.dataviews-view-table .dataviews-view-table__actions-column{width:1%}.dataviews-view-grid__primary-field,.dataviews-view-list__primary-field,.dataviews-view-table__primary-field{color:#1e1e1e;display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.dataviews-view-grid__primary-field a,.dataviews-view-list__primary-field a,.dataviews-view-table__primary-field a{color:inherit;display:block;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:100%}.dataviews-view-grid__primary-field a:hover,.dataviews-view-list__primary-field a:hover,.dataviews-view-table__primary-field a:hover{color:#1e1e1e}.dataviews-view-grid__primary-field button.components-button.is-link,.dataviews-view-list__primary-field button.components-button.is-link,.dataviews-view-table__primary-field button.components-button.is-link{color:inherit;display:block;font-weight:inherit;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:100%}.dataviews-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-bottom:24px;padding:0 32px}@media (min-width:1080px){.dataviews-view-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (min-width:1440px){.dataviews-view-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}.dataviews-view-grid .dataviews-view-grid__card{border:1px solid #e0e0e0;border-radius:4px;height:100%;justify-content:flex-start}.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-actions{padding:0 4px}.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field{min-height:40px}.dataviews-view-grid .dataviews-view-grid__media{aspect-ratio:1/1;background-color:#f0f0f0;border-bottom:1px solid #e0e0e0;border-radius:3px 3px 0 0;min-height:200px;width:100%}.dataviews-view-grid .dataviews-view-grid__media img{height:100%;object-fit:cover;width:100%}.dataviews-view-grid .dataviews-view-grid__primary-field{padding:8px}.dataviews-view-grid .dataviews-view-grid__fields{font-size:12px;line-height:16px;position:relative}.dataviews-view-grid .dataviews-view-grid__fields:not(:empty){padding:0 12px 12px}.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-value{color:#757575}.dataviews-view-list{margin:0;padding:8px}.dataviews-view-list li{margin:0}.dataviews-view-list li .dataviews-view-list__item-wrapper{border-radius:4px;padding-right:24px;position:relative}.dataviews-view-list li .dataviews-view-list__item-wrapper:after{background:#f0f0f0;content:"";height:1px;left:24px;position:absolute;right:24px;top:100%}.dataviews-view-list li:not(.is-selected):hover,.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields,.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field{color:var(--wp-admin-theme-color)}.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper{background-color:var(--wp-admin-theme-color);color:#fff}.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .components-button,.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .components-button,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field{color:#fff}.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper:after,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper:after{background:transparent}.dataviews-view-list .dataviews-view-list__item{cursor:pointer;padding:12px 0 12px 24px;width:100%}.dataviews-view-list .dataviews-view-list__item:focus:before{border-radius:4px;bottom:-1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:-1px;position:absolute;right:-1px;top:-1px;z-index:-1}.dataviews-view-list .dataviews-view-list__item h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataviews-view-list .dataviews-view-list__media-wrapper{background-color:#f0f0f0;border-radius:4px;flex-shrink:0;height:32px;overflow:hidden;position:relative;width:32px}.dataviews-view-list .dataviews-view-list__media-wrapper img{height:100%;object-fit:cover;width:100%}.dataviews-view-list .dataviews-view-list__media-wrapper:after{border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.dataviews-view-list .dataviews-view-list__media-placeholder{background-color:#e0e0e0;height:32px;min-width:32px}.dataviews-view-list .dataviews-view-list__fields{color:#757575;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field{margin-right:12px}.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:last-child{margin-right:0}.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:empty{display:none}.dataviews-view-list+.dataviews-pagination{justify-content:space-between}.dataviews-view-list .dataviews-view-list__details-button{align-self:center;opacity:0}.dataviews-view-list li.is-selected .dataviews-view-list__details-button,.dataviews-view-list li:focus-within .dataviews-view-list__details-button,.dataviews-view-list li:hover .dataviews-view-list__details-button{opacity:1}.dataviews-view-list li.is-selected .dataviews-view-list__details-button:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) currentColor}.dataviews-action-modal{z-index:1000001}.dataviews-loading,.dataviews-no-results{padding:0 32px}.dataviews-view-table-selection-checkbox label{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.dataviews-filters__custom-menu-radio-item-prefix{display:block;width:24px}.dataviews-bulk-edit-button.components-button{flex-shrink:0}.edit-site-custom-template-modal__contents-wrapper{height:100%;justify-content:flex-start!important}.edit-site-custom-template-modal__contents-wrapper>*{width:100%}.edit-site-custom-template-modal__contents-wrapper__suggestions_list{margin-left:-12px;margin-right:-12px;width:calc(100% + 24px)}.edit-site-custom-template-modal__contents>.components-button{height:auto;justify-content:center}.edit-site-custom-template-modal .components-search-control input[type=search].components-search-control__input{background:#fff;border:1px solid #ddd}.edit-site-custom-template-modal .components-search-control input[type=search].components-search-control__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color)}@media (min-width:782px){.edit-site-custom-template-modal{width:456px}}@media (min-width:600px){.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list{max-height:224px;overflow-y:auto}}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item{display:block;height:auto;overflow-wrap:break-word;padding:8px 12px;text-align:left;white-space:pre-wrap;width:100%}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item mark{background:none;font-weight:700}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04)}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:hover *,.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:hover mark{color:var(--wp-admin-theme-color)}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:focus{background-color:#f0f0f0}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color) inset}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item__info,.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item__title{display:block;overflow:hidden;text-overflow:ellipsis}.edit-site-custom-template-modal .edit-site-custom-template-modal__suggestions_list__list-item__info{color:#757575;word-break:break-all}.edit-site-custom-template-modal__no-results{border:1px solid #ccc;border-radius:2px;padding:16px}.edit-site-custom-generic-template__modal .components-modal__header{border-bottom:none}.edit-site-custom-generic-template__modal .components-modal__content:before{margin-bottom:4px}.edit-site-template-actions-loading-screen-modal{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:transparent}.edit-site-template-actions-loading-screen-modal.is-full-screen{background-color:#fff;box-shadow:0 0 0 transparent;min-height:100%;min-width:100%}.edit-site-template-actions-loading-screen-modal__content{align-items:center;display:flex;height:100%;justify-content:center;left:50%;position:absolute;transform:translateX(-50%)}.edit-site-add-new-template__modal{margin-top:64px;max-height:calc(100% - 128px);max-width:832px;width:calc(100% - 64px)}@media (min-width:960px){.edit-site-add-new-template__modal{width:calc(100% - 128px)}}.edit-site-add-new-template__modal .edit-site-add-new-template__custom-template-button svg,.edit-site-add-new-template__modal .edit-site-add-new-template__template-button svg{fill:var(--wp-admin-theme-color)}.edit-site-add-new-template__modal .edit-site-add-new-template__custom-template-button .edit-site-add-new-template__template-name{align-items:flex-start;flex-grow:1}.edit-site-add-new-template__modal .edit-site-add-new-template__template-icon{background:rgba(var(--wp-admin-theme-color--rgb),.04);border-radius:100%;max-height:40px;max-width:40px;padding:8px}.edit-site-add-new-template__template-list__contents>.components-button,.edit-site-custom-template-modal__contents>.components-button{border:1px solid #ddd;border-radius:2px;display:flex;flex-direction:column;justify-content:center;outline:1px solid transparent;padding:32px}.edit-site-add-new-template__template-list__contents>.components-button span:first-child,.edit-site-custom-template-modal__contents>.components-button span:first-child{color:#1e1e1e}.edit-site-add-new-template__template-list__contents>.components-button span,.edit-site-custom-template-modal__contents>.components-button span{color:#757575}.edit-site-add-new-template__template-list__contents>.components-button:hover,.edit-site-custom-template-modal__contents>.components-button:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04);border-color:transparent;color:var(--wp-admin-theme-color-darker-10)}.edit-site-add-new-template__template-list__contents>.components-button:hover span,.edit-site-custom-template-modal__contents>.components-button:hover span{color:var(--wp-admin-theme-color)}.edit-site-add-new-template__template-list__contents>.components-button:focus,.edit-site-custom-template-modal__contents>.components-button:focus{border-color:transparent;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid transparent}.edit-site-add-new-template__template-list__contents>.components-button:focus span:first-child,.edit-site-custom-template-modal__contents>.components-button:focus span:first-child{color:var(--wp-admin-theme-color)}.edit-site-add-new-template__template-list__contents .edit-site-add-new-template__custom-template-button,.edit-site-add-new-template__template-list__contents .edit-site-add-new-template__template-list__prompt,.edit-site-custom-template-modal__contents .edit-site-add-new-template__custom-template-button,.edit-site-custom-template-modal__contents .edit-site-add-new-template__template-list__prompt{grid-column-end:4;grid-column-start:1}.edit-site-add-new-template__template-list__contents>.components-button{align-items:flex-start;height:100%;text-align:start}.edit-site-block-editor__editor-styles-wrapper .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;padding:6px 12px}.edit-site-block-editor__editor-styles-wrapper .components-button.has-icon,.edit-site-block-editor__editor-styles-wrapper .components-button.is-tertiary{padding:6px}.edit-site-editor-canvas__block-list.is-navigation-block{padding:24px}.edit-site-visual-editor{align-items:center;background-color:#1e1e1e;display:block;height:100%;overflow:hidden;position:relative}.edit-site-visual-editor iframe{background:#fff;display:block;height:100%;width:100%}.edit-site-visual-editor .edit-site-visual-editor__editor-canvas.is-focused{outline:calc(var(--wp-admin-border-width-focus)*2) solid var(--wp-admin-theme-color);outline-offset:calc(var(--wp-admin-border-width-focus)*-2)}.edit-site-layout.is-full-canvas .edit-site-visual-editor.is-focus-mode{padding:48px}.edit-site-visual-editor.is-focus-mode .edit-site-visual-editor__editor-canvas{border-radius:2px;max-height:100%}.edit-site-visual-editor.is-focus-mode .components-resizable-box__container{overflow:visible}.edit-site-visual-editor .components-resizable-box__container{margin:0 auto;overflow:auto}.edit-site-visual-editor.is-view-mode{box-shadow:0 20px 25px -5px rgba(0,0,0,.8),0 8px 10px -6px rgba(0,0,0,.8)}.edit-site-visual-editor__back-button{color:#fff;left:8px;position:absolute;top:8px}.edit-site-visual-editor__back-button:active:not([aria-disabled=true]),.edit-site-visual-editor__back-button:focus:not([aria-disabled=true]),.edit-site-visual-editor__back-button:hover{color:#f0f0f0}.is-distraction-free .edit-site-visual-editor__back-button{display:none}.resizable-editor__drag-handle{-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:2px;bottom:0;cursor:ew-resize;margin:auto 0;outline:none;padding:0;position:absolute;top:0;width:12px}.resizable-editor__drag-handle.is-variation-default{height:100px}.resizable-editor__drag-handle.is-variation-separator{height:100%;right:0;width:24px}.resizable-editor__drag-handle.is-variation-separator:after{background:transparent;border-radius:0;left:50%;right:0;transform:translateX(-1px);transition:all .2s ease;transition-delay:.1s;width:2px}@media (prefers-reduced-motion:reduce){.resizable-editor__drag-handle.is-variation-separator:after{animation-delay:0s;animation-duration:1ms;transition-delay:0s;transition-duration:0s}}.resizable-editor__drag-handle:after{background:#949494;border-radius:2px;bottom:24px;content:"";left:4px;position:absolute;right:0;top:24px;width:4px}.resizable-editor__drag-handle.is-left{left:-16px}.resizable-editor__drag-handle.is-right{right:-16px}.resizable-editor__drag-handle:active,.resizable-editor__drag-handle:hover{opacity:1}.resizable-editor__drag-handle:active.is-variation-default:after,.resizable-editor__drag-handle:hover.is-variation-default:after{background:#ccc}.resizable-editor__drag-handle:active.is-variation-separator:after,.resizable-editor__drag-handle:hover.is-variation-separator:after{background:var(--wp-admin-theme-color)}.resizable-editor__drag-handle:focus:after{box-shadow:0 0 0 1px #2f2f2f,0 0 0 calc(var(--wp-admin-border-width-focus) + 1px) var(--wp-admin-theme-color)}.resizable-editor__drag-handle.is-variation-separator:focus:after{border-radius:2px;box-shadow:inset 0 0 0 2px var(--wp-admin-theme-color)}.edit-site-canvas-loader{align-items:center;animation:edit-site-canvas-loader__fade-in-animation .5s ease .2s;animation-fill-mode:forwards;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;width:100%}@media (prefers-reduced-motion:reduce){.edit-site-canvas-loader{animation-delay:0s;animation-duration:1ms}}.edit-site-canvas-loader>div{width:160px}@keyframes edit-site-canvas-loader__fade-in-animation{0%{opacity:0}to{opacity:1}}.edit-site-code-editor{background-color:#fff;min-height:100%;position:relative;width:100%}.edit-site-code-editor__body{margin-left:auto;margin-right:auto;max-width:1080px;padding:12px;width:100%}@media (min-width:960px){.edit-site-code-editor__body{padding:24px}}.edit-site-code-editor__toolbar{background:hsla(0,0%,100%,.8);display:flex;left:0;padding:4px 12px;position:sticky;right:0;top:0;z-index:1}@media (min-width:600px){.edit-site-code-editor__toolbar{padding:12px}}@media (min-width:960px){.edit-site-code-editor__toolbar{padding:12px 24px}}.edit-site-code-editor__toolbar h2{color:#1e1e1e;font-size:13px;line-height:36px;margin:0 auto 0 0}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{border:1px solid #949494;border-radius:0;box-shadow:none;display:block;font-family:Menlo,Consolas,monaco,monospace;font-size:16px!important;line-height:2.4;margin:0;min-height:200px;overflow:hidden;padding:16px;resize:none;transition:border .1s ease-out,box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area{font-size:15px!important;padding:24px}}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);position:relative}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area::-webkit-input-placeholder{color:rgba(30,30,30,.62)}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-input-placeholder{color:rgba(30,30,30,.62)}.edit-site-global-styles-preview{align-items:center;cursor:pointer;display:flex;justify-content:center;line-height:1}.edit-site-global-styles-preview__iframe{display:block;max-width:100%}.edit-site-typography-preview{align-items:center;background:#f0f0f0;border-radius:2px;display:flex;justify-content:center;margin-bottom:16px;min-height:100px;overflow:hidden}.edit-site-typography-panel__full-width-control{grid-column:1/-1;max-width:100%}.edit-site-global-styles-screen-css,.edit-site-global-styles-screen-typography{margin:16px}.edit-site-global-styles-screen-typography__indicator{align-items:center;border-radius:2px;display:flex!important;font-size:14px;height:24px;justify-content:center;width:24px}.edit-site-global-styles-screen-typography__font-variants-count{color:#757575}.edit-site-global-styles-screen-colors{margin:16px}.edit-site-global-styles-screen-colors .color-block-support-panel{border-top:none;padding-left:0;padding-right:0}.edit-site-global-styles-header__description{padding:0 16px}.edit-site-block-types-search{margin-bottom:8px;padding:0 16px}.edit-site-global-styles-header{margin-bottom:0!important}.edit-site-global-styles-subtitle{font-size:11px!important;font-weight:500!important;margin-bottom:0!important;text-transform:uppercase}.edit-site-global-styles-section-title{color:#2f2f2f;font-weight:600;line-height:1.2;margin:0;padding:16px 16px 0}.edit-site-global-styles-variations_item{border-radius:2px;box-sizing:border-box}.edit-site-global-styles-variations_item .edit-site-global-styles-variations_item-preview{border-radius:2px;box-shadow:0 0 0 1px #e0e0e0;outline:1px solid transparent;padding:2px}.edit-site-global-styles-variations_item.is-active .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px #1e1e1e;outline-width:3px}.edit-site-global-styles-variations_item:hover .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.edit-site-global-styles-variations_item:focus .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-global-styles-variations_item:focus-visible{outline:3px solid transparent;outline-offset:0}.edit-site-global-styles-icon-with-current-color{fill:currentColor}.edit-site-global-styles__color-indicator-wrapper{flex-shrink:0;height:24px}.edit-site-global-styles__block-preview-panel{border:1px solid #e0e0e0;border-radius:2px;overflow:auto;position:relative;width:100%}.edit-site-global-styles-screen-css{display:flex;flex:1 1 auto;flex-direction:column}.edit-site-global-styles-screen-css .components-v-stack{flex:1 1 auto}.edit-site-global-styles-screen-css .components-v-stack .block-editor-global-styles-advanced-panel__custom-css-input,.edit-site-global-styles-screen-css .components-v-stack .block-editor-global-styles-advanced-panel__custom-css-input .components-base-control__field{display:flex;flex:1 1 auto;flex-direction:column}.edit-site-global-styles-screen-css .components-v-stack .block-editor-global-styles-advanced-panel__custom-css-input .components-base-control__field .components-textarea-control__input{direction:ltr;flex:1 1 auto}.edit-site-global-styles-screen-css-help-link{display:block;margin-top:8px}.edit-site-global-styles-screen-variations{border-top:1px solid #ddd;margin-top:16px}.edit-site-global-styles-screen-variations>*{margin:24px 16px}.edit-site-global-styles-sidebar__navigator-screen{display:flex;flex-direction:column}.edit-site-global-styles-screen-root.edit-site-global-styles-screen-root,.edit-site-global-styles-screen-style-variations.edit-site-global-styles-screen-style-variations{background:unset;color:inherit}.edit-site-global-styles-sidebar__panel .block-editor-block-icon svg{fill:currentColor}.edit-site-global-styles-screen-revisions__revisions-list{flex-grow:1;list-style:none;margin:0 16px 16px}.edit-site-global-styles-screen-revisions__revisions-list li{margin-bottom:0}.edit-site-global-styles-screen-revisions__revision-item{cursor:pointer;display:flex;flex-direction:column;position:relative}.edit-site-global-styles-screen-revisions__revision-item:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04)}.edit-site-global-styles-screen-revisions__revision-item:hover .edit-site-global-styles-screen-revisions__date{color:var(--wp-admin-theme-color)}.edit-site-global-styles-screen-revisions__revision-item:after,.edit-site-global-styles-screen-revisions__revision-item:before{content:"\a";display:block;position:absolute}.edit-site-global-styles-screen-revisions__revision-item:before{background:#ddd;border:4px solid transparent;border-radius:50%;height:8px;left:17px;top:18px;transform:translate(-50%,-50%);width:8px;z-index:1}.edit-site-global-styles-screen-revisions__revision-item.is-selected{border-radius:2px;outline:3px solid transparent;outline-offset:-2px}.edit-site-global-styles-screen-revisions__revision-item.is-selected:before{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba))}.edit-site-global-styles-screen-revisions__revision-item:after{border:.5px solid #ddd;height:100%;left:16px;top:0;width:0}.edit-site-global-styles-screen-revisions__revision-item:first-child:after{top:18px}.edit-site-global-styles-screen-revisions__revision-item:last-child:after{height:18px}.edit-site-global-styles-screen-revisions__revision-item .edit-site-global-styles-screen-revisions__revision-button{display:block;height:auto;outline-offset:-2px;padding:12px 12px 8px 40px;position:relative;width:100%;z-index:1}.is-selected{background:rgba(var(--wp-admin-theme-color--rgb),.04);color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba))}.is-selected .edit-site-global-styles-screen-revisions__revision-button{opacity:1}.is-selected .edit-site-global-styles-screen-revisions__date{color:var(--wp-admin-theme-color)}.edit-site-global-styles-screen-revisions__applied-text,.edit-site-global-styles-screen-revisions__apply-button.is-primary{align-self:flex-start;margin:0 12px 12px 40px}.edit-site-global-styles-screen-revisions__applied-text{color:#949494;font-size:12px;font-style:italic}.edit-site-global-styles-screen-revisions__description{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.edit-site-global-styles-screen-revisions__description .edit-site-global-styles-screen-revisions__date{font-size:12px;font-weight:600;text-transform:uppercase}.edit-site-global-styles-screen-revisions__changes,.edit-site-global-styles-screen-revisions__meta{align-items:flex-start;color:#949494;display:flex;font-size:12px;justify-content:start;text-align:left;width:100%}.edit-site-global-styles-screen-revisions__changes img,.edit-site-global-styles-screen-revisions__meta img{border-radius:100%;height:16px;margin-right:8px;width:16px}.edit-site-global-styles-screen-revisions__loading{margin:24px auto!important}.edit-site-global-styles-screen-revisions__changes{color:#1e1e1e;line-height:1.4;margin-bottom:4px;text-align:left}.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination{gap:2px;justify-content:space-between}.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .edit-site-pagination__total{height:1px;left:-1000px;margin:-1px;overflow:hidden;position:absolute}.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-text{font-size:12px;will-change:opacity}.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-button.is-tertiary{color:#1e1e1e;font-size:28px;font-weight:200;line-height:1.2;margin-bottom:4px}.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-button.is-tertiary:disabled{color:#949494}.edit-site-global-styles-screen-revisions__pagination.edit-site-global-styles-screen-revisions__pagination .components-button.is-tertiary:hover{background:transparent}.edit-site-global-styles-screen-revisions__footer{background:#fff;border-top:1px solid #ddd;bottom:0;height:56px;min-width:100%;padding:12px;position:sticky;z-index:1}.edit-site-header-edit-mode{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;box-sizing:border-box;color:#1e1e1e;display:flex;height:60px;justify-content:space-between;padding-left:60px;width:100%}.edit-site-header-edit-mode .edit-site-header-edit-mode__start{align-items:center;border:none;display:flex;flex-shrink:2;height:100%;overflow:hidden}@media (min-width:782px){.edit-site-header-edit-mode .edit-site-header-edit-mode__start{padding-right:2px}}.edit-site-header-edit-mode .edit-site-header-edit-mode__end{display:flex;justify-content:flex-end}.edit-site-header-edit-mode .edit-site-header-edit-mode__center{align-items:center;display:flex;flex-grow:1;height:100%;justify-content:center;margin:0 16px;min-width:0}.edit-site-header-edit-mode__toolbar{align-items:center;display:flex;gap:8px;padding-left:16px}@media (min-width:782px){.edit-site-header-edit-mode__toolbar{padding-left:20px}}@media (min-width:1280px){.edit-site-header-edit-mode__toolbar{padding-right:8px}}.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle svg{transition:transform .2s cubic-bezier(.165,.84,.44,1)}@media (prefers-reduced-motion:reduce){.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle svg{transition-delay:0s;transition-duration:0s}}.edit-site-header-edit-mode__toolbar .edit-site-header-edit-mode__inserter-toggle.is-pressed svg{transform:rotate(45deg)}.edit-site-header-edit-mode__actions{align-items:center;display:inline-flex;gap:8px;padding-right:8px}.edit-site-header-edit-mode__preview-options{opacity:1;transition:opacity .3s}.edit-site-header-edit-mode__preview-options.is-zoomed-out{opacity:0}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon{width:auto}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon svg{display:none}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon:after{content:attr(aria-label)}.edit-site-header-edit-mode.show-icon-labels .components-button.has-icon[aria-disabled=true]{background-color:transparent}.edit-site-header-edit-mode.show-icon-labels .is-tertiary:active{background-color:transparent;box-shadow:0 0 0 1.5px var(--wp-admin-theme-color)}.edit-site-header-edit-mode.show-icon-labels .edit-site-save-button__button{padding-left:6px;padding-right:6px}.edit-site-header-edit-mode.show-icon-labels .edit-site-document-actions__get-info.edit-site-document-actions__get-info.edit-site-document-actions__get-info:after{content:none}.edit-site-header-edit-mode.show-icon-labels .edit-site-document-actions__get-info.edit-site-document-actions__get-info.edit-site-document-actions__get-info,.edit-site-header-edit-mode.show-icon-labels .edit-site-header-edit-mode__inserter-toggle.edit-site-header-edit-mode__inserter-toggle{height:36px;padding:0 8px}.edit-site-header-edit-mode.show-icon-labels .block-editor-block-mover{border-left:none}.edit-site-header-edit-mode.show-icon-labels .block-editor-block-mover:before{background-color:#ddd;content:"";margin-bottom:12px;margin-left:8px;margin-top:12px;width:1px}.edit-site-header-edit-mode.show-icon-labels .block-editor-block-mover .block-editor-block-mover__move-button-container:before{background:#ddd;left:calc(50% + 1px);width:calc(100% - 24px)}.has-fixed-toolbar .selected-block-tools-wrapper{overflow-x:scroll}.has-fixed-toolbar .selected-block-tools-wrapper .block-editor-block-contextual-toolbar{border-bottom:0}.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar-group{border-right:none}.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar-group:after,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar:after{background-color:#ddd;content:"";margin-bottom:12px;margin-left:8px;margin-top:12px;width:1px}.has-fixed-toolbar .edit-site-header-edit-mode__center.is-collapsed,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar .components-toolbar-group.components-toolbar-group:after,.has-fixed-toolbar .selected-block-tools-wrapper .components-toolbar-group .components-toolbar-group.components-toolbar-group:after,.has-fixed-toolbar .selected-block-tools-wrapper.is-collapsed{display:none}.edit-site-header-edit-mode__block-tools-toggle{margin-left:2px}.edit-site-list-header{align-items:center;box-sizing:border-box;display:flex;height:60px;justify-content:flex-end;padding-right:16px;position:relative;width:100%}body.is-fullscreen-mode .edit-site-list-header{padding-left:60px;transition:padding-left 20ms linear;transition-delay:80ms}@media (prefers-reduced-motion:reduce){body.is-fullscreen-mode .edit-site-list-header{transition-delay:0s;transition-duration:0s}}.edit-site-list-header .edit-site-list-header__title{font-size:20px;left:0;margin:0;padding:0;position:absolute;text-align:center;width:100%}.edit-site-list-header__right{position:relative}.edit-site .edit-site-list{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px rgba(0,0,0,.8),0 8px 10px -6px rgba(0,0,0,.8);flex-grow:1}.edit-site .edit-site-list .interface-interface-skeleton__editor{min-width:100%}@media (min-width:782px){.edit-site .edit-site-list .interface-interface-skeleton__editor{min-width:0}}.edit-site .edit-site-list .interface-interface-skeleton__content{align-items:center;background:#fff;padding:16px}@media (min-width:782px){.edit-site .edit-site-list .interface-interface-skeleton__content{padding:72px}}.edit-site-list-table{border:1px solid #ddd;border-radius:2px;border-spacing:0;margin:0 auto;max-width:960px;min-width:100%;overflow:hidden}.edit-site-list-table tr{align-items:center;border-top:1px solid #f0f0f0;box-sizing:border-box;display:flex;margin:0;padding:16px}.edit-site-list-table tr:first-child{border-top:0}@media (min-width:782px){.edit-site-list-table tr{padding:24px 32px}}.edit-site-list-table tr .edit-site-list-table-column:first-child{padding-right:24px;width:calc(60% - 18px)}.edit-site-list-table tr .edit-site-list-table-column:first-child a{display:inline-block;font-weight:500;margin-bottom:4px;text-decoration:none}.edit-site-list-table tr .edit-site-list-table-column:nth-child(2){width:calc(40% - 18px);word-break:break-word}.edit-site-list-table tr .edit-site-list-table-column:nth-child(3){flex-shrink:0;min-width:36px}.edit-site-list-table tr.edit-site-list-table-head{border-bottom:1px solid #ddd;border-top:none;color:#1e1e1e;font-size:16px;font-weight:600;text-align:left}.edit-site-list-table tr.edit-site-list-table-head th{font-weight:inherit}@media (min-width:782px){.edit-site-list.is-navigation-open .components-snackbar-list{margin-left:360px}}.edit-site-list__rename-modal{z-index:1000001}@media (min-width:782px){.edit-site-list__rename-modal .components-base-control{width:320px}}.edit-site-template__actions button:not(:last-child){margin-right:8px}.edit-site-list-added-by__icon{display:flex;flex-shrink:0;height:24px;width:24px}.edit-site-list-added-by__icon svg{fill:currentColor}.edit-site-list-added-by__avatar{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;overflow:hidden;width:24px}.edit-site-list-added-by__avatar img{border-radius:100%;height:20px;object-fit:cover;opacity:0;transition:opacity .1s linear;width:20px}@media (prefers-reduced-motion:reduce){.edit-site-list-added-by__avatar img{transition-delay:0s;transition-duration:0s}}.edit-site-list-added-by__avatar.is-loaded img{opacity:1}.edit-site-list-added-by__customized-info{color:#757575;display:block}.edit-site-page{background:#fff;color:#2f2f2f;height:100%}.edit-site-page-header{background:#fff;border-bottom:1px solid #f0f0f0;min-height:72px;padding:16px 32px;position:sticky;top:0;z-index:2}.edit-site-page-header .components-text{color:#2f2f2f}.edit-site-page-header .components-heading{color:#1e1e1e}.edit-site-page-header .edit-site-page-header__sub-title{color:#757575;margin-top:8px}.edit-site-page-content{display:flex;flex-flow:column;height:100%;overflow:auto;position:relative;z-index:1}.edit-site-page-pages__media-wrapper{background-color:#f0f0f0;border-radius:4px;display:block;height:40px;overflow:hidden;position:relative;width:40px}.edit-site-page-pages__media-wrapper .edit-site-page-pages__featured-image{height:100%;object-fit:cover;width:100%}.edit-site-page-pages__media-wrapper:after{border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.page-pages-preview-field__button{background-color:unset;border:none;border-radius:3px 3px 0 0;box-shadow:none;box-sizing:border-box;cursor:pointer;height:100%;overflow:hidden;padding:0;width:100%}.page-pages-preview-field__button:focus-visible{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.edit-site-patterns{background:#1e1e1e;border-left:1px solid #2f2f2f;border-radius:0;margin:60px 0 0;min-height:100%;overflow-x:auto;padding:0}.edit-site-patterns .components-base-control{width:100%}@media (min-width:782px){.edit-site-patterns .components-base-control{width:auto}}.edit-site-patterns .components-text{color:#949494}.edit-site-patterns .components-heading{color:#e0e0e0}@media (min-width:782px){.edit-site-patterns{margin:0}}.edit-site-patterns .edit-site-patterns__search-block{flex-grow:1;min-width:-moz-fit-content;min-width:fit-content}.edit-site-patterns .edit-site-patterns__search input[type=search]{background:#2f2f2f;color:#e0e0e0;height:40px}.edit-site-patterns .edit-site-patterns__search input[type=search]:focus{background:#2f2f2f}.edit-site-patterns .edit-site-patterns__search svg{fill:#949494}.edit-site-patterns .edit-site-patterns__sync-status-filter{background:#2f2f2f;border:none;height:40px;max-width:100%;min-width:max-content;width:100%}@media (min-width:782px){.edit-site-patterns .edit-site-patterns__sync-status-filter{width:300px}}.edit-site-patterns .edit-site-patterns__sync-status-filter-option:not([aria-checked=true]){color:#949494}.edit-site-patterns .edit-site-patterns__sync-status-filter-option:active{background:#757575;color:#f0f0f0}.edit-site-patterns__header{background:#1e1e1e;padding:32px 32px 16px;position:sticky;top:0;z-index:2}.edit-site-patterns__header .edit-site-patterns__button{color:#949494}.edit-site-patterns__section{flex:1;padding:24px 32px}.edit-site-patterns__section-header .screen-reader-shortcut:focus{top:0}.edit-site-patterns__grid{display:grid;gap:32px;grid-template-columns:1fr;margin-bottom:0;margin-top:0}@media (min-width:960px){.edit-site-patterns__grid{grid-template-columns:1fr 1fr}}@media (min-width:1440px){.edit-site-patterns__grid{grid-template-columns:1fr 1fr 1fr}}@media (min-width:1920px){.edit-site-patterns__grid{grid-template-columns:1fr 1fr 1fr 1fr}}.edit-site-patterns__grid .edit-site-patterns__pattern{break-inside:avoid-column;display:flex;flex-direction:column}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview{background-color:unset;border:none;border-radius:4px;box-shadow:none;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:0}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview:focus{box-shadow:inset 0 0 0 0 #fff,0 0 0 2px var(--wp-admin-theme-color);outline:2px solid transparent}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview.is-inactive{cursor:default}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__preview.is-inactive:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #2f2f2f;opacity:.8}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__button,.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__footer{color:#949494}.edit-site-patterns__grid .edit-site-patterns__pattern .edit-site-patterns__dropdown{flex-shrink:0}.edit-site-patterns__grid .edit-site-patterns__pattern.is-placeholder .edit-site-patterns__preview{align-items:center;border:1px dashed #2f2f2f;color:#949494;display:flex;justify-content:center;min-height:64px}.edit-site-patterns__grid .edit-site-patterns__pattern.is-placeholder .edit-site-patterns__preview:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-patterns__grid .edit-site-patterns__preview{flex:0 1 auto;margin-bottom:12px}.edit-site-patterns__load-more{align-self:center}.edit-site-patterns__pattern-title{color:#e0e0e0}.edit-site-patterns__pattern-title .is-link{color:#e0e0e0;text-decoration:none}.edit-site-patterns__pattern-title .is-link:focus,.edit-site-patterns__pattern-title .is-link:hover{color:#fff}.edit-site-patterns__pattern-title .edit-site-patterns__pattern-icon{fill:#fff;background:var(--wp-block-synced-color);border-radius:4px}.edit-site-patterns__pattern-title .edit-site-patterns__pattern-lock-icon{fill:currentcolor}.edit-site-patterns__no-results{color:#949494}.edit-site-patterns__delete-modal{width:384px}.edit-site-patterns__pagination{background:#1e1e1e;border-top:1px solid #2f2f2f;bottom:0;color:#f0f0f0;padding:24px 32px;position:sticky;z-index:2}.edit-site-patterns__pagination .components-button.is-tertiary{background-color:#2f2f2f;color:#f0f0f0}.edit-site-patterns__pagination .components-button.is-tertiary:disabled{background:none;color:#949494}.edit-site-patterns__pagination .components-button.is-tertiary:hover:not(:disabled){background-color:#757575}.edit-site-page-patterns-dataviews .page-patterns-preview-field{border-radius:3px 3px 0 0;display:flex;flex-direction:column;height:100%}.edit-site-page-patterns-dataviews .page-patterns-preview-field.is-viewtype-grid .block-editor-block-preview__container{border-radius:3px 3px 0 0;height:100%}.edit-site-page-patterns-dataviews .page-patterns-preview-field .page-patterns-preview-field__button{background-color:unset;border:none;border-radius:3px 3px 0 0;box-shadow:none;box-sizing:border-box;cursor:pointer;height:100%;overflow:hidden;padding:0}.edit-site-page-patterns-dataviews .page-patterns-preview-field .page-patterns-preview-field__button:focus-visible{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.edit-site-page-patterns-dataviews .edit-site-patterns__pattern-icon{fill:var(--wp-block-synced-color);flex-shrink:0}.edit-site-page-patterns-dataviews .edit-site-patterns__pattern-lock-icon{min-width:min-content}.edit-site-page-patterns-dataviews .edit-site-patterns__section-header{border-bottom:1px solid #f0f0f0;min-height:72px;padding:16px 32px;position:sticky;top:0;z-index:2}.edit-site-page-patterns-dataviews .edit-site-patterns__pattern-title{color:inherit;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.dataviews-action-modal__duplicate-pattern [role=dialog]>[role=document]{width:350px}.dataviews-action-modal__duplicate-pattern .patterns-menu-items__convert-modal-categories{position:relative}.dataviews-action-modal__duplicate-pattern .components-form-token-field__suggestions-list:not(:empty){background-color:#fff;border:1px solid var(--wp-admin-theme-color);border-bottom-left-radius:2px;border-bottom-right-radius:2px;box-shadow:0 0 .5px .5px var(--wp-admin-theme-color);box-sizing:border-box;left:-1px;max-height:96px;min-width:auto;position:absolute;width:calc(100% + 2px);z-index:1}@media (min-width:600px){.dataviews-action-modal__duplicate-template-part .components-modal__frame{max-width:500px}}.page-templates-preview-field{border-radius:3px 3px 0 0;display:flex;flex-direction:column;height:100%}.page-templates-preview-field .page-templates-preview-field__button{background-color:unset;border:none;border-radius:3px;box-shadow:none;box-sizing:border-box;cursor:pointer;height:100%;overflow:hidden;padding:0}.page-templates-preview-field .page-templates-preview-field__button:focus-visible{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.page-templates-preview-field.is-viewtype-list .block-editor-block-preview__container{height:120px}.page-templates-preview-field.is-viewtype-grid .block-editor-block-preview__container{height:auto}.page-templates-preview-field.is-viewtype-grid .page-templates-preview-field__button{border-radius:3px 3px 0 0}.page-templates-description{white-space:normal}.edit-site-table-wrapper{padding:32px;width:100%}.edit-site-table{border-collapse:collapse;border-color:inherit;position:relative;text-indent:0;width:100%}.edit-site-table a{text-decoration:none}.edit-site-table th{color:#757575;font-weight:400;padding:0 16px 16px;text-align:left}.edit-site-table td{padding:16px}.edit-site-table td,.edit-site-table th{vertical-align:center}.edit-site-table td:first-child,.edit-site-table th:first-child{padding-left:0}.edit-site-table td:last-child,.edit-site-table th:last-child{padding-right:0;text-align:right}.edit-site-table tr{border-bottom:1px solid #f0f0f0}.edit-site-sidebar-edit-mode{width:280px}.edit-site-sidebar-edit-mode>.components-panel{border-left:0;border-right:0;margin-bottom:-1px;margin-top:-1px}.edit-site-sidebar-edit-mode>.components-panel>.components-panel__header{background:#f0f0f0}.edit-site-sidebar-edit-mode .block-editor-block-inspector__card{margin:0}.edit-site-global-styles-sidebar{display:flex;flex-direction:column;min-height:100%}.edit-site-global-styles-sidebar__navigator-provider,.edit-site-global-styles-sidebar__panel{display:flex;flex:1;flex-direction:column}.edit-site-global-styles-sidebar__navigator-screen{flex:1}.edit-site-global-styles-sidebar .interface-complementary-area-header .components-button.has-icon{margin-left:0}.edit-site-global-styles-sidebar__reset-button.components-button{margin-left:auto}.edit-site-global-styles-sidebar .components-navigation__menu-title-heading{font-size:15.6px;font-weight:500}.edit-site-global-styles-sidebar .components-navigation__item>button span{font-weight:500}.edit-site-global-styles-sidebar .block-editor-panel-color-gradient-settings,.edit-site-typography-panel{border:0}.edit-site-global-styles-sidebar .single-column{grid-column:span 1}.edit-site-global-styles-sidebar .components-tools-panel .span-columns{grid-column:1/-1}.edit-site-global-styles-sidebar__blocks-group{border-top:1px solid #e0e0e0;padding-top:24px}.edit-site-global-styles-sidebar__blocks-group-help{padding:0 16px}.edit-site-global-styles-color-palette-panel,.edit-site-global-styles-gradient-palette-panel{padding:16px}.edit-site-global-styles-sidebar hr{margin:0}.show-icon-labels .edit-site-global-styles-sidebar__header .components-button.has-icon svg{display:none}.show-icon-labels .edit-site-global-styles-sidebar__header .components-button.has-icon:after{content:attr(aria-label);font-size:12px}.edit-site-page-panels__swap-template__confirm-modal__actions{margin-top:24px}.edit-site-change-status__content .components-popover__content{min-width:320px;padding:16px}.edit-site-change-status__content .edit-site-change-status__options .components-base-control__field>.components-v-stack{gap:8px}.edit-site-change-status__content .edit-site-change-status__options label .components-text{display:block;margin-left:26px}.edit-site-change-status__content .edit-site-change-status__password-legend{margin-bottom:8px;padding:0}.edit-site-summary-field__trigger{display:block;max-width:100%;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs{border-top:0;justify-content:flex-start;margin-top:0;padding-left:0;padding-right:16px}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs ul{display:flex}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs li{margin:0}.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs .components-button.has-icon{display:none;height:24px;margin:0 0 0 auto;min-width:24px;padding:0}@media (min-width:782px){.components-panel__header.edit-site-sidebar-edit-mode__panel-tabs .components-button.has-icon{display:flex}}.components-button.edit-site-sidebar-edit-mode__panel-tab{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-left:0;padding:3px 16px;position:relative}.components-button.edit-site-sidebar-edit-mode__panel-tab:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-button.edit-site-sidebar-edit-mode__panel-tab:after{background:var(--wp-admin-theme-color);border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-site-sidebar-edit-mode__panel-tab:after{transition-delay:0s;transition-duration:0s}}.components-button.edit-site-sidebar-edit-mode__panel-tab.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-button.edit-site-sidebar-edit-mode__panel-tab:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-site-sidebar-edit-mode__panel-tab:before{transition-delay:0s;transition-duration:0s}}.components-button.edit-site-sidebar-edit-mode__panel-tab:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.edit-site-sidebar-card{align-items:flex-start;display:flex}.edit-site-sidebar-card__content{flex-grow:1;margin-bottom:4px}.edit-site-sidebar-card__title{font-weight:500;line-height:24px}.edit-site-sidebar-card__title.edit-site-sidebar-card__title{margin:0}.edit-site-sidebar-card__description{font-size:13px}.edit-site-sidebar-card__icon{flex:0 0 24px;height:24px;margin-right:12px;width:24px}.edit-site-sidebar-card__header{display:flex;justify-content:space-between;margin:0 0 4px}.edit-site-template-card__template-areas{margin-top:16px}.edit-site-template-card__template-areas-list,.edit-site-template-card__template-areas-list>li{margin:0}.edit-site-template-card__template-areas-item{width:100%}.edit-site-template-card__template-areas-item.components-button.has-icon{padding:0}.edit-site-template-card__actions{line-height:0}.edit-site-template-card__actions>.components-button.is-small.has-icon{min-width:auto;padding:0}h3.edit-site-template-card__template-areas-title{font-weight:500;margin:0 0 8px}.edit-site-template-panel__replace-template-modal{z-index:1000001}.edit-site-template-panel__replace-template-modal__content{column-count:2;column-gap:24px}@media (min-width:782px){.edit-site-template-panel__replace-template-modal__content{column-count:3}}@media (min-width:1280px){.edit-site-template-panel__replace-template-modal__content{column-count:4}}.edit-site-editor__interface-skeleton{opacity:1;transition:opacity .1s ease-out}@media (prefers-reduced-motion:reduce){.edit-site-editor__interface-skeleton{transition-delay:0s;transition-duration:0s}}.edit-site-editor__interface-skeleton.is-loading{opacity:0}.edit-site-editor__interface-skeleton .interface-interface-skeleton__header{border:0}.edit-site-editor__toggle-save-panel{background-color:#fff;border:1px dotted #ddd;box-sizing:border-box;display:flex;justify-content:center;padding:24px;width:280px}.edit-site .components-editor-notices__snackbar{bottom:40px;left:0;padding-left:16px;padding-right:16px;position:absolute;right:0}@media (min-width:783px){.edit-site .components-editor-notices__snackbar{left:160px}}@media (min-width:783px){.auto-fold .edit-site .components-editor-notices__snackbar{left:36px}}@media (min-width:961px){.auto-fold .edit-site .components-editor-notices__snackbar{left:160px}}.folded .edit-site .components-editor-notices__snackbar{left:0}@media (min-width:783px){.folded .edit-site .components-editor-notices__snackbar{left:36px}}body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{left:0!important}.edit-site-create-template-part-modal{z-index:1000001}@media (min-width:600px){.edit-site-create-template-part-modal .components-modal__frame{max-width:500px}}.edit-site-create-template-part-modal__area-radio-group{border:1px solid #757575;border-radius:2px;width:100%}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio{display:block;height:100%;padding:12px;text-align:left;width:100%}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover{background-color:inherit;border-bottom:1px solid #757575;border-radius:0;margin:0}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover:not(:focus),.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover:not(:focus),.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:not(:focus){box-shadow:none}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover:focus,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover:focus,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:focus{border-bottom:1px solid #fff}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-primary:hover:last-of-type,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio.is-secondary:hover:last-of-type,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:last-of-type{border-bottom:none}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:not(:hover),.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio[aria-checked=true]{color:#1e1e1e;cursor:auto}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio:not(:hover) .edit-site-create-template-part-modal__option-label div,.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio[aria-checked=true] .edit-site-create-template-part-modal__option-label div{color:#949494}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio .edit-site-create-template-part-modal__option-label{padding-top:4px;white-space:normal}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio .edit-site-create-template-part-modal__option-label div{font-size:12px;padding-top:4px}.edit-site-create-template-part-modal__area-radio-group .components-button.edit-site-create-template-part-modal__area-radio .edit-site-create-template-part-modal__checkbox{margin-left:auto;min-width:24px}.edit-site-welcome-guide{width:312px}.edit-site-welcome-guide.guide-editor .edit-site-welcome-guide__image .edit-site-welcome-guide.guide-styles .edit-site-welcome-guide__image{background:#00a0d2}.edit-site-welcome-guide.guide-page .edit-site-welcome-guide__video{border-right:16px solid #3858e9;border-top:16px solid #3858e9}.edit-site-welcome-guide.guide-template .edit-site-welcome-guide__video{border-left:16px solid #3858e9;border-top:16px solid #3858e9}.edit-site-welcome-guide__image{margin:0 0 16px}.edit-site-welcome-guide__image>img{display:block;max-width:100%;object-fit:cover}.edit-site-welcome-guide__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:24px;line-height:1.4;margin:16px 0;padding:0 32px}.edit-site-welcome-guide__text{font-size:13px;line-height:1.4;margin:0 0 16px;padding:0 32px}.edit-site-welcome-guide__text img{vertical-align:bottom}.edit-site-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}.edit-site-start-template-options__modal .edit-site-start-template-options__modal__actions{background-color:#fff;border-top:1px solid #ddd;bottom:0;height:92px;margin-left:-32px;margin-right:-32px;padding-left:32px;padding-right:32px;position:absolute;width:100%;z-index:1}.edit-site-start-template-options__modal .block-editor-block-patterns-list{padding-bottom:92px}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list{column-count:2;column-gap:24px}@media (min-width:782px){.edit-site-start-template-options__modal-content .block-editor-block-patterns-list{column-count:3}}@media (min-width:1280px){.edit-site-start-template-options__modal-content .block-editor-block-patterns-list{column-count:4}}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-patterns-list__item-title{display:none}.edit-site-start-template-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__item:not(:focus):not(:hover) .block-editor-block-preview__container{box-shadow:0 0 0 1px #ddd}.edit-site-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-site-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-site-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.edit-site-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.edit-site-keyboard-shortcut-help-modal__shortcut:empty{display:none}.edit-site-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 0 0 1rem;text-align:right}.edit-site-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination+.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.edit-site-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.edit-site-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.edit-site-layout{background:#1e1e1e;color:#ccc;display:flex;flex-direction:column;height:100%}.edit-site-layout__hub{height:60px;left:0;position:fixed;top:0;width:calc(100vw - 32px);z-index:3}@media (min-width:782px){.edit-site-layout__hub{width:336px}}.edit-site-layout.is-full-canvas .edit-site-layout__hub{border-radius:0;box-shadow:none;padding-right:16px;width:100vw}@media (min-width:782px){.edit-site-layout.is-full-canvas .edit-site-layout__hub{padding-right:0;width:60px}}.edit-site-layout__header-container{z-index:4}.edit-site-layout__header{display:flex;height:60px;z-index:2}.edit-site-layout:not(.is-full-canvas) .edit-site-layout__header{position:fixed;width:100vw}.edit-site-layout__content{display:flex;flex-grow:1;height:100%}.edit-site-layout__sidebar-region{flex-shrink:0;width:100vw;z-index:1}@media (min-width:782px){.edit-site-layout__sidebar-region{width:360px}}.edit-site-layout.is-full-canvas .edit-site-layout__sidebar-region{height:100vh;left:0;position:fixed!important;top:0}.edit-site-layout__sidebar-region .edit-site-layout__sidebar{display:flex;flex-direction:column;height:100%}.edit-site-layout__sidebar-region .resizable-editor__drag-handle{right:0}.edit-site-layout__main{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.edit-site-layout__canvas-container{flex-grow:1;position:relative;z-index:2}.edit-site-layout__canvas-container.is-resizing:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:100}.edit-site-layout__canvas{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;top:0;width:100%}.edit-site-layout__canvas.is-right-aligned{justify-content:flex-end}.edit-site-layout__canvas>div{color:#1e1e1e}@media (min-width:782px){.edit-site-layout__canvas{bottom:16px;top:16px;width:calc(100% - 16px)}.edit-site-layout:not(.is-full-canvas) .edit-site-layout__canvas>div .edit-site-visual-editor__editor-canvas,.edit-site-layout:not(.is-full-canvas) .edit-site-layout__canvas>div .interface-interface-skeleton__content,.edit-site-layout__canvas>div{border-radius:8px}}.edit-site-layout.is-full-canvas .edit-site-layout__canvas{bottom:0;top:0;width:100%}.edit-site-layout.is-full-canvas .edit-site-layout__canvas>div{border-radius:0}.edit-site-layout__canvas .interface-interface-skeleton,.edit-site-template-pages-preview .interface-interface-skeleton{min-height:100%!important;position:relative!important}.edit-site-template-pages-preview{height:100%}.edit-site-layout__view-mode-toggle.components-button{align-items:center;border-bottom:1px solid transparent;border-radius:0;color:#fff;display:flex;height:60px;justify-content:center;overflow:hidden;padding:0;position:relative;width:60px}.edit-site-layout.is-full-canvas .edit-site-layout__view-mode-toggle.components-button{border-bottom-color:#e0e0e0;transition:border-bottom-color .15s ease-out .4s}.edit-site-layout__view-mode-toggle.components-button:active,.edit-site-layout__view-mode-toggle.components-button:hover{color:#fff}.edit-site-layout__view-mode-toggle.components-button:focus{box-shadow:none}.edit-site-layout__view-mode-toggle.components-button:before{border-radius:4px;bottom:9px;box-shadow:none;content:"";display:block;left:9px;position:absolute;right:9px;top:9px;transition:box-shadow .1s ease}@media (prefers-reduced-motion:reduce){.edit-site-layout__view-mode-toggle.components-button:before{transition-delay:0s;transition-duration:0s}}.edit-site-layout__view-mode-toggle.components-button:focus:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) hsla(0,0%,100%,.1),inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-layout__view-mode-toggle.components-button .edit-site-layout__view-mode-toggle-icon{align-items:center;border-radius:2px;display:flex;height:64px;justify-content:center;width:64px}.edit-site-layout__actions{background:#fff;bottom:auto;color:#1e1e1e;left:auto;position:fixed!important;right:0;top:-9999em;width:280px;z-index:100000}.edit-site-layout__actions:focus,.edit-site-layout__actions:focus-within{bottom:0;top:auto}.edit-site-layout__actions.is-entity-save-view-open:focus,.edit-site-layout__actions.is-entity-save-view-open:focus-within{top:0}@media (min-width:782px){.edit-site-layout__actions{border-left:1px solid #ddd}}.edit-site-layout.is-distraction-free .edit-site-layout__header-container{height:60px;left:0;position:absolute;right:0;top:0;width:100%;z-index:4}.edit-site-layout.is-distraction-free .edit-site-layout__header-container:focus-within{opacity:1!important}.edit-site-layout.is-distraction-free .edit-site-layout__header-container:focus-within div{transform:translateX(0) translateY(0) translateZ(0)!important}.edit-site-layout.is-distraction-free .edit-site-layout__header-container:focus-within .edit-site-layout__header{opacity:1!important}.edit-site-layout.is-distraction-free .edit-site-layout__header,.edit-site-layout.is-distraction-free .edit-site-site-hub{position:absolute;top:0;z-index:2}.edit-site-layout.is-distraction-free .edit-site-site-hub{z-index:3}.edit-site-layout.is-distraction-free .edit-site-layout__header{width:100%}.edit-site-layout__area{flex-grow:1;margin:0;overflow:hidden}@media (min-width:782px){.edit-site-layout__area{border-radius:8px;margin:16px 16px 16px 0}}.edit-site-save-hub{border-top:1px solid #2f2f2f;color:#949494;flex-shrink:0;margin:0;padding:20px 16px}.edit-site-save-hub__button{color:inherit;justify-content:center;width:100%}.edit-site-save-hub__button[aria-disabled=true]{opacity:1}.edit-site-save-hub__button[aria-disabled=true]:hover{color:inherit}.edit-site-save-hub__button:not(.is-primary).is-busy,.edit-site-save-hub__button:not(.is-primary).is-busy[aria-disabled=true]:hover{color:#1e1e1e}@media (min-width:600px){.edit-site-save-panel__modal{width:600px}}.edit-site-sidebar__content{flex-grow:1;overflow-y:auto}.edit-site-sidebar__screen-wrapper{display:flex;flex-direction:column;height:100%;padding:0 12px;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-gutter:stable;scrollbar-width:thin;will-change:transform}.edit-site-sidebar__screen-wrapper::-webkit-scrollbar{height:12px;width:12px}.edit-site-sidebar__screen-wrapper::-webkit-scrollbar-track{background-color:transparent}.edit-site-sidebar__screen-wrapper::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.edit-site-sidebar__screen-wrapper:focus-within::-webkit-scrollbar-thumb,.edit-site-sidebar__screen-wrapper:focus::-webkit-scrollbar-thumb,.edit-site-sidebar__screen-wrapper:hover::-webkit-scrollbar-thumb{background-color:#757575}.edit-site-sidebar__screen-wrapper:focus,.edit-site-sidebar__screen-wrapper:focus-within,.edit-site-sidebar__screen-wrapper:hover{scrollbar-color:#757575 transparent}@media (hover:none){.edit-site-sidebar__screen-wrapper{scrollbar-color:#757575 transparent}}.edit-site-sidebar__footer{border-top:1px solid #2f2f2f;flex-shrink:0;margin:0 16px;padding:16px 0}.edit-site-sidebar-button{color:#e0e0e0;flex-shrink:0}.edit-site-sidebar-button:focus:not(:disabled){box-shadow:none;outline:none}.edit-site-sidebar-button:focus-visible:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba));outline:3px solid transparent}.edit-site-sidebar-button:focus,.edit-site-sidebar-button:focus-visible,.edit-site-sidebar-button:hover,.edit-site-sidebar-button:not([aria-disabled=true]):active,.edit-site-sidebar-button[aria-expanded=true]{color:#f0f0f0}.edit-site-sidebar-navigation-item.components-item{border:none;border-radius:2px;color:#949494;min-height:40px;padding:8px 6px 8px 16px}.edit-site-sidebar-navigation-item.components-item:focus,.edit-site-sidebar-navigation-item.components-item:hover,.edit-site-sidebar-navigation-item.components-item[aria-current]{background:#2f2f2f;color:#e0e0e0}.edit-site-sidebar-navigation-item.components-item:focus .edit-site-sidebar-navigation-item__drilldown-indicator,.edit-site-sidebar-navigation-item.components-item:hover .edit-site-sidebar-navigation-item__drilldown-indicator,.edit-site-sidebar-navigation-item.components-item[aria-current] .edit-site-sidebar-navigation-item__drilldown-indicator{fill:#e0e0e0}.edit-site-sidebar-navigation-item.components-item[aria-current]{background:var(--wp-admin-theme-color);color:#fff}.edit-site-sidebar-navigation-item.components-item .edit-site-sidebar-navigation-item__drilldown-indicator{fill:#949494}.edit-site-sidebar-navigation-item.components-item.with-suffix{padding-right:16px}.edit-site-sidebar-navigation-screen__content .block-editor-list-view-block-select-button{cursor:grab;padding:8px 8px 8px 0}.edit-site-sidebar-navigation-screen{display:flex;flex-direction:column;overflow-x:unset!important;position:relative}.edit-site-sidebar-navigation-screen__main{flex-grow:1;margin-bottom:16px}.edit-site-sidebar-navigation-screen__main.has-footer{margin-bottom:0}.edit-site-sidebar-navigation-screen__content{padding:0 16px}.edit-site-sidebar-navigation-screen__content .components-item-group{margin-left:-16px;margin-right:-16px}.edit-site-sidebar-navigation-screen__content .components-text{color:#ccc}.edit-site-sidebar-navigation-screen__content .components-heading{margin-bottom:8px}.edit-site-sidebar-navigation-screen__meta{color:#ccc;margin:0 0 16px 16px}.edit-site-sidebar-navigation-screen__meta .components-text{color:#ccc}.edit-site-sidebar-navigation-screen__page-link{color:#949494;display:inline-block}.edit-site-sidebar-navigation-screen__page-link:focus,.edit-site-sidebar-navigation-screen__page-link:hover{color:#fff}.edit-site-sidebar-navigation-screen__page-link .components-external-link__icon{margin-left:4px}.edit-site-sidebar-navigation-screen__title-icon{background:#1e1e1e;margin-bottom:8px;padding-bottom:8px;padding-top:108px;position:sticky;top:0;z-index:1}.edit-site-sidebar-navigation-screen__title{flex-grow:1;overflow-wrap:break-word;padding:6px 0 0}.edit-site-sidebar-navigation-screen__actions{display:flex;flex-shrink:0}@media (min-width:782px){.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container{max-width:292px}}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px #1e1e1e}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item.is-active .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px #f0f0f0}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item:hover .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item:focus .edit-site-global-styles-variations_item-preview{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-sidebar-navigation-screen__footer{background-color:#1e1e1e;border-top:1px solid #2f2f2f;bottom:0;gap:0;margin:16px 0 0;padding:16px 0;position:sticky}.edit-site-sidebar__notice{background:#2f2f2f;color:#ddd;margin:24px 0}.edit-site-sidebar__notice.is-dismissible{padding-right:8px}.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]){color:#ccc}.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]):focus,.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):active,.edit-site-sidebar__notice .components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{color:#fff}.edit-site-sidebar-navigation-screen__input-control{width:100%}.edit-site-sidebar-navigation-screen__input-control .components-input-control__container{background:#2f2f2f}.edit-site-sidebar-navigation-screen__input-control .components-input-control__container .components-button{color:#e0e0e0!important}.edit-site-sidebar-navigation-screen__input-control .components-input-control__input{background:#2f2f2f!important;border-radius:2px;color:#e0e0e0!important}.edit-site-sidebar-navigation-screen__input-control .components-input-control__backdrop{border:4px!important}.edit-site-sidebar-navigation-screen__input-control .components-base-control__help{color:#949494}.edit-site-sidebar-navigation-screen-details-footer div.edit-site-sidebar-navigation-item.components-item:focus,.edit-site-sidebar-navigation-screen-details-footer div.edit-site-sidebar-navigation-item.components-item:hover,.edit-site-sidebar-navigation-screen-details-footer div.edit-site-sidebar-navigation-item.components-item[aria-current]{background:none}.edit-site-sidebar-navigation-screen-details-footer .edit-site-sidebar-navigation-screen-details-footer__icon{fill:#949494;margin-left:auto}.sidebar-navigation__more-menu .components-button{color:#e0e0e0}.sidebar-navigation__more-menu .components-button:focus,.sidebar-navigation__more-menu .components-button:hover,.sidebar-navigation__more-menu .components-button[aria-current]{color:#f0f0f0}.edit-site-sidebar-navigation-screen-page__featured-image-wrapper{background-color:#2f2f2f;border-radius:4px;margin-bottom:16px;min-height:128px}.edit-site-sidebar-navigation-screen-page__featured-image{align-items:center;background-position:50% 50%;background-size:cover;border-radius:2px;color:#949494;display:flex;height:128px;justify-content:center;overflow:hidden;width:100%}.edit-site-sidebar-navigation-screen-page__featured-image img{height:100%;object-fit:cover;object-position:50% 50%;width:100%}.edit-site-sidebar-navigation-screen-page__featured-image-description{font-size:12px}.edit-site-sidebar-navigation-screen-page__excerpt{font-size:12px;margin-bottom:24px}.edit-site-sidebar-navigation-screen-page__modified{color:#949494;margin:0 0 16px 16px}.edit-site-sidebar-navigation-screen-page__modified .components-text{color:#949494}.edit-site-sidebar-navigation-screen-page__status{display:inline-flex}.edit-site-sidebar-navigation-screen-page__status time{display:contents}.edit-site-sidebar-navigation-screen-page__status svg{fill:#f0b849;height:16px;margin-right:8px;width:16px}.edit-site-sidebar-navigation-screen-page__status.has-future-status svg,.edit-site-sidebar-navigation-screen-page__status.has-publish-status svg{fill:#4ab866}.edit-site-sidebar-navigation-screen-templates__templates-group-title.components-item{border-top:1px solid #2f2f2f;color:#e0e0e0;font-size:11px;font-weight:500;padding:24px 6px 16px 16px;text-transform:uppercase}.edit-site-sidebar-navigation-details-screen-panel{margin:24px 0}.edit-site-sidebar-navigation-details-screen-panel:last-of-type{margin-bottom:0}.edit-site-sidebar-navigation-details-screen-panel .edit-site-sidebar-navigation-details-screen-panel__heading{color:#ccc;font-size:11px;font-weight:500;margin-bottom:0;padding:0;text-transform:uppercase}.edit-site-sidebar-navigation-details-screen-panel__label.edit-site-sidebar-navigation-details-screen-panel__label{color:#949494;flex-shrink:0;width:100px}.edit-site-sidebar-navigation-details-screen-panel__value.edit-site-sidebar-navigation-details-screen-panel__value{color:#e0e0e0}.edit-site-sidebar-navigation-screen-pattern__added-by-description{align-items:center;display:flex;justify-content:space-between;margin-top:24px}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author{align-items:center;display:inline-flex}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author img{border-radius:12px}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author svg{fill:#949494}.edit-site-sidebar-navigation-screen-pattern__added-by-description-author-icon{height:24px;margin-right:8px;width:24px}.edit-site-sidebar-navigation-screen-patterns__group{margin-bottom:24px}.edit-site-sidebar-navigation-screen-patterns__group:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.edit-site-sidebar-navigation-screen-patterns__group-header{margin-top:16px}.edit-site-sidebar-navigation-screen-patterns__group-header p{color:#949494}.edit-site-sidebar-navigation-screen-patterns__group-header h2{font-size:11px;font-weight:500;text-transform:uppercase}.edit-site-sidebar-navigation-screen-template__added-by-description{align-items:center;display:flex;justify-content:space-between;margin-top:24px}.edit-site-sidebar-navigation-screen-template__added-by-description-author{align-items:center;display:inline-flex}.edit-site-sidebar-navigation-screen-template__added-by-description-author img{border-radius:12px;height:20px;width:20px}.edit-site-sidebar-navigation-screen-template__added-by-description-author svg{fill:#949494}.edit-site-sidebar-navigation-screen-template__added-by-description-author-icon{align-items:center;display:inline-flex;height:24px;justify-content:center;margin-right:4px;width:24px}.edit-site-sidebar-navigation-screen-template__template-area-button{align-items:center;border-radius:4px;color:#fff;display:flex;flex-wrap:nowrap;width:100%}.edit-site-sidebar-navigation-screen-template__template-area-button:focus,.edit-site-sidebar-navigation-screen-template__template-area-button:hover{background:#2f2f2f;color:#fff}.edit-site-sidebar-navigation-screen-template__template-area-label-text{flex-grow:1;margin:0 16px 0 4px}.edit-site-sidebar-navigation-screen-template__template-icon{display:flex}.edit-site-sidebar-navigation-screen-dataviews__group-header{margin-top:32px}.edit-site-sidebar-navigation-screen-dataviews__group-header h2{font-size:11px;font-weight:500;text-transform:uppercase}.edit-site-sidebar-dataviews-dataview-item{border-radius:2px;padding-right:8px}.edit-site-sidebar-dataviews-dataview-item .edit-site-sidebar-dataviews-dataview-item__dropdown-menu{min-width:auto}.edit-site-sidebar-dataviews-dataview-item:focus,.edit-site-sidebar-dataviews-dataview-item:hover,.edit-site-sidebar-dataviews-dataview-item[aria-current]{background:#2f2f2f;color:#e0e0e0}.edit-site-sidebar-dataviews-dataview-item.is-selected{background:var(--wp-admin-theme-color);color:#fff}.edit-site-site-hub{align-items:center;display:flex;gap:8px;justify-content:space-between}.edit-site-site-hub .edit-site-site-hub__container{gap:0}.edit-site-site-hub .edit-site-site-hub__site-title,.edit-site-site-hub .edit-site-site-hub__site-view-link,.edit-site-site-hub .edit-site-site-hub_toggle-command-center{transition:opacity .1s ease}.edit-site-site-hub .edit-site-site-hub__site-title.is-transparent,.edit-site-site-hub .edit-site-site-hub__site-view-link.is-transparent,.edit-site-site-hub .edit-site-site-hub_toggle-command-center.is-transparent{opacity:0!important}.edit-site-site-hub .edit-site-site-hub__site-view-link{flex-grow:0;margin-right:var(--wp-admin-border-width-focus)}.edit-site-site-hub .edit-site-site-hub__site-view-link svg{fill:#e0e0e0}.edit-site-site-hub__post-type{opacity:.6}.edit-site-site-hub__view-mode-toggle-container{background:#1e1e1e;flex-shrink:0;height:60px;width:60px}.edit-site-site-hub__view-mode-toggle-container.has-transparent-background{background:transparent}.edit-site-site-hub__text-content{overflow:hidden}.edit-site-site-hub__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-site-site-hub__site-title{color:#e0e0e0;flex-grow:1;margin-left:4px}.edit-site-site-hub_toggle-command-center{color:#e0e0e0}.edit-site-site-hub_toggle-command-center:active svg,.edit-site-site-hub_toggle-command-center:hover svg{fill:#f0f0f0}.edit-site-sidebar-navigation-screen__description{margin:0 0 32px}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf{border-radius:2px;max-width:calc(100% - 4px)}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf:focus,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf:hover,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf[aria-current]{background:#2f2f2f}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf .block-editor-list-view-block__menu{margin-left:-8px}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected>td{background:transparent}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents{color:inherit}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:not(:hover) .block-editor-list-view-block__menu{opacity:0}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:focus,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:hover{color:#fff}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected .block-editor-list-view-block__menu,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:focus .block-editor-list-view-block__menu-cell,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected:hover .block-editor-list-view-block__menu-cell{opacity:1}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf .block-editor-list-view-block-contents:focus:after,.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-selected .block-editor-list-view-block__menu:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-branch-selected:not(.is-selected):not(.is-synced-branch){background:transparent}.edit-site-sidebar-navigation-screen-navigation-menus__content .offcanvas-editor-list-view-leaf.is-branch-selected:not(.is-selected):not(.is-synced-branch):hover{background:#2f2f2f}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-leaf .block-editor-list-view-block__contents-cell{width:100%}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-leaf .block-editor-list-view-block-contents{white-space:normal}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-block__title{margin-top:3px}.edit-site-sidebar-navigation-screen-navigation-menus__content .block-editor-list-view-block__menu-cell{padding-right:0}.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button{color:#949494}.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button:focus,.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button:hover,.edit-site-sidebar-navigation-screen-navigation-menus__content .components-button[aria-current]{color:#fff}.edit-site-sidebar-navigation-screen-navigation-menus__loading.components-spinner{display:block;margin-left:auto;margin-right:auto}.edit-site-sidebar-navigation-screen-navigation-menus__helper-block-editor{display:none}.edit-site-site-icon__icon{fill:currentColor}.edit-site-site-icon__image{background:#333;border-radius:4px;height:auto;object-fit:cover;width:100%}.edit-site-layout.is-full-canvas .edit-site-site-icon__image{border-radius:0}.edit-site-style-book{height:100%}.edit-site-style-book.is-button,.edit-site-style-book__iframe.is-button{border-radius:8px}.edit-site-style-book__iframe.is-focused{outline:calc(var(--wp-admin-border-width-focus)*2) solid var(--wp-admin-theme-color);outline-offset:calc(var(--wp-admin-border-width-focus)*-2)}.edit-site-style-book__tabs [role=tablist]{background:#fff;color:#1e1e1e}.edit-site-style-book__tabs [role=tabpanel]{bottom:0;left:0;overflow:auto;padding:0;position:absolute;right:0;top:48px}.edit-site-editor-canvas-container{background:#fff;border-radius:2px;bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;transition:all .3s}.edit-site-editor-canvas-container__close-button{background:#fff;position:absolute;right:8px;top:6px;z-index:1}.edit-site-resizable-frame__inner{position:relative}body:has(.edit-site-resizable-frame__inner.is-resizing){cursor:col-resize;user-select:none;-webkit-user-select:none}.edit-site-resizable-frame__inner.is-resizing:before{content:"";inset:0;position:absolute;z-index:1}.edit-site-resizable-frame__inner-content{inset:0;position:absolute;z-index:0}.edit-site-resizable-frame__handle{align-items:center;background-color:hsla(0,0%,46%,.4);border:0;border-radius:4px;cursor:col-resize;display:flex;height:64px;justify-content:flex-end;padding:0;position:absolute;top:calc(50% - 32px);width:4px;z-index:100}.edit-site-resizable-frame__handle:before{content:"";height:100%;left:100%;position:absolute;width:32px}.edit-site-resizable-frame__handle:after{content:"";height:100%;position:absolute;right:100%;width:32px}.edit-site-resizable-frame__handle:focus-visible{outline:2px solid transparent}.edit-site-resizable-frame__handle.is-resizing,.edit-site-resizable-frame__handle:focus,.edit-site-resizable-frame__handle:hover{background-color:var(--wp-admin-theme-color)}.edit-site-push-changes-to-global-styles-control .components-button{justify-content:center;width:100%}@media (min-width:782px){.font-library-modal.font-library-modal{width:65vw}}.font-library-modal .components-modal__header{border-bottom:none}.font-library-modal .components-modal__content{padding-top:0}.font-library-modal .font-library-modal__subtitle{font-size:11px;font-weight:500;text-transform:uppercase}.font-library-modal__tabpanel-layout .font-library-modal__tabpanel-layout__main{padding-bottom:64px}.font-library-modal__tabpanel-layout .font-library-modal__tabpanel-layout__footer{background-color:#fff;border-top:1px solid #ddd;bottom:32px;margin:0 -32px -32px;padding:16px 32px;position:absolute;width:100%}.font-library-modal__fonts-grid .font-library-modal__fonts-grid__main{display:flex;flex-direction:column}.font-library-modal__font-card{border:1px solid #e0e0e0;height:auto;margin-top:-1px;padding:16px;width:100%}.font-library-modal__font-card .font-library-modal__font-card__name{font-weight:700}.font-library-modal__font-card .font-library-modal__font-card__count{color:#757575}.font-library-modal__library-font-variant{border:1px solid #e0e0e0;margin-top:-1px;padding:16px}.font-library-modal__font-variant{border-bottom:1px solid #e0e0e0;padding-bottom:16px}.font-library-modal__tabs [role=tablist]{background:#fff;border-bottom:1px solid #ddd;margin:0 -32px;padding:0 16px;position:sticky;top:0;z-index:1}.font-library-modal__upload-area{align-items:center;display:flex;height:256px;justify-content:center;width:100%}button.font-library-modal__upload-area{background-color:#f0f0f0}.font-library-modal__local-fonts{margin:0 auto;width:80%}.font-library-modal__local-fonts .font-library-modal__upload-area__text{color:#757575}.font-library-modal__local-fonts .font-library-modal__upload-area__notice{margin:0}.font-library-modal__font-variant_demo-wrapper{overflow:hidden;position:relative;white-space:nowrap;width:100%}.font-library-modal__font-variant_demo-wrapper:after{background:linear-gradient(90deg,hsla(0,0%,100%,0),#fff);bottom:0;content:"";height:100%;position:absolute;right:0;width:30vw}.font-library__google-fonts-confirm{align-items:center;display:flex;justify-content:center}.font-library__google-fonts-confirm h3{font-size:1.4rem}.font-library__google-fonts-confirm .components-card{max-width:350px;min-width:250px;width:50%}.edit-site-pagination .components-button.is-tertiary{height:32px;justify-content:center;width:32px}body.js #wpadminbar{display:none}body.js #wpbody{padding-top:0}body.js.appearance_page_gutenberg-template-parts,body.js.site-editor-php{background:#fff}body.js.appearance_page_gutenberg-template-parts #wpcontent,body.js.site-editor-php #wpcontent{padding-left:0}body.js.appearance_page_gutenberg-template-parts #wpbody-content,body.js.site-editor-php #wpbody-content{padding-bottom:0}body.js.appearance_page_gutenberg-template-parts #wpbody-content>div:not(.edit-site):not(#screen-meta),body.js.appearance_page_gutenberg-template-parts #wpfooter,body.js.site-editor-php #wpbody-content>div:not(.edit-site):not(#screen-meta),body.js.site-editor-php #wpfooter{display:none}body.js.appearance_page_gutenberg-template-parts .a11y-speak-region,body.js.site-editor-php .a11y-speak-region{left:-1px;top:-1px}body.js.appearance_page_gutenberg-template-parts ul#adminmenu a.wp-has-current-submenu:after,body.js.appearance_page_gutenberg-template-parts ul#adminmenu>li.current>a.current:after,body.js.site-editor-php ul#adminmenu a.wp-has-current-submenu:after,body.js.site-editor-php ul#adminmenu>li.current>a.current:after{border-right-color:#fff}body.js.appearance_page_gutenberg-template-parts .media-frame select.attachment-filters:last-of-type,body.js.site-editor-php .media-frame select.attachment-filters:last-of-type{max-width:100%;width:auto}body.js.site-editor-php{background:#1e1e1e}.components-modal__frame,.edit-site{box-sizing:border-box}.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before,.edit-site *,.edit-site :after,.edit-site :before{box-sizing:inherit}.edit-site{height:100vh}@media (min-width:600px){.edit-site{bottom:0;left:0;min-height:100vh;position:fixed;right:0;top:0}}.no-js .edit-site{min-height:0;position:static}.edit-site .interface-interface-skeleton{top:0}.edit-site .interface-complementary-area__pin-unpin-item.components-button{display:none}.edit-site .interface-interface-skeleton__content{background-color:#1e1e1e}@keyframes edit-post__fade-in-animation{0%{opacity:0}to{opacity:1}}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file diff --git a/wp-includes/css/dist/edit-widgets/style-rtl.css b/wp-includes/css/dist/edit-widgets/style-rtl.css index efca586f3e..6fa2151c6a 100644 --- a/wp-includes/css/dist/edit-widgets/style-rtl.css +++ b/wp-includes/css/dist/edit-widgets/style-rtl.css @@ -359,8 +359,7 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .interface-pinned-items{ display:flex; - gap:4px; - margin-left:-4px; + gap:8px; } .interface-pinned-items .components-button{ display:none; @@ -377,92 +376,6 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .interface-pinned-items .components-button{ display:flex; } - .interface-preferences-modal{ - height:calc(100% - 120px); - width:calc(100% - 32px); - } -} -@media (min-width:782px){ - .interface-preferences-modal{ - width:750px; - } -} -@media (min-width:960px){ - .interface-preferences-modal{ - height:70%; - } -} -@media (max-width:781px){ - .interface-preferences-modal .components-modal__content{ - padding:0; - } -} - -.interface-preferences__tabs .components-tab-panel__tabs{ - position:absolute; - right:16px; - top:84px; - width:160px; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{ - border-radius:2px; - font-weight:400; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{ - background:#f0f0f0; - box-shadow:none; - font-weight:500; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active:after{ - content:none; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled){ - box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); - outline:2px solid transparent; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus-visible:before{ - content:none; -} -.interface-preferences__tabs .components-tab-panel__tab-content{ - margin-right:160px; - padding-right:24px; -} - -@media (max-width:781px){ - .interface-preferences__provider{ - height:100%; - } -} -.interface-preferences-modal__section{ - margin:0 0 2.5rem; -} -.interface-preferences-modal__section:last-child{ - margin:0; -} - -.interface-preferences-modal__section-legend{ - margin-bottom:8px; -} - -.interface-preferences-modal__section-title{ - font-size:.9rem; - font-weight:600; - margin-top:0; -} - -.interface-preferences-modal__section-description{ - color:#757575; - font-size:12px; - font-style:normal; - margin:-8px 0 8px; -} - -.interface-preferences-modal__option+.interface-preferences-modal__option{ - margin-top:16px; -} -.interface-preferences-modal__option .components-base-control__help{ - margin-right:48px; - margin-top:0; } .wp-block[data-type="core/widget-area"]{ @@ -531,10 +444,31 @@ body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .c overflow:visible; } } +.edit-widgets-header .selected-block-tools-wrapper{ + overflow-x:hidden; +} +.edit-widgets-header .selected-block-tools-wrapper .block-editor-block-contextual-toolbar{ + border-bottom:0; +} +.edit-widgets-header .selected-block-tools-wrapper .components-toolbar,.edit-widgets-header .selected-block-tools-wrapper .components-toolbar-group{ + border-left:none; +} +.edit-widgets-header .selected-block-tools-wrapper .components-toolbar-group:after,.edit-widgets-header .selected-block-tools-wrapper .components-toolbar:after{ + background-color:#ddd; + content:""; + margin-bottom:12px; + margin-right:8px; + margin-top:12px; + width:1px; +} +.edit-widgets-header .selected-block-tools-wrapper .components-toolbar .components-toolbar-group.components-toolbar-group:after,.edit-widgets-header .selected-block-tools-wrapper .components-toolbar-group .components-toolbar-group.components-toolbar-group:after{ + display:none; +} .edit-widgets-header__navigable-toolbar-wrapper{ align-items:center; display:flex; + flex-shrink:2; justify-content:center; padding-right:16px; } @@ -558,7 +492,7 @@ body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .c } .edit-widgets-header-toolbar{ - border:none; + gap:8px; } .edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon{ height:36px; @@ -783,7 +717,6 @@ body.is-fullscreen-mode .edit-widgets-notices__snackbar{ .edit-widgets-notices__dismissible .components-notice,.edit-widgets-notices__pinned .components-notice{ border-bottom:1px solid rgba(0,0,0,.2); box-sizing:border-box; - margin:0; min-height:60px; padding:0 12px; } @@ -816,12 +749,6 @@ body.is-fullscreen-mode .edit-widgets-notices__snackbar{ } } -@media (min-width:782px){ - .blocks-widgets-container .interface-interface-skeleton__header:not(:focus-within){ - z-index:19; - } -} - .edit-widgets-welcome-guide{ width:312px; } @@ -872,89 +799,6 @@ body.is-fullscreen-mode .edit-widgets-notices__snackbar{ padding:6px; } -.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:0; -} -@media (min-width:783px){ - .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:160px; - } -} -@media (min-width:783px){ - .auto-fold .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:36px; - } -} -@media (min-width:961px){ - .auto-fold .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:160px; - } -} -.folded .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:0; -} -@media (min-width:783px){ - .folded .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:36px; - } -} - -body.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - right:0 !important; -} - -.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - display:block; - position:sticky; - top:0; - width:100%; - z-index:31; -} -@media (min-width:782px){ - .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - align-items:center; - border-bottom:none; - display:flex; - height:60px; - margin-right:180px; - min-height:auto; - position:fixed; - top:32px; - width:calc(100% - 180px); - } - .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed:empty{ - width:auto; - } - .is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-right:240px; - top:0; - } - .is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed:empty{ - width:auto; - } - .show-icon-labels .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-right:80px; - width:calc(100% - 140px); - } - .is-fullscreen-mode .show-icon-labels .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-right:144px; - } - .blocks-widgets-container .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-right:153.6px; - } - .blocks-widgets-container .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed{ - margin-right:268.8px; - } -} -@media (min-width:960px){ - .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed,.show-icon-labels .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - width:auto; - } - .is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - width:calc(100% - 536px); - } -} - .edit-widgets-editor__list-view-panel{ display:flex; flex-direction:column; diff --git a/wp-includes/css/dist/edit-widgets/style-rtl.min.css b/wp-includes/css/dist/edit-widgets/style-rtl.min.css index c5e7684274..bd9bf8262c 100644 --- a/wp-includes/css/dist/edit-widgets/style-rtl.min.css +++ b/wp-includes/css/dist/edit-widgets/style-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-panel__header.interface-complementary-area-header__small{background:#fff;padding-left:4px}.components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:782px){.components-panel__header.interface-complementary-area-header__small{display:none}}.interface-complementary-area-header{background:#fff;padding-left:4px}.interface-complementary-area-header .components-button.has-icon{display:none;margin-right:auto}.interface-complementary-area-header .components-button.has-icon~.components-button{margin-right:0}@media (min-width:782px){.interface-complementary-area-header .components-button.has-icon{display:flex}.components-panel__header+.interface-complementary-area-header{margin-top:0}}.interface-complementary-area{background:#fff;color:#1e1e1e}@media (min-width:600px){.interface-complementary-area{-webkit-overflow-scrolling:touch}}@media (min-width:782px){.interface-complementary-area{width:280px}}.interface-complementary-area .components-panel{border:none;position:relative;z-index:0}.interface-complementary-area .components-panel__header{position:sticky;top:0;z-index:1}.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:48px}@media (min-width:782px){.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:0}}.interface-complementary-area p:not(.components-base-control__help){margin-top:0}.interface-complementary-area h2{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.interface-complementary-area h3{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.interface-complementary-area hr{border-bottom:1px solid #f0f0f0;border-top:none;margin:1.5em 0}.interface-complementary-area div.components-toolbar,.interface-complementary-area div.components-toolbar-group{box-shadow:none;margin-bottom:1.5em}.interface-complementary-area div.components-toolbar-group:last-child,.interface-complementary-area div.components-toolbar:last-child{margin-bottom:0}.interface-complementary-area .block-editor-skip-to-selected-block:focus{bottom:10px;left:10px;right:auto;top:auto}@media (min-width:782px){body.js.is-fullscreen-mode{height:calc(100% + 32px);margin-top:-32px}body.js.is-fullscreen-mode #adminmenumain,body.js.is-fullscreen-mode #wpadminbar{display:none}body.js.is-fullscreen-mode #wpcontent,body.js.is-fullscreen-mode #wpfooter{margin-right:0}}html.interface-interface-skeleton__html-container{position:fixed;width:100%}@media (min-width:782px){html.interface-interface-skeleton__html-container{position:static;width:auto}}.interface-interface-skeleton{bottom:0;display:flex;flex-direction:row;height:auto;left:0;max-height:100%;position:fixed;top:46px}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden}.interface-interface-skeleton{right:0}@media (min-width:783px){.interface-interface-skeleton{right:160px}}@media (min-width:783px){.auto-fold .interface-interface-skeleton{right:36px}}@media (min-width:961px){.auto-fold .interface-interface-skeleton{right:160px}}.folded .interface-interface-skeleton{right:0}@media (min-width:783px){.folded .interface-interface-skeleton{right:36px}}body.is-fullscreen-mode .interface-interface-skeleton{right:0!important}.interface-interface-skeleton__body{display:flex;flex-grow:1;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;z-index:20}@media (min-width:782px){.interface-interface-skeleton__content{z-index:auto}}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{background:#fff;bottom:0;color:#1e1e1e;flex-shrink:0;left:0;position:absolute;right:0;top:0;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;width:auto}.is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,.is-sidebar-opened .interface-interface-skeleton__sidebar{z-index:90}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-right:1px solid #e0e0e0}.interface-interface-skeleton__secondary-sidebar{border-left:1px solid #e0e0e0}}.interface-interface-skeleton__header{border-bottom:1px solid #e0e0e0;color:#1e1e1e;flex-shrink:0;height:auto;z-index:30}.interface-interface-skeleton__footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;color:#1e1e1e;display:none;flex-shrink:0;height:auto;position:absolute;right:0;width:100%;z-index:90}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{align-items:center;background:#fff;display:flex;font-size:13px;height:24px;padding:0 18px;z-index:30}.interface-interface-skeleton__actions{background:#fff;bottom:auto;color:#1e1e1e;left:0;position:fixed!important;right:auto;top:-9999em;width:100vw;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__actions{width:280px}}.interface-interface-skeleton__actions:focus,.interface-interface-skeleton__actions:focus-within{bottom:0;top:auto}.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:46px}@media (min-width:782px){.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{border-right:1px solid #ddd;top:32px}.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:0}}.interface-more-menu-dropdown{margin-right:-4px}.interface-more-menu-dropdown .components-button{padding:0 2px;width:auto}@media (min-width:600px){.interface-more-menu-dropdown{margin-right:0}.interface-more-menu-dropdown .components-button{padding:0 4px}}.interface-more-menu-dropdown__content .components-popover__content{min-width:280px}@media (min-width:480px){.interface-more-menu-dropdown__content .components-popover__content{max-width:480px}}.interface-more-menu-dropdown__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.interface-more-menu-dropdown__content{z-index:99998}.interface-pinned-items{display:flex;gap:4px;margin-left:-4px}.interface-pinned-items .components-button{display:none;margin:0}.interface-pinned-items .components-button[aria-controls="edit-post:block"],.interface-pinned-items .components-button[aria-controls="edit-post:document"],.interface-pinned-items .components-button[aria-controls="edit-site:block-inspector"],.interface-pinned-items .components-button[aria-controls="edit-site:global-styles"],.interface-pinned-items .components-button[aria-controls="edit-site:template"]{display:flex}.interface-pinned-items .components-button svg{max-height:24px;max-width:24px}@media (min-width:600px){.interface-pinned-items .components-button{display:flex}.interface-preferences-modal{height:calc(100% - 120px);width:calc(100% - 32px)}}@media (min-width:782px){.interface-preferences-modal{width:750px}}@media (min-width:960px){.interface-preferences-modal{height:70%}}@media (max-width:781px){.interface-preferences-modal .components-modal__content{padding:0}}.interface-preferences__tabs .components-tab-panel__tabs{position:absolute;right:16px;top:84px;width:160px}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{border-radius:2px;font-weight:400}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{background:#f0f0f0;box-shadow:none;font-weight:500}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active:after{content:none}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus-visible:before{content:none}.interface-preferences__tabs .components-tab-panel__tab-content{margin-right:160px;padding-right:24px}@media (max-width:781px){.interface-preferences__provider{height:100%}}.interface-preferences-modal__section{margin:0 0 2.5rem}.interface-preferences-modal__section:last-child{margin:0}.interface-preferences-modal__section-legend{margin-bottom:8px}.interface-preferences-modal__section-title{font-size:.9rem;font-weight:600;margin-top:0}.interface-preferences-modal__section-description{color:#757575;font-size:12px;font-style:normal;margin:-8px 0 8px}.interface-preferences-modal__option+.interface-preferences-modal__option{margin-top:16px}.interface-preferences-modal__option .components-base-control__help{margin-right:48px;margin-top:0}.wp-block[data-type="core/widget-area"]{margin-left:auto;margin-right:auto;max-width:700px}.wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title{background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:48px;margin:0;position:relative;transform:translateZ(0);z-index:1}.wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title:hover{background:#fff}.wp-block[data-type="core/widget-area"] .block-list-appender.wp-block{position:relative;width:auto}.wp-block[data-type="core/widget-area"] .editor-styles-wrapper .wp-block.wp-block.wp-block.wp-block.wp-block{max-width:100%}.wp-block[data-type="core/widget-area"] .components-panel__body.is-opened{padding:0}.blocks-widgets-container .wp-block-widget-area__inner-blocks.editor-styles-wrapper{margin:0;padding:0}.blocks-widgets-container .wp-block-widget-area__inner-blocks.editor-styles-wrapper>.block-editor-block-list__layout{margin-top:-48px;min-height:32px;padding:72px 16px 16px}.wp-block-widget-area__highlight-drop-zone{outline:var(--wp-admin-border-width-focus) solid var(--wp-admin-theme-color)}body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title,body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title *{pointer-events:none}.edit-widgets-error-boundary{box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),-.1px 11.5px 16.4px -.5px rgba(0,0,0,.15);margin:60px auto auto;max-width:780px;padding:20px}.edit-widgets-header{align-items:center;background:#fff;display:flex;height:60px;justify-content:space-between;overflow:auto}@media (min-width:600px){.edit-widgets-header{overflow:visible}}.edit-widgets-header__navigable-toolbar-wrapper{align-items:center;display:flex;justify-content:center;padding-right:16px}.edit-widgets-header__title{font-size:20px;margin:0 0 0 20px;padding:0}.edit-widgets-header__actions{align-items:center;display:flex;gap:4px;padding-left:16px}@media (min-width:600px){.edit-widgets-header__actions{gap:8px}}.edit-widgets-header-toolbar{border:none}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon{height:36px;min-width:36px;padding:6px}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon.is-pressed,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon.is-pressed{background:#1e1e1e}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon:focus:not(:disabled),.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 1px #fff;outline:1px solid transparent}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon:before,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon:before{display:none}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle{padding-left:8px;padding-right:8px}@media (min-width:600px){.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle{padding-left:12px;padding-right:12px}}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle:after{content:none}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle svg{transition:transform .2s cubic-bezier(.165,.84,.44,1)}@media (prefers-reduced-motion:reduce){.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle svg{transition-delay:0s;transition-duration:0s}}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle.is-pressed svg{transform:rotate(-45deg)}.edit-widgets-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-widgets-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.edit-widgets-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.edit-widgets-keyboard-shortcut-help-modal__shortcut:empty{display:none}.edit-widgets-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 1rem 0 0;text-align:left}.edit-widgets-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination+.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.components-panel__header.edit-widgets-sidebar__panel-tabs{border-top:0;justify-content:flex-start;margin-top:0;padding-left:4px;padding-right:0}.components-panel__header.edit-widgets-sidebar__panel-tabs ul{display:flex}.components-panel__header.edit-widgets-sidebar__panel-tabs li{margin:0}.components-panel__header.edit-widgets-sidebar__panel-tabs .components-button.has-icon{display:none;margin-right:auto}@media (min-width:782px){.components-panel__header.edit-widgets-sidebar__panel-tabs .components-button.has-icon{display:flex}}.components-button.edit-widgets-sidebar__panel-tab{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-right:0;padding:3px 16px;position:relative}.components-button.edit-widgets-sidebar__panel-tab:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-button.edit-widgets-sidebar__panel-tab:after{background:var(--wp-admin-theme-color);border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-widgets-sidebar__panel-tab:after{transition-delay:0s;transition-duration:0s}}.components-button.edit-widgets-sidebar__panel-tab.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-button.edit-widgets-sidebar__panel-tab:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-widgets-sidebar__panel-tab:before{transition-delay:0s;transition-duration:0s}}.components-button.edit-widgets-sidebar__panel-tab:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.edit-widgets-widget-areas__top-container{display:flex;padding:16px}.edit-widgets-widget-areas__top-container .block-editor-block-icon{margin-left:16px}.edit-widgets-notices__snackbar{bottom:20px;left:0;padding-left:16px;padding-right:16px;position:fixed;right:0}@media (min-width:783px){.edit-widgets-notices__snackbar{right:160px}}@media (min-width:783px){.auto-fold .edit-widgets-notices__snackbar{right:36px}}@media (min-width:961px){.auto-fold .edit-widgets-notices__snackbar{right:160px}}.folded .edit-widgets-notices__snackbar{right:0}@media (min-width:783px){.folded .edit-widgets-notices__snackbar{right:36px}}body.is-fullscreen-mode .edit-widgets-notices__snackbar{right:0!important}.edit-widgets-notices__dismissible .components-notice,.edit-widgets-notices__pinned .components-notice{border-bottom:1px solid rgba(0,0,0,.2);box-sizing:border-box;margin:0;min-height:60px;padding:0 12px}.edit-widgets-notices__dismissible .components-notice .components-notice__dismiss,.edit-widgets-notices__pinned .components-notice .components-notice__dismiss{margin-top:12px}.edit-widgets-layout__inserter-panel{display:flex;flex-direction:column;height:100%}.edit-widgets-layout__inserter-panel .block-editor-inserter__menu{overflow:hidden}.edit-widgets-layout__inserter-panel-header{display:flex;justify-content:flex-end;padding-left:8px;padding-top:8px}.edit-widgets-layout__inserter-panel-content{height:calc(100% - 44px)}@media (min-width:782px){.edit-widgets-layout__inserter-panel-content{height:100%}}@media (min-width:782px){.blocks-widgets-container .interface-interface-skeleton__header:not(:focus-within){z-index:19}}.edit-widgets-welcome-guide{width:312px}.edit-widgets-welcome-guide__image{background:#00a0d2;margin:0 0 16px}.edit-widgets-welcome-guide__image>img{display:block;max-width:100%;object-fit:cover}.edit-widgets-welcome-guide__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:24px;line-height:1.4;margin:16px 0;padding:0 32px}.edit-widgets-welcome-guide__text{font-size:13px;line-height:1.4;margin:0 0 24px;padding:0 32px}.edit-widgets-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}.edit-widgets-block-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;position:relative}.edit-widgets-block-editor,.edit-widgets-block-editor .block-editor-writing-flow,.edit-widgets-block-editor>div:last-of-type{display:flex;flex-direction:column;flex-grow:1}.edit-widgets-block-editor .edit-widgets-main-block-list{height:100%}.edit-widgets-block-editor .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.edit-widgets-block-editor .components-button.has-icon,.edit-widgets-block-editor .components-button.is-tertiary{padding:6px}.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{right:0}@media (min-width:783px){.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{right:160px}}@media (min-width:783px){.auto-fold .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{right:36px}}@media (min-width:961px){.auto-fold .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{right:160px}}.folded .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{right:0}@media (min-width:783px){.folded .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{right:36px}}body.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{right:0!important}.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{display:block;position:sticky;top:0;width:100%;z-index:31}@media (min-width:782px){.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{align-items:center;border-bottom:none;display:flex;height:60px;margin-right:180px;min-height:auto;position:fixed;top:32px;width:calc(100% - 180px)}.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed:empty{width:auto}.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{margin-right:240px;top:0}.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed:empty{width:auto}.show-icon-labels .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{margin-right:80px;width:calc(100% - 140px)}.is-fullscreen-mode .show-icon-labels .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{margin-right:144px}.blocks-widgets-container .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{margin-right:153.6px}.blocks-widgets-container .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed{margin-right:268.8px}}@media (min-width:960px){.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed,.show-icon-labels .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{width:auto}.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{width:calc(100% - 536px)}}.edit-widgets-editor__list-view-panel{display:flex;flex-direction:column;height:100%;min-width:350px}.edit-widgets-editor__list-view-panel-content{height:calc(100% - 44px);overflow-y:auto;padding:8px}.edit-widgets-editor__list-view-panel-header{align-items:center;border-bottom:1px solid #ddd;display:flex;height:48px;justify-content:space-between;padding-left:4px;padding-right:16px}body.js.appearance_page_gutenberg-widgets,body.js.widgets-php{background:#fff}body.js.appearance_page_gutenberg-widgets #wpcontent,body.js.widgets-php #wpcontent{padding-right:0}body.js.appearance_page_gutenberg-widgets #wpbody-content,body.js.widgets-php #wpbody-content{padding-bottom:0}body.js.appearance_page_gutenberg-widgets #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.js.appearance_page_gutenberg-widgets #wpfooter,body.js.widgets-php #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.js.widgets-php #wpfooter{display:none}body.js.appearance_page_gutenberg-widgets .a11y-speak-region,body.js.widgets-php .a11y-speak-region{right:-1px;top:-1px}body.js.appearance_page_gutenberg-widgets ul#adminmenu a.wp-has-current-submenu:after,body.js.appearance_page_gutenberg-widgets ul#adminmenu>li.current>a.current:after,body.js.widgets-php ul#adminmenu a.wp-has-current-submenu:after,body.js.widgets-php ul#adminmenu>li.current>a.current:after{border-left-color:#fff}body.js.appearance_page_gutenberg-widgets .media-frame select.attachment-filters:last-of-type,body.js.widgets-php .media-frame select.attachment-filters:last-of-type{max-width:100%;width:auto}.blocks-widgets-container,.components-modal__frame{box-sizing:border-box}.blocks-widgets-container *,.blocks-widgets-container :after,.blocks-widgets-container :before,.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before{box-sizing:inherit}@media (min-width:600px){.blocks-widgets-container{bottom:0;left:0;min-height:calc(100vh - 46px);position:absolute;right:0;top:0}}@media (min-width:782px){.blocks-widgets-container{min-height:calc(100vh - 32px)}}.blocks-widgets-container .interface-interface-skeleton__content{background-color:#f0f0f0}.blocks-widgets-container .editor-styles-wrapper{margin:auto;max-width:700px}.edit-widgets-sidebar .components-button.interface-complementary-area__pin-unpin-item{display:none}.js .widgets-php .notice{display:none!important}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-panel__header.interface-complementary-area-header__small{background:#fff;padding-left:4px}.components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:782px){.components-panel__header.interface-complementary-area-header__small{display:none}}.interface-complementary-area-header{background:#fff;padding-left:4px}.interface-complementary-area-header .components-button.has-icon{display:none;margin-right:auto}.interface-complementary-area-header .components-button.has-icon~.components-button{margin-right:0}@media (min-width:782px){.interface-complementary-area-header .components-button.has-icon{display:flex}.components-panel__header+.interface-complementary-area-header{margin-top:0}}.interface-complementary-area{background:#fff;color:#1e1e1e}@media (min-width:600px){.interface-complementary-area{-webkit-overflow-scrolling:touch}}@media (min-width:782px){.interface-complementary-area{width:280px}}.interface-complementary-area .components-panel{border:none;position:relative;z-index:0}.interface-complementary-area .components-panel__header{position:sticky;top:0;z-index:1}.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:48px}@media (min-width:782px){.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:0}}.interface-complementary-area p:not(.components-base-control__help){margin-top:0}.interface-complementary-area h2{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.interface-complementary-area h3{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.interface-complementary-area hr{border-bottom:1px solid #f0f0f0;border-top:none;margin:1.5em 0}.interface-complementary-area div.components-toolbar,.interface-complementary-area div.components-toolbar-group{box-shadow:none;margin-bottom:1.5em}.interface-complementary-area div.components-toolbar-group:last-child,.interface-complementary-area div.components-toolbar:last-child{margin-bottom:0}.interface-complementary-area .block-editor-skip-to-selected-block:focus{bottom:10px;left:10px;right:auto;top:auto}@media (min-width:782px){body.js.is-fullscreen-mode{height:calc(100% + 32px);margin-top:-32px}body.js.is-fullscreen-mode #adminmenumain,body.js.is-fullscreen-mode #wpadminbar{display:none}body.js.is-fullscreen-mode #wpcontent,body.js.is-fullscreen-mode #wpfooter{margin-right:0}}html.interface-interface-skeleton__html-container{position:fixed;width:100%}@media (min-width:782px){html.interface-interface-skeleton__html-container{position:static;width:auto}}.interface-interface-skeleton{bottom:0;display:flex;flex-direction:row;height:auto;left:0;max-height:100%;position:fixed;top:46px}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden}.interface-interface-skeleton{right:0}@media (min-width:783px){.interface-interface-skeleton{right:160px}}@media (min-width:783px){.auto-fold .interface-interface-skeleton{right:36px}}@media (min-width:961px){.auto-fold .interface-interface-skeleton{right:160px}}.folded .interface-interface-skeleton{right:0}@media (min-width:783px){.folded .interface-interface-skeleton{right:36px}}body.is-fullscreen-mode .interface-interface-skeleton{right:0!important}.interface-interface-skeleton__body{display:flex;flex-grow:1;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;z-index:20}@media (min-width:782px){.interface-interface-skeleton__content{z-index:auto}}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{background:#fff;bottom:0;color:#1e1e1e;flex-shrink:0;left:0;position:absolute;right:0;top:0;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;width:auto}.is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,.is-sidebar-opened .interface-interface-skeleton__sidebar{z-index:90}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-right:1px solid #e0e0e0}.interface-interface-skeleton__secondary-sidebar{border-left:1px solid #e0e0e0}}.interface-interface-skeleton__header{border-bottom:1px solid #e0e0e0;color:#1e1e1e;flex-shrink:0;height:auto;z-index:30}.interface-interface-skeleton__footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;color:#1e1e1e;display:none;flex-shrink:0;height:auto;position:absolute;right:0;width:100%;z-index:90}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{align-items:center;background:#fff;display:flex;font-size:13px;height:24px;padding:0 18px;z-index:30}.interface-interface-skeleton__actions{background:#fff;bottom:auto;color:#1e1e1e;left:0;position:fixed!important;right:auto;top:-9999em;width:100vw;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__actions{width:280px}}.interface-interface-skeleton__actions:focus,.interface-interface-skeleton__actions:focus-within{bottom:0;top:auto}.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:46px}@media (min-width:782px){.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{border-right:1px solid #ddd;top:32px}.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:0}}.interface-more-menu-dropdown{margin-right:-4px}.interface-more-menu-dropdown .components-button{padding:0 2px;width:auto}@media (min-width:600px){.interface-more-menu-dropdown{margin-right:0}.interface-more-menu-dropdown .components-button{padding:0 4px}}.interface-more-menu-dropdown__content .components-popover__content{min-width:280px}@media (min-width:480px){.interface-more-menu-dropdown__content .components-popover__content{max-width:480px}}.interface-more-menu-dropdown__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.interface-more-menu-dropdown__content{z-index:99998}.interface-pinned-items{display:flex;gap:8px}.interface-pinned-items .components-button{display:none;margin:0}.interface-pinned-items .components-button[aria-controls="edit-post:block"],.interface-pinned-items .components-button[aria-controls="edit-post:document"],.interface-pinned-items .components-button[aria-controls="edit-site:block-inspector"],.interface-pinned-items .components-button[aria-controls="edit-site:global-styles"],.interface-pinned-items .components-button[aria-controls="edit-site:template"]{display:flex}.interface-pinned-items .components-button svg{max-height:24px;max-width:24px}@media (min-width:600px){.interface-pinned-items .components-button{display:flex}}.wp-block[data-type="core/widget-area"]{margin-left:auto;margin-right:auto;max-width:700px}.wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title{background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:48px;margin:0;position:relative;transform:translateZ(0);z-index:1}.wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title:hover{background:#fff}.wp-block[data-type="core/widget-area"] .block-list-appender.wp-block{position:relative;width:auto}.wp-block[data-type="core/widget-area"] .editor-styles-wrapper .wp-block.wp-block.wp-block.wp-block.wp-block{max-width:100%}.wp-block[data-type="core/widget-area"] .components-panel__body.is-opened{padding:0}.blocks-widgets-container .wp-block-widget-area__inner-blocks.editor-styles-wrapper{margin:0;padding:0}.blocks-widgets-container .wp-block-widget-area__inner-blocks.editor-styles-wrapper>.block-editor-block-list__layout{margin-top:-48px;min-height:32px;padding:72px 16px 16px}.wp-block-widget-area__highlight-drop-zone{outline:var(--wp-admin-border-width-focus) solid var(--wp-admin-theme-color)}body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title,body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title *{pointer-events:none}.edit-widgets-error-boundary{box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),-.1px 11.5px 16.4px -.5px rgba(0,0,0,.15);margin:60px auto auto;max-width:780px;padding:20px}.edit-widgets-header{align-items:center;background:#fff;display:flex;height:60px;justify-content:space-between;overflow:auto}@media (min-width:600px){.edit-widgets-header{overflow:visible}}.edit-widgets-header .selected-block-tools-wrapper{overflow-x:hidden}.edit-widgets-header .selected-block-tools-wrapper .block-editor-block-contextual-toolbar{border-bottom:0}.edit-widgets-header .selected-block-tools-wrapper .components-toolbar,.edit-widgets-header .selected-block-tools-wrapper .components-toolbar-group{border-left:none}.edit-widgets-header .selected-block-tools-wrapper .components-toolbar-group:after,.edit-widgets-header .selected-block-tools-wrapper .components-toolbar:after{background-color:#ddd;content:"";margin-bottom:12px;margin-right:8px;margin-top:12px;width:1px}.edit-widgets-header .selected-block-tools-wrapper .components-toolbar .components-toolbar-group.components-toolbar-group:after,.edit-widgets-header .selected-block-tools-wrapper .components-toolbar-group .components-toolbar-group.components-toolbar-group:after{display:none}.edit-widgets-header__navigable-toolbar-wrapper{align-items:center;display:flex;flex-shrink:2;justify-content:center;padding-right:16px}.edit-widgets-header__title{font-size:20px;margin:0 0 0 20px;padding:0}.edit-widgets-header__actions{align-items:center;display:flex;gap:4px;padding-left:16px}@media (min-width:600px){.edit-widgets-header__actions{gap:8px}}.edit-widgets-header-toolbar{gap:8px}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon{height:36px;min-width:36px;padding:6px}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon.is-pressed,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon.is-pressed{background:#1e1e1e}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon:focus:not(:disabled),.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 1px #fff;outline:1px solid transparent}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon:before,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon:before{display:none}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle{padding-left:8px;padding-right:8px}@media (min-width:600px){.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle{padding-left:12px;padding-right:12px}}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle:after{content:none}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle svg{transition:transform .2s cubic-bezier(.165,.84,.44,1)}@media (prefers-reduced-motion:reduce){.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle svg{transition-delay:0s;transition-duration:0s}}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle.is-pressed svg{transform:rotate(-45deg)}.edit-widgets-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-widgets-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.edit-widgets-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.edit-widgets-keyboard-shortcut-help-modal__shortcut:empty{display:none}.edit-widgets-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 1rem 0 0;text-align:left}.edit-widgets-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination+.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.components-panel__header.edit-widgets-sidebar__panel-tabs{border-top:0;justify-content:flex-start;margin-top:0;padding-left:4px;padding-right:0}.components-panel__header.edit-widgets-sidebar__panel-tabs ul{display:flex}.components-panel__header.edit-widgets-sidebar__panel-tabs li{margin:0}.components-panel__header.edit-widgets-sidebar__panel-tabs .components-button.has-icon{display:none;margin-right:auto}@media (min-width:782px){.components-panel__header.edit-widgets-sidebar__panel-tabs .components-button.has-icon{display:flex}}.components-button.edit-widgets-sidebar__panel-tab{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-right:0;padding:3px 16px;position:relative}.components-button.edit-widgets-sidebar__panel-tab:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-button.edit-widgets-sidebar__panel-tab:after{background:var(--wp-admin-theme-color);border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-widgets-sidebar__panel-tab:after{transition-delay:0s;transition-duration:0s}}.components-button.edit-widgets-sidebar__panel-tab.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-button.edit-widgets-sidebar__panel-tab:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-widgets-sidebar__panel-tab:before{transition-delay:0s;transition-duration:0s}}.components-button.edit-widgets-sidebar__panel-tab:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.edit-widgets-widget-areas__top-container{display:flex;padding:16px}.edit-widgets-widget-areas__top-container .block-editor-block-icon{margin-left:16px}.edit-widgets-notices__snackbar{bottom:20px;left:0;padding-left:16px;padding-right:16px;position:fixed;right:0}@media (min-width:783px){.edit-widgets-notices__snackbar{right:160px}}@media (min-width:783px){.auto-fold .edit-widgets-notices__snackbar{right:36px}}@media (min-width:961px){.auto-fold .edit-widgets-notices__snackbar{right:160px}}.folded .edit-widgets-notices__snackbar{right:0}@media (min-width:783px){.folded .edit-widgets-notices__snackbar{right:36px}}body.is-fullscreen-mode .edit-widgets-notices__snackbar{right:0!important}.edit-widgets-notices__dismissible .components-notice,.edit-widgets-notices__pinned .components-notice{border-bottom:1px solid rgba(0,0,0,.2);box-sizing:border-box;min-height:60px;padding:0 12px}.edit-widgets-notices__dismissible .components-notice .components-notice__dismiss,.edit-widgets-notices__pinned .components-notice .components-notice__dismiss{margin-top:12px}.edit-widgets-layout__inserter-panel{display:flex;flex-direction:column;height:100%}.edit-widgets-layout__inserter-panel .block-editor-inserter__menu{overflow:hidden}.edit-widgets-layout__inserter-panel-header{display:flex;justify-content:flex-end;padding-left:8px;padding-top:8px}.edit-widgets-layout__inserter-panel-content{height:calc(100% - 44px)}@media (min-width:782px){.edit-widgets-layout__inserter-panel-content{height:100%}}.edit-widgets-welcome-guide{width:312px}.edit-widgets-welcome-guide__image{background:#00a0d2;margin:0 0 16px}.edit-widgets-welcome-guide__image>img{display:block;max-width:100%;object-fit:cover}.edit-widgets-welcome-guide__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:24px;line-height:1.4;margin:16px 0;padding:0 32px}.edit-widgets-welcome-guide__text{font-size:13px;line-height:1.4;margin:0 0 24px;padding:0 32px}.edit-widgets-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}.edit-widgets-block-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;position:relative}.edit-widgets-block-editor,.edit-widgets-block-editor .block-editor-writing-flow,.edit-widgets-block-editor>div:last-of-type{display:flex;flex-direction:column;flex-grow:1}.edit-widgets-block-editor .edit-widgets-main-block-list{height:100%}.edit-widgets-block-editor .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.edit-widgets-block-editor .components-button.has-icon,.edit-widgets-block-editor .components-button.is-tertiary{padding:6px}.edit-widgets-editor__list-view-panel{display:flex;flex-direction:column;height:100%;min-width:350px}.edit-widgets-editor__list-view-panel-content{height:calc(100% - 44px);overflow-y:auto;padding:8px}.edit-widgets-editor__list-view-panel-header{align-items:center;border-bottom:1px solid #ddd;display:flex;height:48px;justify-content:space-between;padding-left:4px;padding-right:16px}body.js.appearance_page_gutenberg-widgets,body.js.widgets-php{background:#fff}body.js.appearance_page_gutenberg-widgets #wpcontent,body.js.widgets-php #wpcontent{padding-right:0}body.js.appearance_page_gutenberg-widgets #wpbody-content,body.js.widgets-php #wpbody-content{padding-bottom:0}body.js.appearance_page_gutenberg-widgets #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.js.appearance_page_gutenberg-widgets #wpfooter,body.js.widgets-php #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.js.widgets-php #wpfooter{display:none}body.js.appearance_page_gutenberg-widgets .a11y-speak-region,body.js.widgets-php .a11y-speak-region{right:-1px;top:-1px}body.js.appearance_page_gutenberg-widgets ul#adminmenu a.wp-has-current-submenu:after,body.js.appearance_page_gutenberg-widgets ul#adminmenu>li.current>a.current:after,body.js.widgets-php ul#adminmenu a.wp-has-current-submenu:after,body.js.widgets-php ul#adminmenu>li.current>a.current:after{border-left-color:#fff}body.js.appearance_page_gutenberg-widgets .media-frame select.attachment-filters:last-of-type,body.js.widgets-php .media-frame select.attachment-filters:last-of-type{max-width:100%;width:auto}.blocks-widgets-container,.components-modal__frame{box-sizing:border-box}.blocks-widgets-container *,.blocks-widgets-container :after,.blocks-widgets-container :before,.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before{box-sizing:inherit}@media (min-width:600px){.blocks-widgets-container{bottom:0;left:0;min-height:calc(100vh - 46px);position:absolute;right:0;top:0}}@media (min-width:782px){.blocks-widgets-container{min-height:calc(100vh - 32px)}}.blocks-widgets-container .interface-interface-skeleton__content{background-color:#f0f0f0}.blocks-widgets-container .editor-styles-wrapper{margin:auto;max-width:700px}.edit-widgets-sidebar .components-button.interface-complementary-area__pin-unpin-item{display:none}.js .widgets-php .notice{display:none!important}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file diff --git a/wp-includes/css/dist/edit-widgets/style.css b/wp-includes/css/dist/edit-widgets/style.css index 6b9f2be260..a5560007dc 100644 --- a/wp-includes/css/dist/edit-widgets/style.css +++ b/wp-includes/css/dist/edit-widgets/style.css @@ -359,8 +359,7 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .interface-pinned-items{ display:flex; - gap:4px; - margin-right:-4px; + gap:8px; } .interface-pinned-items .components-button{ display:none; @@ -377,92 +376,6 @@ body.is-fullscreen-mode .interface-interface-skeleton{ .interface-pinned-items .components-button{ display:flex; } - .interface-preferences-modal{ - height:calc(100% - 120px); - width:calc(100% - 32px); - } -} -@media (min-width:782px){ - .interface-preferences-modal{ - width:750px; - } -} -@media (min-width:960px){ - .interface-preferences-modal{ - height:70%; - } -} -@media (max-width:781px){ - .interface-preferences-modal .components-modal__content{ - padding:0; - } -} - -.interface-preferences__tabs .components-tab-panel__tabs{ - left:16px; - position:absolute; - top:84px; - width:160px; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{ - border-radius:2px; - font-weight:400; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{ - background:#f0f0f0; - box-shadow:none; - font-weight:500; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active:after{ - content:none; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled){ - box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); - outline:2px solid transparent; -} -.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus-visible:before{ - content:none; -} -.interface-preferences__tabs .components-tab-panel__tab-content{ - margin-left:160px; - padding-left:24px; -} - -@media (max-width:781px){ - .interface-preferences__provider{ - height:100%; - } -} -.interface-preferences-modal__section{ - margin:0 0 2.5rem; -} -.interface-preferences-modal__section:last-child{ - margin:0; -} - -.interface-preferences-modal__section-legend{ - margin-bottom:8px; -} - -.interface-preferences-modal__section-title{ - font-size:.9rem; - font-weight:600; - margin-top:0; -} - -.interface-preferences-modal__section-description{ - color:#757575; - font-size:12px; - font-style:normal; - margin:-8px 0 8px; -} - -.interface-preferences-modal__option+.interface-preferences-modal__option{ - margin-top:16px; -} -.interface-preferences-modal__option .components-base-control__help{ - margin-left:48px; - margin-top:0; } .wp-block[data-type="core/widget-area"]{ @@ -531,10 +444,31 @@ body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .c overflow:visible; } } +.edit-widgets-header .selected-block-tools-wrapper{ + overflow-x:hidden; +} +.edit-widgets-header .selected-block-tools-wrapper .block-editor-block-contextual-toolbar{ + border-bottom:0; +} +.edit-widgets-header .selected-block-tools-wrapper .components-toolbar,.edit-widgets-header .selected-block-tools-wrapper .components-toolbar-group{ + border-right:none; +} +.edit-widgets-header .selected-block-tools-wrapper .components-toolbar-group:after,.edit-widgets-header .selected-block-tools-wrapper .components-toolbar:after{ + background-color:#ddd; + content:""; + margin-bottom:12px; + margin-left:8px; + margin-top:12px; + width:1px; +} +.edit-widgets-header .selected-block-tools-wrapper .components-toolbar .components-toolbar-group.components-toolbar-group:after,.edit-widgets-header .selected-block-tools-wrapper .components-toolbar-group .components-toolbar-group.components-toolbar-group:after{ + display:none; +} .edit-widgets-header__navigable-toolbar-wrapper{ align-items:center; display:flex; + flex-shrink:2; justify-content:center; padding-left:16px; } @@ -558,7 +492,7 @@ body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .c } .edit-widgets-header-toolbar{ - border:none; + gap:8px; } .edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon{ height:36px; @@ -783,7 +717,6 @@ body.is-fullscreen-mode .edit-widgets-notices__snackbar{ .edit-widgets-notices__dismissible .components-notice,.edit-widgets-notices__pinned .components-notice{ border-bottom:1px solid rgba(0,0,0,.2); box-sizing:border-box; - margin:0; min-height:60px; padding:0 12px; } @@ -816,12 +749,6 @@ body.is-fullscreen-mode .edit-widgets-notices__snackbar{ } } -@media (min-width:782px){ - .blocks-widgets-container .interface-interface-skeleton__header:not(:focus-within){ - z-index:19; - } -} - .edit-widgets-welcome-guide{ width:312px; } @@ -872,89 +799,6 @@ body.is-fullscreen-mode .edit-widgets-notices__snackbar{ padding:6px; } -.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:0; -} -@media (min-width:783px){ - .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:160px; - } -} -@media (min-width:783px){ - .auto-fold .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:36px; - } -} -@media (min-width:961px){ - .auto-fold .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:160px; - } -} -.folded .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:0; -} -@media (min-width:783px){ - .folded .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:36px; - } -} - -body.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - left:0 !important; -} - -.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - display:block; - position:sticky; - top:0; - width:100%; - z-index:31; -} -@media (min-width:782px){ - .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - align-items:center; - border-bottom:none; - display:flex; - height:60px; - margin-left:180px; - min-height:auto; - position:fixed; - top:32px; - width:calc(100% - 180px); - } - .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed:empty{ - width:auto; - } - .is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-left:240px; - top:0; - } - .is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed:empty{ - width:auto; - } - .show-icon-labels .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-left:80px; - width:calc(100% - 140px); - } - .is-fullscreen-mode .show-icon-labels .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-left:144px; - } - .blocks-widgets-container .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - margin-left:153.6px; - } - .blocks-widgets-container .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed{ - margin-left:268.8px; - } -} -@media (min-width:960px){ - .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed,.show-icon-labels .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - width:auto; - } - .is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{ - width:calc(100% - 536px); - } -} - .edit-widgets-editor__list-view-panel{ display:flex; flex-direction:column; diff --git a/wp-includes/css/dist/edit-widgets/style.min.css b/wp-includes/css/dist/edit-widgets/style.min.css index 7b0890ba1a..a665e8376b 100644 --- a/wp-includes/css/dist/edit-widgets/style.min.css +++ b/wp-includes/css/dist/edit-widgets/style.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-panel__header.interface-complementary-area-header__small{background:#fff;padding-right:4px}.components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:782px){.components-panel__header.interface-complementary-area-header__small{display:none}}.interface-complementary-area-header{background:#fff;padding-right:4px}.interface-complementary-area-header .components-button.has-icon{display:none;margin-left:auto}.interface-complementary-area-header .components-button.has-icon~.components-button{margin-left:0}@media (min-width:782px){.interface-complementary-area-header .components-button.has-icon{display:flex}.components-panel__header+.interface-complementary-area-header{margin-top:0}}.interface-complementary-area{background:#fff;color:#1e1e1e}@media (min-width:600px){.interface-complementary-area{-webkit-overflow-scrolling:touch}}@media (min-width:782px){.interface-complementary-area{width:280px}}.interface-complementary-area .components-panel{border:none;position:relative;z-index:0}.interface-complementary-area .components-panel__header{position:sticky;top:0;z-index:1}.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:48px}@media (min-width:782px){.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:0}}.interface-complementary-area p:not(.components-base-control__help){margin-top:0}.interface-complementary-area h2{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.interface-complementary-area h3{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.interface-complementary-area hr{border-bottom:1px solid #f0f0f0;border-top:none;margin:1.5em 0}.interface-complementary-area div.components-toolbar,.interface-complementary-area div.components-toolbar-group{box-shadow:none;margin-bottom:1.5em}.interface-complementary-area div.components-toolbar-group:last-child,.interface-complementary-area div.components-toolbar:last-child{margin-bottom:0}.interface-complementary-area .block-editor-skip-to-selected-block:focus{bottom:10px;left:auto;right:10px;top:auto}@media (min-width:782px){body.js.is-fullscreen-mode{height:calc(100% + 32px);margin-top:-32px}body.js.is-fullscreen-mode #adminmenumain,body.js.is-fullscreen-mode #wpadminbar{display:none}body.js.is-fullscreen-mode #wpcontent,body.js.is-fullscreen-mode #wpfooter{margin-left:0}}html.interface-interface-skeleton__html-container{position:fixed;width:100%}@media (min-width:782px){html.interface-interface-skeleton__html-container{position:static;width:auto}}.interface-interface-skeleton{bottom:0;display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;right:0;top:46px}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden}.interface-interface-skeleton{left:0}@media (min-width:783px){.interface-interface-skeleton{left:160px}}@media (min-width:783px){.auto-fold .interface-interface-skeleton{left:36px}}@media (min-width:961px){.auto-fold .interface-interface-skeleton{left:160px}}.folded .interface-interface-skeleton{left:0}@media (min-width:783px){.folded .interface-interface-skeleton{left:36px}}body.is-fullscreen-mode .interface-interface-skeleton{left:0!important}.interface-interface-skeleton__body{display:flex;flex-grow:1;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;z-index:20}@media (min-width:782px){.interface-interface-skeleton__content{z-index:auto}}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{background:#fff;bottom:0;color:#1e1e1e;flex-shrink:0;left:0;position:absolute;right:0;top:0;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;width:auto}.is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,.is-sidebar-opened .interface-interface-skeleton__sidebar{z-index:90}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-left:1px solid #e0e0e0}.interface-interface-skeleton__secondary-sidebar{border-right:1px solid #e0e0e0}}.interface-interface-skeleton__header{border-bottom:1px solid #e0e0e0;color:#1e1e1e;flex-shrink:0;height:auto;z-index:30}.interface-interface-skeleton__footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;color:#1e1e1e;display:none;flex-shrink:0;height:auto;left:0;position:absolute;width:100%;z-index:90}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{align-items:center;background:#fff;display:flex;font-size:13px;height:24px;padding:0 18px;z-index:30}.interface-interface-skeleton__actions{background:#fff;bottom:auto;color:#1e1e1e;left:auto;position:fixed!important;right:0;top:-9999em;width:100vw;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__actions{width:280px}}.interface-interface-skeleton__actions:focus,.interface-interface-skeleton__actions:focus-within{bottom:0;top:auto}.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:46px}@media (min-width:782px){.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{border-left:1px solid #ddd;top:32px}.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:0}}.interface-more-menu-dropdown{margin-left:-4px}.interface-more-menu-dropdown .components-button{padding:0 2px;width:auto}@media (min-width:600px){.interface-more-menu-dropdown{margin-left:0}.interface-more-menu-dropdown .components-button{padding:0 4px}}.interface-more-menu-dropdown__content .components-popover__content{min-width:280px}@media (min-width:480px){.interface-more-menu-dropdown__content .components-popover__content{max-width:480px}}.interface-more-menu-dropdown__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.interface-more-menu-dropdown__content{z-index:99998}.interface-pinned-items{display:flex;gap:4px;margin-right:-4px}.interface-pinned-items .components-button{display:none;margin:0}.interface-pinned-items .components-button[aria-controls="edit-post:block"],.interface-pinned-items .components-button[aria-controls="edit-post:document"],.interface-pinned-items .components-button[aria-controls="edit-site:block-inspector"],.interface-pinned-items .components-button[aria-controls="edit-site:global-styles"],.interface-pinned-items .components-button[aria-controls="edit-site:template"]{display:flex}.interface-pinned-items .components-button svg{max-height:24px;max-width:24px}@media (min-width:600px){.interface-pinned-items .components-button{display:flex}.interface-preferences-modal{height:calc(100% - 120px);width:calc(100% - 32px)}}@media (min-width:782px){.interface-preferences-modal{width:750px}}@media (min-width:960px){.interface-preferences-modal{height:70%}}@media (max-width:781px){.interface-preferences-modal .components-modal__content{padding:0}}.interface-preferences__tabs .components-tab-panel__tabs{left:16px;position:absolute;top:84px;width:160px}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{border-radius:2px;font-weight:400}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{background:#f0f0f0;box-shadow:none;font-weight:500}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active:after{content:none}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus-visible:before{content:none}.interface-preferences__tabs .components-tab-panel__tab-content{margin-left:160px;padding-left:24px}@media (max-width:781px){.interface-preferences__provider{height:100%}}.interface-preferences-modal__section{margin:0 0 2.5rem}.interface-preferences-modal__section:last-child{margin:0}.interface-preferences-modal__section-legend{margin-bottom:8px}.interface-preferences-modal__section-title{font-size:.9rem;font-weight:600;margin-top:0}.interface-preferences-modal__section-description{color:#757575;font-size:12px;font-style:normal;margin:-8px 0 8px}.interface-preferences-modal__option+.interface-preferences-modal__option{margin-top:16px}.interface-preferences-modal__option .components-base-control__help{margin-left:48px;margin-top:0}.wp-block[data-type="core/widget-area"]{margin-left:auto;margin-right:auto;max-width:700px}.wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title{background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:48px;margin:0;position:relative;transform:translateZ(0);z-index:1}.wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title:hover{background:#fff}.wp-block[data-type="core/widget-area"] .block-list-appender.wp-block{position:relative;width:auto}.wp-block[data-type="core/widget-area"] .editor-styles-wrapper .wp-block.wp-block.wp-block.wp-block.wp-block{max-width:100%}.wp-block[data-type="core/widget-area"] .components-panel__body.is-opened{padding:0}.blocks-widgets-container .wp-block-widget-area__inner-blocks.editor-styles-wrapper{margin:0;padding:0}.blocks-widgets-container .wp-block-widget-area__inner-blocks.editor-styles-wrapper>.block-editor-block-list__layout{margin-top:-48px;min-height:32px;padding:72px 16px 16px}.wp-block-widget-area__highlight-drop-zone{outline:var(--wp-admin-border-width-focus) solid var(--wp-admin-theme-color)}body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title,body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title *{pointer-events:none}.edit-widgets-error-boundary{box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),.1px 11.5px 16.4px -.5px rgba(0,0,0,.15);margin:60px auto auto;max-width:780px;padding:20px}.edit-widgets-header{align-items:center;background:#fff;display:flex;height:60px;justify-content:space-between;overflow:auto}@media (min-width:600px){.edit-widgets-header{overflow:visible}}.edit-widgets-header__navigable-toolbar-wrapper{align-items:center;display:flex;justify-content:center;padding-left:16px}.edit-widgets-header__title{font-size:20px;margin:0 20px 0 0;padding:0}.edit-widgets-header__actions{align-items:center;display:flex;gap:4px;padding-right:16px}@media (min-width:600px){.edit-widgets-header__actions{gap:8px}}.edit-widgets-header-toolbar{border:none}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon{height:36px;min-width:36px;padding:6px}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon.is-pressed,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon.is-pressed{background:#1e1e1e}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon:focus:not(:disabled),.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 1px #fff;outline:1px solid transparent}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon:before,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon:before{display:none}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle{padding-left:8px;padding-right:8px}@media (min-width:600px){.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle{padding-left:12px;padding-right:12px}}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle:after{content:none}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle svg{transition:transform .2s cubic-bezier(.165,.84,.44,1)}@media (prefers-reduced-motion:reduce){.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle svg{transition-delay:0s;transition-duration:0s}}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle.is-pressed svg{transform:rotate(45deg)}.edit-widgets-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-widgets-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.edit-widgets-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.edit-widgets-keyboard-shortcut-help-modal__shortcut:empty{display:none}.edit-widgets-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 0 0 1rem;text-align:right}.edit-widgets-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination+.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.components-panel__header.edit-widgets-sidebar__panel-tabs{border-top:0;justify-content:flex-start;margin-top:0;padding-left:0;padding-right:4px}.components-panel__header.edit-widgets-sidebar__panel-tabs ul{display:flex}.components-panel__header.edit-widgets-sidebar__panel-tabs li{margin:0}.components-panel__header.edit-widgets-sidebar__panel-tabs .components-button.has-icon{display:none;margin-left:auto}@media (min-width:782px){.components-panel__header.edit-widgets-sidebar__panel-tabs .components-button.has-icon{display:flex}}.components-button.edit-widgets-sidebar__panel-tab{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-left:0;padding:3px 16px;position:relative}.components-button.edit-widgets-sidebar__panel-tab:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-button.edit-widgets-sidebar__panel-tab:after{background:var(--wp-admin-theme-color);border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-widgets-sidebar__panel-tab:after{transition-delay:0s;transition-duration:0s}}.components-button.edit-widgets-sidebar__panel-tab.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-button.edit-widgets-sidebar__panel-tab:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-widgets-sidebar__panel-tab:before{transition-delay:0s;transition-duration:0s}}.components-button.edit-widgets-sidebar__panel-tab:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.edit-widgets-widget-areas__top-container{display:flex;padding:16px}.edit-widgets-widget-areas__top-container .block-editor-block-icon{margin-right:16px}.edit-widgets-notices__snackbar{bottom:20px;left:0;padding-left:16px;padding-right:16px;position:fixed;right:0}@media (min-width:783px){.edit-widgets-notices__snackbar{left:160px}}@media (min-width:783px){.auto-fold .edit-widgets-notices__snackbar{left:36px}}@media (min-width:961px){.auto-fold .edit-widgets-notices__snackbar{left:160px}}.folded .edit-widgets-notices__snackbar{left:0}@media (min-width:783px){.folded .edit-widgets-notices__snackbar{left:36px}}body.is-fullscreen-mode .edit-widgets-notices__snackbar{left:0!important}.edit-widgets-notices__dismissible .components-notice,.edit-widgets-notices__pinned .components-notice{border-bottom:1px solid rgba(0,0,0,.2);box-sizing:border-box;margin:0;min-height:60px;padding:0 12px}.edit-widgets-notices__dismissible .components-notice .components-notice__dismiss,.edit-widgets-notices__pinned .components-notice .components-notice__dismiss{margin-top:12px}.edit-widgets-layout__inserter-panel{display:flex;flex-direction:column;height:100%}.edit-widgets-layout__inserter-panel .block-editor-inserter__menu{overflow:hidden}.edit-widgets-layout__inserter-panel-header{display:flex;justify-content:flex-end;padding-right:8px;padding-top:8px}.edit-widgets-layout__inserter-panel-content{height:calc(100% - 44px)}@media (min-width:782px){.edit-widgets-layout__inserter-panel-content{height:100%}}@media (min-width:782px){.blocks-widgets-container .interface-interface-skeleton__header:not(:focus-within){z-index:19}}.edit-widgets-welcome-guide{width:312px}.edit-widgets-welcome-guide__image{background:#00a0d2;margin:0 0 16px}.edit-widgets-welcome-guide__image>img{display:block;max-width:100%;object-fit:cover}.edit-widgets-welcome-guide__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:24px;line-height:1.4;margin:16px 0;padding:0 32px}.edit-widgets-welcome-guide__text{font-size:13px;line-height:1.4;margin:0 0 24px;padding:0 32px}.edit-widgets-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}.edit-widgets-block-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;position:relative}.edit-widgets-block-editor,.edit-widgets-block-editor .block-editor-writing-flow,.edit-widgets-block-editor>div:last-of-type{display:flex;flex-direction:column;flex-grow:1}.edit-widgets-block-editor .edit-widgets-main-block-list{height:100%}.edit-widgets-block-editor .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.edit-widgets-block-editor .components-button.has-icon,.edit-widgets-block-editor .components-button.is-tertiary{padding:6px}.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{left:0}@media (min-width:783px){.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{left:160px}}@media (min-width:783px){.auto-fold .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{left:36px}}@media (min-width:961px){.auto-fold .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{left:160px}}.folded .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{left:0}@media (min-width:783px){.folded .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{left:36px}}body.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{left:0!important}.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{display:block;position:sticky;top:0;width:100%;z-index:31}@media (min-width:782px){.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{align-items:center;border-bottom:none;display:flex;height:60px;margin-left:180px;min-height:auto;position:fixed;top:32px;width:calc(100% - 180px)}.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed:empty{width:auto}.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{margin-left:240px;top:0}.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed,.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed:empty{width:auto}.show-icon-labels .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{margin-left:80px;width:calc(100% - 140px)}.is-fullscreen-mode .show-icon-labels .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{margin-left:144px}.blocks-widgets-container .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{margin-left:153.6px}.blocks-widgets-container .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed.is-collapsed{margin-left:268.8px}}@media (min-width:960px){.edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed,.show-icon-labels .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{width:auto}.is-fullscreen-mode .edit-widgets-block-editor .block-editor-block-contextual-toolbar.is-fixed{width:calc(100% - 536px)}}.edit-widgets-editor__list-view-panel{display:flex;flex-direction:column;height:100%;min-width:350px}.edit-widgets-editor__list-view-panel-content{height:calc(100% - 44px);overflow-y:auto;padding:8px}.edit-widgets-editor__list-view-panel-header{align-items:center;border-bottom:1px solid #ddd;display:flex;height:48px;justify-content:space-between;padding-left:16px;padding-right:4px}body.js.appearance_page_gutenberg-widgets,body.js.widgets-php{background:#fff}body.js.appearance_page_gutenberg-widgets #wpcontent,body.js.widgets-php #wpcontent{padding-left:0}body.js.appearance_page_gutenberg-widgets #wpbody-content,body.js.widgets-php #wpbody-content{padding-bottom:0}body.js.appearance_page_gutenberg-widgets #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.js.appearance_page_gutenberg-widgets #wpfooter,body.js.widgets-php #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.js.widgets-php #wpfooter{display:none}body.js.appearance_page_gutenberg-widgets .a11y-speak-region,body.js.widgets-php .a11y-speak-region{left:-1px;top:-1px}body.js.appearance_page_gutenberg-widgets ul#adminmenu a.wp-has-current-submenu:after,body.js.appearance_page_gutenberg-widgets ul#adminmenu>li.current>a.current:after,body.js.widgets-php ul#adminmenu a.wp-has-current-submenu:after,body.js.widgets-php ul#adminmenu>li.current>a.current:after{border-right-color:#fff}body.js.appearance_page_gutenberg-widgets .media-frame select.attachment-filters:last-of-type,body.js.widgets-php .media-frame select.attachment-filters:last-of-type{max-width:100%;width:auto}.blocks-widgets-container,.components-modal__frame{box-sizing:border-box}.blocks-widgets-container *,.blocks-widgets-container :after,.blocks-widgets-container :before,.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before{box-sizing:inherit}@media (min-width:600px){.blocks-widgets-container{bottom:0;left:0;min-height:calc(100vh - 46px);position:absolute;right:0;top:0}}@media (min-width:782px){.blocks-widgets-container{min-height:calc(100vh - 32px)}}.blocks-widgets-container .interface-interface-skeleton__content{background-color:#f0f0f0}.blocks-widgets-container .editor-styles-wrapper{margin:auto;max-width:700px}.edit-widgets-sidebar .components-button.interface-complementary-area__pin-unpin-item{display:none}.js .widgets-php .notice{display:none!important}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.components-panel__header.interface-complementary-area-header__small{background:#fff;padding-right:4px}.components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:782px){.components-panel__header.interface-complementary-area-header__small{display:none}}.interface-complementary-area-header{background:#fff;padding-right:4px}.interface-complementary-area-header .components-button.has-icon{display:none;margin-left:auto}.interface-complementary-area-header .components-button.has-icon~.components-button{margin-left:0}@media (min-width:782px){.interface-complementary-area-header .components-button.has-icon{display:flex}.components-panel__header+.interface-complementary-area-header{margin-top:0}}.interface-complementary-area{background:#fff;color:#1e1e1e}@media (min-width:600px){.interface-complementary-area{-webkit-overflow-scrolling:touch}}@media (min-width:782px){.interface-complementary-area{width:280px}}.interface-complementary-area .components-panel{border:none;position:relative;z-index:0}.interface-complementary-area .components-panel__header{position:sticky;top:0;z-index:1}.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:48px}@media (min-width:782px){.interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs{top:0}}.interface-complementary-area p:not(.components-base-control__help){margin-top:0}.interface-complementary-area h2{color:#1e1e1e;font-size:13px;margin-bottom:1.5em}.interface-complementary-area h3{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.interface-complementary-area hr{border-bottom:1px solid #f0f0f0;border-top:none;margin:1.5em 0}.interface-complementary-area div.components-toolbar,.interface-complementary-area div.components-toolbar-group{box-shadow:none;margin-bottom:1.5em}.interface-complementary-area div.components-toolbar-group:last-child,.interface-complementary-area div.components-toolbar:last-child{margin-bottom:0}.interface-complementary-area .block-editor-skip-to-selected-block:focus{bottom:10px;left:auto;right:10px;top:auto}@media (min-width:782px){body.js.is-fullscreen-mode{height:calc(100% + 32px);margin-top:-32px}body.js.is-fullscreen-mode #adminmenumain,body.js.is-fullscreen-mode #wpadminbar{display:none}body.js.is-fullscreen-mode #wpcontent,body.js.is-fullscreen-mode #wpfooter{margin-left:0}}html.interface-interface-skeleton__html-container{position:fixed;width:100%}@media (min-width:782px){html.interface-interface-skeleton__html-container{position:static;width:auto}}.interface-interface-skeleton{bottom:0;display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;right:0;top:46px}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden}.interface-interface-skeleton{left:0}@media (min-width:783px){.interface-interface-skeleton{left:160px}}@media (min-width:783px){.auto-fold .interface-interface-skeleton{left:36px}}@media (min-width:961px){.auto-fold .interface-interface-skeleton{left:160px}}.folded .interface-interface-skeleton{left:0}@media (min-width:783px){.folded .interface-interface-skeleton{left:36px}}body.is-fullscreen-mode .interface-interface-skeleton{left:0!important}.interface-interface-skeleton__body{display:flex;flex-grow:1;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;z-index:20}@media (min-width:782px){.interface-interface-skeleton__content{z-index:auto}}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{background:#fff;bottom:0;color:#1e1e1e;flex-shrink:0;left:0;position:absolute;right:0;top:0;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;width:auto}.is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,.is-sidebar-opened .interface-interface-skeleton__sidebar{z-index:90}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-left:1px solid #e0e0e0}.interface-interface-skeleton__secondary-sidebar{border-right:1px solid #e0e0e0}}.interface-interface-skeleton__header{border-bottom:1px solid #e0e0e0;color:#1e1e1e;flex-shrink:0;height:auto;z-index:30}.interface-interface-skeleton__footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;color:#1e1e1e;display:none;flex-shrink:0;height:auto;left:0;position:absolute;width:100%;z-index:90}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{align-items:center;background:#fff;display:flex;font-size:13px;height:24px;padding:0 18px;z-index:30}.interface-interface-skeleton__actions{background:#fff;bottom:auto;color:#1e1e1e;left:auto;position:fixed!important;right:0;top:-9999em;width:100vw;z-index:100000}@media (min-width:782px){.interface-interface-skeleton__actions{width:280px}}.interface-interface-skeleton__actions:focus,.interface-interface-skeleton__actions:focus-within{bottom:0;top:auto}.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:46px}@media (min-width:782px){.is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{border-left:1px solid #ddd;top:32px}.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus,.is-fullscreen-mode .is-entity-save-view-open .interface-interface-skeleton__actions:focus-within{top:0}}.interface-more-menu-dropdown{margin-left:-4px}.interface-more-menu-dropdown .components-button{padding:0 2px;width:auto}@media (min-width:600px){.interface-more-menu-dropdown{margin-left:0}.interface-more-menu-dropdown .components-button{padding:0 4px}}.interface-more-menu-dropdown__content .components-popover__content{min-width:280px}@media (min-width:480px){.interface-more-menu-dropdown__content .components-popover__content{max-width:480px}}.interface-more-menu-dropdown__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.interface-more-menu-dropdown__content{z-index:99998}.interface-pinned-items{display:flex;gap:8px}.interface-pinned-items .components-button{display:none;margin:0}.interface-pinned-items .components-button[aria-controls="edit-post:block"],.interface-pinned-items .components-button[aria-controls="edit-post:document"],.interface-pinned-items .components-button[aria-controls="edit-site:block-inspector"],.interface-pinned-items .components-button[aria-controls="edit-site:global-styles"],.interface-pinned-items .components-button[aria-controls="edit-site:template"]{display:flex}.interface-pinned-items .components-button svg{max-height:24px;max-width:24px}@media (min-width:600px){.interface-pinned-items .components-button{display:flex}}.wp-block[data-type="core/widget-area"]{margin-left:auto;margin-right:auto;max-width:700px}.wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title{background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:48px;margin:0;position:relative;transform:translateZ(0);z-index:1}.wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title:hover{background:#fff}.wp-block[data-type="core/widget-area"] .block-list-appender.wp-block{position:relative;width:auto}.wp-block[data-type="core/widget-area"] .editor-styles-wrapper .wp-block.wp-block.wp-block.wp-block.wp-block{max-width:100%}.wp-block[data-type="core/widget-area"] .components-panel__body.is-opened{padding:0}.blocks-widgets-container .wp-block-widget-area__inner-blocks.editor-styles-wrapper{margin:0;padding:0}.blocks-widgets-container .wp-block-widget-area__inner-blocks.editor-styles-wrapper>.block-editor-block-list__layout{margin-top:-48px;min-height:32px;padding:72px 16px 16px}.wp-block-widget-area__highlight-drop-zone{outline:var(--wp-admin-border-width-focus) solid var(--wp-admin-theme-color)}body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title,body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title *{pointer-events:none}.edit-widgets-error-boundary{box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),.1px 11.5px 16.4px -.5px rgba(0,0,0,.15);margin:60px auto auto;max-width:780px;padding:20px}.edit-widgets-header{align-items:center;background:#fff;display:flex;height:60px;justify-content:space-between;overflow:auto}@media (min-width:600px){.edit-widgets-header{overflow:visible}}.edit-widgets-header .selected-block-tools-wrapper{overflow-x:hidden}.edit-widgets-header .selected-block-tools-wrapper .block-editor-block-contextual-toolbar{border-bottom:0}.edit-widgets-header .selected-block-tools-wrapper .components-toolbar,.edit-widgets-header .selected-block-tools-wrapper .components-toolbar-group{border-right:none}.edit-widgets-header .selected-block-tools-wrapper .components-toolbar-group:after,.edit-widgets-header .selected-block-tools-wrapper .components-toolbar:after{background-color:#ddd;content:"";margin-bottom:12px;margin-left:8px;margin-top:12px;width:1px}.edit-widgets-header .selected-block-tools-wrapper .components-toolbar .components-toolbar-group.components-toolbar-group:after,.edit-widgets-header .selected-block-tools-wrapper .components-toolbar-group .components-toolbar-group.components-toolbar-group:after{display:none}.edit-widgets-header__navigable-toolbar-wrapper{align-items:center;display:flex;flex-shrink:2;justify-content:center;padding-left:16px}.edit-widgets-header__title{font-size:20px;margin:0 20px 0 0;padding:0}.edit-widgets-header__actions{align-items:center;display:flex;gap:4px;padding-right:16px}@media (min-width:600px){.edit-widgets-header__actions{gap:8px}}.edit-widgets-header-toolbar{gap:8px}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon{height:36px;min-width:36px;padding:6px}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon.is-pressed,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon.is-pressed{background:#1e1e1e}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon:focus:not(:disabled),.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 1px #fff;outline:1px solid transparent}.edit-widgets-header-toolbar>.components-button.has-icon.has-icon.has-icon:before,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.has-icon:before{display:none}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle{padding-left:8px;padding-right:8px}@media (min-width:600px){.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle{padding-left:12px;padding-right:12px}}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle:after{content:none}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle svg{transition:transform .2s cubic-bezier(.165,.84,.44,1)}@media (prefers-reduced-motion:reduce){.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle svg{transition-delay:0s;transition-duration:0s}}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle.is-pressed svg{transform:rotate(45deg)}.edit-widgets-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-widgets-keyboard-shortcut-help-modal__shortcut{align-items:baseline;border-top:1px solid #ddd;display:flex;margin-bottom:0;padding:.6rem 0}.edit-widgets-keyboard-shortcut-help-modal__shortcut:last-child{border-bottom:1px solid #ddd}.edit-widgets-keyboard-shortcut-help-modal__shortcut:empty{display:none}.edit-widgets-keyboard-shortcut-help-modal__shortcut-term{font-weight:600;margin:0 0 0 1rem;text-align:right}.edit-widgets-keyboard-shortcut-help-modal__shortcut-description{flex:1;flex-basis:auto;margin:0}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{background:none;display:block;margin:0;padding:0}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination+.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{margin-top:10px}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key{border-radius:8%;margin:0 .2rem;padding:.25rem .5rem}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.components-panel__header.edit-widgets-sidebar__panel-tabs{border-top:0;justify-content:flex-start;margin-top:0;padding-left:0;padding-right:4px}.components-panel__header.edit-widgets-sidebar__panel-tabs ul{display:flex}.components-panel__header.edit-widgets-sidebar__panel-tabs li{margin:0}.components-panel__header.edit-widgets-sidebar__panel-tabs .components-button.has-icon{display:none;margin-left:auto}@media (min-width:782px){.components-panel__header.edit-widgets-sidebar__panel-tabs .components-button.has-icon{display:flex}}.components-button.edit-widgets-sidebar__panel-tab{background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;font-weight:500;height:48px;margin-left:0;padding:3px 16px;position:relative}.components-button.edit-widgets-sidebar__panel-tab:focus:not(:disabled){box-shadow:none;outline:none;position:relative}.components-button.edit-widgets-sidebar__panel-tab:after{background:var(--wp-admin-theme-color);border-radius:0;bottom:0;content:"";height:calc(var(--wp-admin-border-width-focus)*0);left:0;pointer-events:none;position:absolute;right:0;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-widgets-sidebar__panel-tab:after{transition-delay:0s;transition-duration:0s}}.components-button.edit-widgets-sidebar__panel-tab.is-active:after{height:calc(var(--wp-admin-border-width-focus)*1);outline:2px solid transparent;outline-offset:-1px}.components-button.edit-widgets-sidebar__panel-tab:before{border-radius:2px;bottom:12px;box-shadow:0 0 0 0 transparent;content:"";left:12px;pointer-events:none;position:absolute;right:12px;top:12px;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.components-button.edit-widgets-sidebar__panel-tab:before{transition-delay:0s;transition-duration:0s}}.components-button.edit-widgets-sidebar__panel-tab:focus-visible:before{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.edit-widgets-widget-areas__top-container{display:flex;padding:16px}.edit-widgets-widget-areas__top-container .block-editor-block-icon{margin-right:16px}.edit-widgets-notices__snackbar{bottom:20px;left:0;padding-left:16px;padding-right:16px;position:fixed;right:0}@media (min-width:783px){.edit-widgets-notices__snackbar{left:160px}}@media (min-width:783px){.auto-fold .edit-widgets-notices__snackbar{left:36px}}@media (min-width:961px){.auto-fold .edit-widgets-notices__snackbar{left:160px}}.folded .edit-widgets-notices__snackbar{left:0}@media (min-width:783px){.folded .edit-widgets-notices__snackbar{left:36px}}body.is-fullscreen-mode .edit-widgets-notices__snackbar{left:0!important}.edit-widgets-notices__dismissible .components-notice,.edit-widgets-notices__pinned .components-notice{border-bottom:1px solid rgba(0,0,0,.2);box-sizing:border-box;min-height:60px;padding:0 12px}.edit-widgets-notices__dismissible .components-notice .components-notice__dismiss,.edit-widgets-notices__pinned .components-notice .components-notice__dismiss{margin-top:12px}.edit-widgets-layout__inserter-panel{display:flex;flex-direction:column;height:100%}.edit-widgets-layout__inserter-panel .block-editor-inserter__menu{overflow:hidden}.edit-widgets-layout__inserter-panel-header{display:flex;justify-content:flex-end;padding-right:8px;padding-top:8px}.edit-widgets-layout__inserter-panel-content{height:calc(100% - 44px)}@media (min-width:782px){.edit-widgets-layout__inserter-panel-content{height:100%}}.edit-widgets-welcome-guide{width:312px}.edit-widgets-welcome-guide__image{background:#00a0d2;margin:0 0 16px}.edit-widgets-welcome-guide__image>img{display:block;max-width:100%;object-fit:cover}.edit-widgets-welcome-guide__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:24px;line-height:1.4;margin:16px 0;padding:0 32px}.edit-widgets-welcome-guide__text{font-size:13px;line-height:1.4;margin:0 0 24px;padding:0 32px}.edit-widgets-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}.edit-widgets-block-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;position:relative}.edit-widgets-block-editor,.edit-widgets-block-editor .block-editor-writing-flow,.edit-widgets-block-editor>div:last-of-type{display:flex;flex-direction:column;flex-grow:1}.edit-widgets-block-editor .edit-widgets-main-block-list{height:100%}.edit-widgets-block-editor .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.edit-widgets-block-editor .components-button.has-icon,.edit-widgets-block-editor .components-button.is-tertiary{padding:6px}.edit-widgets-editor__list-view-panel{display:flex;flex-direction:column;height:100%;min-width:350px}.edit-widgets-editor__list-view-panel-content{height:calc(100% - 44px);overflow-y:auto;padding:8px}.edit-widgets-editor__list-view-panel-header{align-items:center;border-bottom:1px solid #ddd;display:flex;height:48px;justify-content:space-between;padding-left:16px;padding-right:4px}body.js.appearance_page_gutenberg-widgets,body.js.widgets-php{background:#fff}body.js.appearance_page_gutenberg-widgets #wpcontent,body.js.widgets-php #wpcontent{padding-left:0}body.js.appearance_page_gutenberg-widgets #wpbody-content,body.js.widgets-php #wpbody-content{padding-bottom:0}body.js.appearance_page_gutenberg-widgets #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.js.appearance_page_gutenberg-widgets #wpfooter,body.js.widgets-php #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.js.widgets-php #wpfooter{display:none}body.js.appearance_page_gutenberg-widgets .a11y-speak-region,body.js.widgets-php .a11y-speak-region{left:-1px;top:-1px}body.js.appearance_page_gutenberg-widgets ul#adminmenu a.wp-has-current-submenu:after,body.js.appearance_page_gutenberg-widgets ul#adminmenu>li.current>a.current:after,body.js.widgets-php ul#adminmenu a.wp-has-current-submenu:after,body.js.widgets-php ul#adminmenu>li.current>a.current:after{border-right-color:#fff}body.js.appearance_page_gutenberg-widgets .media-frame select.attachment-filters:last-of-type,body.js.widgets-php .media-frame select.attachment-filters:last-of-type{max-width:100%;width:auto}.blocks-widgets-container,.components-modal__frame{box-sizing:border-box}.blocks-widgets-container *,.blocks-widgets-container :after,.blocks-widgets-container :before,.components-modal__frame *,.components-modal__frame :after,.components-modal__frame :before{box-sizing:inherit}@media (min-width:600px){.blocks-widgets-container{bottom:0;left:0;min-height:calc(100vh - 46px);position:absolute;right:0;top:0}}@media (min-width:782px){.blocks-widgets-container{min-height:calc(100vh - 32px)}}.blocks-widgets-container .interface-interface-skeleton__content{background-color:#f0f0f0}.blocks-widgets-container .editor-styles-wrapper{margin:auto;max-width:700px}.edit-widgets-sidebar .components-button.interface-complementary-area__pin-unpin-item{display:none}.js .widgets-php .notice{display:none!important}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}} \ No newline at end of file diff --git a/wp-includes/css/dist/editor/style-rtl.css b/wp-includes/css/dist/editor/style-rtl.css index 3110134ce5..7c5673af77 100644 --- a/wp-includes/css/dist/editor/style-rtl.css +++ b/wp-includes/css/dist/editor/style-rtl.css @@ -52,6 +52,208 @@ color:var(--wp-admin-theme-color); } +.editor-block-manager__no-results{ + font-style:italic; + padding:24px 0; + text-align:center; +} + +.editor-block-manager__search{ + margin:16px 0; +} + +.editor-block-manager__disabled-blocks-count{ + background-color:#fff; + border:1px solid #ddd; + border-width:1px 0; + box-shadow:32px 0 0 0 #fff,-32px 0 0 0 #fff; + padding:8px; + position:sticky; + text-align:center; + top:-5px; + z-index:2; +} +.editor-block-manager__disabled-blocks-count~.editor-block-manager__results .editor-block-manager__category-title{ + top:31px; +} +.editor-block-manager__disabled-blocks-count .is-link{ + margin-right:12px; +} + +.editor-block-manager__category{ + margin:0 0 24px; +} + +.editor-block-manager__category-title{ + background-color:#fff; + padding:16px 0; + position:sticky; + top:-4px; + z-index:1; +} +.editor-block-manager__category-title .components-checkbox-control__label{ + font-weight:600; +} + +.editor-block-manager__checklist{ + margin-top:0; +} + +.editor-block-manager__category-title,.editor-block-manager__checklist-item{ + border-bottom:1px solid #ddd; +} + +.editor-block-manager__checklist-item{ + align-items:center; + display:flex; + justify-content:space-between; + margin-bottom:0; + padding:8px 16px 8px 0; +} +.components-modal__content .editor-block-manager__checklist-item.components-checkbox-control__input-container{ + margin:0 8px; +} +.editor-block-manager__checklist-item .block-editor-block-icon{ + fill:#1e1e1e; + margin-left:10px; +} + +.editor-block-manager__results{ + border-top:1px solid #ddd; +} + +.editor-block-manager__disabled-blocks-count+.editor-block-manager__results{ + border-top-width:0; +} + +.editor-document-bar{ + align-items:center; + background:#f0f0f0; + border-radius:4px; + display:flex; + height:32px; + justify-content:space-between; + min-width:0; + width:min(100%, 450px); +} +.editor-document-bar:hover{ + background-color:#e0e0e0; +} +.editor-document-bar .components-button{ + border-radius:4px; +} +.editor-document-bar .components-button:hover{ + background:#e0e0e0; + color:var(--wp-block-synced-color); +} +@media (min-width:960px){ + .editor-document-bar{ + width:min(100%, 450px); + } +} + +.editor-document-bar__command{ + color:var(--wp-block-synced-color); + flex-grow:1; + overflow:hidden; +} + +.editor-document-bar__title{ + color:#2f2f2f; + flex-grow:1; + overflow:hidden; +} +@media (min-width:600px){ + .editor-document-bar__title{ + padding-right:32px; + } +} +.editor-document-bar.is-global .editor-document-bar__title,.editor-document-bar__title:hover{ + color:var(--wp-block-synced-color); +} +.editor-document-bar__title .block-editor-block-icon{ + flex-shrink:0; + min-width:24px; +} +.editor-document-bar__title h1{ + color:currentColor; + max-width:50%; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; +} +.editor-document-bar.is-animated.has-back-button .editor-document-bar__title{ + animation:editor-document-bar__slide-in-left .3s; +} +@media (prefers-reduced-motion:reduce){ + .editor-document-bar.is-animated.has-back-button .editor-document-bar__title{ + animation-delay:0s; + animation-duration:1ms; + } +} +.editor-document-bar.is-animated .editor-document-bar__title{ + animation:editor-document-bar__slide-in-right .3s; +} +@media (prefers-reduced-motion:reduce){ + .editor-document-bar.is-animated .editor-document-bar__title{ + animation-delay:0s; + animation-duration:1ms; + } +} + +.editor-document-bar__shortcut{ + color:#2f2f2f; + display:none; + min-width:32px; +} +@media (min-width:782px){ + .editor-document-bar__shortcut{ + display:initial; + } +} + +.editor-document-bar__back.components-button.has-icon.has-text{ + color:#757575; + flex-shrink:0; + gap:0; + min-width:36px; + position:absolute; + z-index:1; +} +.editor-document-bar__back.components-button.has-icon.has-text:hover{ + background-color:transparent; + color:var(--wp-block-synced-color); +} +.editor-document-bar.is-animated .editor-document-bar__back.components-button.has-icon.has-text{ + animation:editor-document-bar__slide-in-left .3s; +} +@media (prefers-reduced-motion:reduce){ + .editor-document-bar.is-animated .editor-document-bar__back.components-button.has-icon.has-text{ + animation-delay:0s; + animation-duration:1ms; + } +} + +@keyframes editor-document-bar__slide-in-right{ + 0%{ + opacity:0; + transform:translateX(15%); + } + to{ + opacity:1; + transform:translateX(0); + } +} +@keyframes editor-document-bar__slide-in-left{ + 0%{ + opacity:0; + transform:translateX(-15%); + } + to{ + opacity:1; + transform:translateX(0); + } +} .document-outline{ margin:20px 0; } @@ -123,6 +325,103 @@ padding:1px 0; } +.editor-document-outline.has-no-headings{ + color:#757575; + text-align:center; +} +.editor-document-outline.has-no-headings>svg{ + margin-top:28px; +} +.editor-document-outline.has-no-headings>p{ + padding-left:32px; + padding-right:32px; +} + +.editor-document-tools{ + align-items:center; + display:inline-flex; +} +.editor-document-tools .editor-document-tools__left>.components-button{ + display:none; +} +@media (min-width:600px){ + .editor-document-tools .editor-document-tools__left>.components-button{ + display:inline-flex; + } +} +.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle{ + display:inline-flex; +} +.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle svg{ + transition:transform .2s cubic-bezier(.165, .84, .44, 1); +} +@media (prefers-reduced-motion:reduce){ + .editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle svg{ + transition-delay:0s; + transition-duration:0s; + } +} +.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle.is-pressed svg{ + transform:rotate(-45deg); +} +.editor-document-tools .block-editor-list-view{ + display:none; +} +@media (min-width:600px){ + .editor-document-tools .block-editor-list-view{ + display:flex; + } +} +.editor-document-tools .editor-document-tools__left>.components-button.has-icon,.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon{ + height:32px; + min-width:32px; + padding:4px; +} +.editor-document-tools .editor-document-tools__left>.components-button.has-icon.is-pressed,.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon.is-pressed{ + background:#1e1e1e; +} +.editor-document-tools .editor-document-tools__left>.components-button.has-icon:focus:not(:disabled),.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon:focus:not(:disabled){ + box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 1px #fff; + outline:1px solid transparent; +} +.editor-document-tools .editor-document-tools__left>.components-button.has-icon:before,.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon:before{ + display:none; +} + +.editor-document-tools__left{ + align-items:center; + display:inline-flex; + gap:8px; + margin-left:8px; + padding-right:16px; +} +@media (min-width:782px){ + .editor-document-tools__left{ + padding-right:20px; + } +} +@media (min-width:1280px){ + .editor-document-tools__left{ + padding-left:8px; + } +} + +.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle.has-icon{ + height:32px; + min-width:32px; + padding:0; + width:32px; +} +.show-icon-labels .editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle.has-icon{ + height:32px; + padding:0 8px; + width:auto; +} + +.show-icon-labels .editor-document-tools__left>*+*{ + margin-right:8px; +} + .components-editor-notices__dismissible,.components-editor-notices__pinned{ color:#1e1e1e; left:0; @@ -133,7 +432,6 @@ .components-editor-notices__dismissible .components-notice,.components-editor-notices__pinned .components-notice{ border-bottom:1px solid rgba(0,0,0,.2); box-sizing:border-box; - margin:0; min-height:60px; padding:0 12px; } @@ -153,6 +451,14 @@ .entities-saved-states__text-prompt{ padding:16px 16px 4px; } +.entities-saved-states__text-prompt .entities-saved-states__text-prompt--header{ + display:block; + margin-bottom:12px; +} + +.entities-saved-states__description-heading{ + font-size:13px; +} .editor-error-boundary{ box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),-.1px 11.5px 16.4px -.5px rgba(0,0,0,.15); @@ -161,6 +467,134 @@ padding:20px; } +.editor-inserter-sidebar{ + box-sizing:border-box; + display:flex; + flex-direction:column; + height:100%; +} +.editor-inserter-sidebar *,.editor-inserter-sidebar :after,.editor-inserter-sidebar :before{ + box-sizing:inherit; +} + +.editor-inserter-sidebar__header{ + display:flex; + justify-content:flex-end; + padding-left:8px; + padding-top:8px; +} + +.editor-inserter-sidebar__content{ + height:calc(100% - 44px); +} +@media (min-width:782px){ + .editor-inserter-sidebar__content{ + height:100%; + } +} + +.editor-list-view-sidebar{ + display:flex; + flex-direction:column; + height:100%; +} +@media (min-width:782px){ + .editor-list-view-sidebar{ + width:350px; + } +} +.editor-list-view-sidebar .editor-list-view-sidebar__close-button{ + background:#fff; + left:8px; + position:absolute; + top:6px; + z-index:1; +} +.editor-list-view-sidebar .components-tab-panel__tabs{ + border-bottom:1px solid #ddd; + box-sizing:border-box; + display:flex; + padding-left:56px; + width:100%; +} +.editor-list-view-sidebar .components-tab-panel__tabs .editor-list-view-sidebar__panel-tab{ + margin-bottom:-1px; + width:50%; +} +.editor-list-view-sidebar .components-tab-panel__tab-content{ + height:calc(100% - 47px); +} + +.editor-list-view-sidebar__list-view-container>.document-outline,.editor-list-view-sidebar__list-view-panel-content{ + height:100%; + overflow:auto; + padding:8px 6px; + scrollbar-color:transparent transparent; + scrollbar-gutter:stable both-edges; + scrollbar-gutter:auto; + scrollbar-width:thin; + will-change:transform; +} +.editor-list-view-sidebar__list-view-container>.document-outline::-webkit-scrollbar,.editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar{ + height:12px; + width:12px; +} +.editor-list-view-sidebar__list-view-container>.document-outline::-webkit-scrollbar-track,.editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar-track{ + background-color:transparent; +} +.editor-list-view-sidebar__list-view-container>.document-outline::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar-thumb{ + background-clip:padding-box; + background-color:transparent; + border:3px solid transparent; + border-radius:8px; +} +.editor-list-view-sidebar__list-view-container>.document-outline:focus-within::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-container>.document-outline:focus::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-container>.document-outline:hover::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content:focus-within::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content:focus::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content:hover::-webkit-scrollbar-thumb{ + background-color:#949494; +} +.editor-list-view-sidebar__list-view-container>.document-outline:focus,.editor-list-view-sidebar__list-view-container>.document-outline:focus-within,.editor-list-view-sidebar__list-view-container>.document-outline:hover,.editor-list-view-sidebar__list-view-panel-content:focus,.editor-list-view-sidebar__list-view-panel-content:focus-within,.editor-list-view-sidebar__list-view-panel-content:hover{ + scrollbar-color:#949494 transparent; +} +@media (hover:none){ + .editor-list-view-sidebar__list-view-container>.document-outline,.editor-list-view-sidebar__list-view-panel-content{ + scrollbar-color:#949494 transparent; + } +} + +.editor-list-view-sidebar__list-view-container{ + display:flex; + flex-direction:column; + height:100%; +} + +.editor-list-view-sidebar__tab-panel{ + height:100%; +} + +.editor-list-view-sidebar__outline{ + border-bottom:1px solid #ddd; + display:flex; + flex-direction:column; + gap:8px; + padding:16px; +} +.editor-list-view-sidebar__outline>div>span:first-child{ + display:inline-block; + width:90px; +} +.editor-list-view-sidebar__outline>div>span{ + color:#757575; + font-size:12px; + line-height:1.4; +} + +.editor-post-author__panel{ + padding-top:8px; +} + +.editor-post-author__panel .editor-post-panel__row-control>div{ + width:100%; +} + .editor-post-excerpt__textarea{ margin-bottom:10px; width:100%; @@ -271,10 +705,12 @@ box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); } -@media (min-width:600px){ - .editor-post-locked-modal{ - max-width:480px; - } +.components-panel__body.is-opened.editor-post-last-revision__panel{ + height:48px; + padding:0; +} +.components-panel__body.is-opened.editor-post-last-revision__panel .editor-post-last-revision__title.components-button.components-button{ + padding:16px; } .editor-post-locked-modal__buttons{ @@ -287,6 +723,28 @@ min-width:auto !important; } +.editor-post-panel__row{ + align-items:flex-start !important; + justify-content:flex-start !important; + min-height:36px; + width:100%; +} + +.editor-post-panel__row-label{ + align-items:center; + display:flex; + flex-shrink:0; + min-height:36px; + width:30%; +} + +.editor-post-panel__row-control{ + align-items:center; + display:flex; + flex-grow:1; + min-height:36px; +} + .editor-post-publish-button__button.has-changes-dot:before{ background:currentcolor; border-radius:4px; @@ -500,20 +958,27 @@ margin-left:0; } -.edit-post-sync-status{ - align-items:flex-start; - justify-content:flex-start; - position:relative; +.editor-post-schedule__panel-dropdown{ width:100%; } -.edit-post-sync-status>span{ - display:block; - flex-shrink:0; - padding:6px 0; - width:45%; - word-break:break-word; + +.editor-post-schedule__dialog .components-popover__content{ + min-width:320px; + padding:16px; } -.edit-post-sync-status>div{ + +.editor-post-schedule__dialog-toggle.components-button{ + display:block; + height:auto; + line-height:16px; + max-width:100%; + overflow:hidden; + padding:10px 12px; + text-align:right; + white-space:unset; +} + +.editor-post-sync-status__value{ padding:6px 12px 6px 0; } @@ -553,6 +1018,50 @@ font-size:12px; } +.editor-post-template__swap-template-modal{ + z-index:1000001; +} + +.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list{ + column-count:2; + column-gap:24px; + padding-top:2px; +} +@media (min-width:782px){ + .editor-post-template__swap-template-modal-content .block-editor-block-patterns-list{ + column-count:3; + } +} +@media (min-width:1280px){ + .editor-post-template__swap-template-modal-content .block-editor-block-patterns-list{ + column-count:4; + } +} +.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{ + break-inside:avoid-column; +} +.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__item:not(:focus):not(:hover) .block-editor-block-preview__container{ + box-shadow:0 0 0 1px #ddd; +} + +.editor-post-template__dropdown .components-popover__content{ + min-width:240px; +} +.editor-post-template__dropdown .components-button.is-pressed,.editor-post-template__dropdown .components-button.is-pressed:hover{ + background:inherit; + color:inherit; +} + +@media (min-width:782px){ + .editor-post-template__create-form{ + width:320px; + } +} + +.editor-post-template__classic-theme-dropdown{ + padding:8px; +} + .edit-post-text-editor__body textarea.editor-post-text-editor{ border:1px solid #949494; border-radius:0; @@ -597,6 +1106,30 @@ color:rgba(30,30,30,.62); } +.edit-post-text-editor__body .editor-post-title.is-raw-text{ + margin-bottom:24px; + margin-top:2px; + max-width:none; +} + +.editor-post-url__panel-dropdown{ + width:100%; +} + +.components-button.editor-post-url__panel-toggle{ + display:block; + max-width:100%; + overflow:hidden; + text-align:right; + text-overflow:ellipsis; + white-space:nowrap; +} + +.editor-post-url__panel-dialog .editor-post-url{ + margin:8px; + min-width:248px; +} + .editor-post-url__link-label{ font-size:13px; font-weight:400; @@ -738,6 +1271,12 @@ justify-content:center; } +.editor-preview-dropdown__button-external{ + display:flex; + justify-content:space-between; + width:100%; +} + .table-of-contents__popover.components-popover .components-popover__content{ min-width:380px; } diff --git a/wp-includes/css/dist/editor/style-rtl.min.css b/wp-includes/css/dist/editor/style-rtl.min.css index e1542f3685..0e796bcacf 100644 --- a/wp-includes/css/dist/editor/style-rtl.min.css +++ b/wp-includes/css/dist/editor/style-rtl.min.css @@ -1 +1 @@ -@charset "UTF-8";:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.editor-autocompleters__user .editor-autocompleters__no-avatar:before{content:"";font:normal 20px/1 dashicons;margin-left:5px;vertical-align:middle}.editor-autocompleters__user .editor-autocompleters__user-avatar{flex-grow:0;flex-shrink:0;height:24px;margin-left:8px;max-width:none;width:24px}.editor-autocompleters__user .editor-autocompleters__user-name{flex-grow:1;flex-shrink:0;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-autocompleters__user .editor-autocompleters__user-slug{color:#757575;flex-grow:0;flex-shrink:0;margin-right:8px;max-width:100px;overflow:none;text-overflow:ellipsis;white-space:nowrap}.editor-autocompleters__user:hover .editor-autocompleters__user-slug{color:var(--wp-admin-theme-color)}.document-outline{margin:20px 0}.document-outline ul{margin:0;padding:0}.document-outline__item{display:flex;margin:4px 0}.document-outline__item a{text-decoration:none}.document-outline__item .document-outline__emdash:before{color:#ddd;margin-left:4px}.document-outline__item.is-h2 .document-outline__emdash:before{content:"—"}.document-outline__item.is-h3 .document-outline__emdash:before{content:"——"}.document-outline__item.is-h4 .document-outline__emdash:before{content:"———"}.document-outline__item.is-h5 .document-outline__emdash:before{content:"————"}.document-outline__item.is-h6 .document-outline__emdash:before{content:"—————"}.document-outline__button{align-items:flex-start;background:none;border:none;border-radius:2px;color:#1e1e1e;cursor:pointer;display:flex;margin:0 -1px 0 0;padding:2px 1px 2px 5px;text-align:right}.document-outline__button:disabled{cursor:default}.document-outline__button:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.document-outline__level{background:#ddd;border-radius:3px;color:#1e1e1e;font-size:13px;margin-left:4px;padding:1px 6px}.is-invalid .document-outline__level{background:#f0b849}.document-outline__item-content{padding:1px 0}.components-editor-notices__dismissible,.components-editor-notices__pinned{color:#1e1e1e;left:0;position:relative;right:0;top:0}.components-editor-notices__dismissible .components-notice,.components-editor-notices__pinned .components-notice{border-bottom:1px solid rgba(0,0,0,.2);box-sizing:border-box;margin:0;min-height:60px;padding:0 12px}.components-editor-notices__dismissible .components-notice .components-notice__dismiss,.components-editor-notices__pinned .components-notice .components-notice__dismiss{margin-top:12px}.entities-saved-states__panel-header{background:#fff;border-bottom:1px solid #ddd;box-sizing:border-box;height:60px;padding-left:8px;padding-right:8px}.entities-saved-states__text-prompt{padding:16px 16px 4px}.editor-error-boundary{box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),-.1px 11.5px 16.4px -.5px rgba(0,0,0,.15);margin:60px auto auto;max-width:780px;padding:20px}.editor-post-excerpt__textarea{margin-bottom:10px;width:100%}.editor-post-featured-image{padding:0}.editor-post-featured-image .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}.editor-post-featured-image .components-responsive-wrapper__content{max-width:100%;width:auto}.editor-post-featured-image__container{position:relative}.editor-post-featured-image__container:focus .editor-post-featured-image__actions,.editor-post-featured-image__container:focus-within .editor-post-featured-image__actions,.editor-post-featured-image__container:hover .editor-post-featured-image__actions{opacity:1}.editor-post-featured-image__preview,.editor-post-featured-image__toggle{box-shadow:0 0 0 0 var(--wp-admin-theme-color);display:flex;justify-content:center;max-height:150px;overflow:hidden;padding:0;transition:all .1s ease-out;width:100%}@media (prefers-reduced-motion:reduce){.editor-post-featured-image__preview,.editor-post-featured-image__toggle{transition-delay:0s;transition-duration:0s}}.editor-post-featured-image__preview{height:auto}.editor-post-featured-image__preview .components-responsive-wrapper{background:#f0f0f0;width:100%}.editor-post-featured-image__toggle{background-color:#f0f0f0;border-radius:2px;line-height:20px;min-height:90px;padding:8px 0;text-align:center}.editor-post-featured-image__toggle:hover{background:#ddd;color:#1e1e1e}.editor-post-featured-image__actions{bottom:0;opacity:0;padding:8px;position:absolute;transition:opacity 50ms ease-out}@media (prefers-reduced-motion:reduce){.editor-post-featured-image__actions{transition-delay:0s;transition-duration:0s}}.editor-post-featured-image__action{-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background:hsla(0,0%,100%,.75);flex-grow:1;justify-content:center}[class].editor-post-format__suggestion{margin:4px 0 0}.editor-post-last-revision__title{font-weight:600;width:100%}.editor-post-last-revision__title .dashicon{margin-left:5px}.components-button.editor-post-last-revision__title{height:100%}.components-button.editor-post-last-revision__title:active,.components-button.editor-post-last-revision__title:hover{background:#f0f0f0}.components-button.editor-post-last-revision__title:focus{border-radius:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}@media (min-width:600px){.editor-post-locked-modal{max-width:480px}}.editor-post-locked-modal__buttons{margin-top:24px}.editor-post-locked-modal__avatar{border-radius:2px;margin-top:16px;min-width:auto!important}.editor-post-publish-button__button.has-changes-dot:before{background:currentcolor;border-radius:4px;content:"";height:8px;margin:auto -3px auto 5px;width:8px}.editor-post-publish-panel{background:#fff}.editor-post-publish-panel__content{min-height:calc(100% - 144px)}.editor-post-publish-panel__content>.components-spinner{display:block;margin:100px auto 0}.editor-post-publish-panel__header{align-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #ddd;display:flex;height:61px;padding-left:16px;padding-right:16px}.editor-post-publish-panel__header .components-button{justify-content:center;width:100%}.editor-post-publish-panel__header .has-icon{margin-right:auto;width:auto}.components-site-card{align-items:center;display:flex;margin:16px 0}.components-site-icon{border:none;border-radius:2px;height:36px;margin-left:12px;width:36px}.components-site-name{display:block;font-size:14px}.components-site-home{color:#757575;display:block;font-size:12px}.editor-post-publish-panel__header-cancel-button,.editor-post-publish-panel__header-publish-button{flex:1}@media (min-width:480px){.editor-post-publish-panel__header-cancel-button,.editor-post-publish-panel__header-publish-button{max-width:160px}}.editor-post-publish-panel__header-publish-button{padding-left:4px}.editor-post-publish-panel__header-cancel-button{padding-right:4px}.editor-post-publish-panel__header-published{flex-grow:1}.editor-post-publish-panel__footer{padding:16px}.components-button.editor-post-publish-panel__toggle.is-primary{align-items:center;display:inline-flex}.components-button.editor-post-publish-panel__toggle.is-primary.is-busy .dashicon{display:none}.components-button.editor-post-publish-panel__toggle.is-primary .dashicon{margin-left:-4px}.editor-post-publish-panel__link{font-weight:400;padding-right:4px}.editor-post-publish-panel__prepublish{padding:16px}.editor-post-publish-panel__prepublish strong{color:#1e1e1e}.editor-post-publish-panel__prepublish .components-panel__body{background:#fff;margin-left:-16px;margin-right:-16px}.editor-post-publish-panel__prepublish .editor-post-visibility__dialog-legend{display:none}.post-publish-panel__postpublish .components-panel__body{border-bottom:1px solid #e0e0e0;border-top:none}.post-publish-panel__postpublish-buttons{align-content:space-between;display:flex;flex-wrap:wrap;gap:16px}.post-publish-panel__postpublish-buttons .components-button{flex:1;justify-content:center}.post-publish-panel__postpublish-buttons .components-clipboard-button{width:100%}.post-publish-panel__postpublish-post-address-container{align-items:flex-end;display:flex;margin-bottom:16px}.post-publish-panel__postpublish-post-address-container .post-publish-panel__postpublish-post-address{flex:1}.post-publish-panel__postpublish-post-address-container input[readonly]{background:#f0f0f0;border-color:#ccc;height:36px;overflow:hidden;padding:16px;text-overflow:ellipsis}.post-publish-panel__postpublish-post-address__copy-button-wrap{flex-shrink:0;margin-right:16px}.post-publish-panel__postpublish-header{font-weight:500}.post-publish-panel__postpublish-subheader{margin:0 0 8px}.post-publish-panel__tip{color:#f0b849}@media screen and (max-width:782px){.post-publish-panel__postpublish-post-address__button-wrap .components-button{height:40px}}.editor-post-saved-state{align-items:center;color:#757575;display:flex;overflow:hidden;padding:12px 4px;white-space:nowrap;width:28px}.editor-post-saved-state.is-saved[aria-disabled=true],.editor-post-saved-state.is-saved[aria-disabled=true]:hover,.editor-post-saved-state.is-saving[aria-disabled=true],.editor-post-saved-state.is-saving[aria-disabled=true]:hover{background:transparent;color:#757575}.editor-post-saved-state svg{fill:currentColor;display:inline-block;flex:0 0 auto;margin-left:8px}@media (min-width:600px){.editor-post-saved-state{padding:8px 12px;text-indent:inherit;width:auto}.editor-post-saved-state svg{margin-left:0}}.editor-post-save-draft.has-text.has-icon svg{margin-left:0}.edit-post-sync-status{align-items:flex-start;justify-content:flex-start;position:relative;width:100%}.edit-post-sync-status>span{display:block;flex-shrink:0;padding:6px 0;width:45%;word-break:break-word}.edit-post-sync-status>div{padding:6px 12px 6px 0}.editor-post-taxonomies__hierarchical-terms-list{margin-right:-6px;margin-top:-6px;max-height:14em;overflow:auto;padding-right:6px;padding-top:6px}.editor-post-taxonomies__hierarchical-terms-choice{margin-bottom:8px}.editor-post-taxonomies__hierarchical-terms-choice:last-child{margin-bottom:4px}.editor-post-taxonomies__hierarchical-terms-subchoices{margin-right:16px;margin-top:8px}.editor-post-taxonomies__flat-term-most-used .editor-post-taxonomies__flat-term-most-used-label{margin-bottom:4px}.editor-post-taxonomies__flat-term-most-used-list{margin:0}.editor-post-taxonomies__flat-term-most-used-list li{display:inline-block;margin-left:8px}.editor-post-taxonomies__flat-term-most-used-list .components-button{font-size:12px}.edit-post-text-editor__body textarea.editor-post-text-editor{border:1px solid #949494;border-radius:0;box-shadow:none;display:block;font-family:Menlo,Consolas,monaco,monospace;font-size:16px!important;line-height:2.4;margin:0;min-height:200px;overflow:hidden;padding:16px;resize:none;transition:border .1s ease-out,box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.edit-post-text-editor__body textarea.editor-post-text-editor{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.edit-post-text-editor__body textarea.editor-post-text-editor{font-size:15px!important;padding:24px}}.edit-post-text-editor__body textarea.editor-post-text-editor:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);position:relative}.edit-post-text-editor__body textarea.editor-post-text-editor::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.edit-post-text-editor__body textarea.editor-post-text-editor::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.edit-post-text-editor__body textarea.editor-post-text-editor:-ms-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-url__link-label{font-size:13px;font-weight:400;margin:0}.editor-post-url__link{direction:ltr;word-break:break-word}.editor-post-url__link-slug{font-weight:600}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{border:1px solid #1e1e1e;border-radius:2px;border-radius:50%;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:24px;line-height:normal;margin-left:12px;margin-top:2px;padding:6px 8px;transition:box-shadow .1s linear;transition:none;width:24px}@media (prefers-reduced-motion:reduce){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{font-size:13px;line-height:normal}}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color)}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{height:20px;width:20px}}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked:before{background-color:#fff;border:4px solid #fff;box-sizing:inherit;height:8px;margin:0;transform:translate(-7px,7px);width:8px}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked:before{transform:translate(-5px,5px)}}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.editor-post-visibility__fieldset .editor-post-visibility__info{color:#757575;margin-right:36px;margin-top:.5em}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__info{margin-right:32px}}.editor-post-visibility__fieldset .editor-post-visibility__choice:last-child .editor-post-visibility__info{margin-bottom:0}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;margin-right:32px;padding:6px 8px;transition:box-shadow .1s linear;width:calc(100% - 32px)}@media (prefers-reduced-motion:reduce){.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]{font-size:13px;line-height:normal}}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-trash.components-button{flex-grow:1;justify-content:center}.table-of-contents__popover.components-popover .components-popover__content{min-width:380px}.components-popover.table-of-contents__popover{z-index:99998}.table-of-contents__popover .components-popover__content{padding:16px}@media (min-width:600px){.table-of-contents__popover .components-popover__content{max-height:calc(100vh - 120px);overflow-y:auto}}.table-of-contents__popover hr{margin:10px -16px 0}.table-of-contents__wrapper:focus:before{bottom:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0}.table-of-contents__counts{display:flex;flex-wrap:wrap;margin:-8px 0 0}.table-of-contents__count{color:#1e1e1e;display:flex;flex-basis:33%;flex-direction:column;font-size:13px;margin-bottom:0;margin-top:8px;padding-left:8px}.table-of-contents__count:nth-child(4n){padding-left:0}.table-of-contents__number,.table-of-contents__popover .word-count{color:#1e1e1e;font-size:21px;font-weight:400;line-height:30px}.table-of-contents__title{display:block;font-size:15px;font-weight:600;margin-top:20px}.editor-template-validation-notice{align-items:center;display:flex;justify-content:space-between}.editor-template-validation-notice .components-button{margin-right:5px} \ No newline at end of file +@charset "UTF-8";:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.editor-autocompleters__user .editor-autocompleters__no-avatar:before{content:"";font:normal 20px/1 dashicons;margin-left:5px;vertical-align:middle}.editor-autocompleters__user .editor-autocompleters__user-avatar{flex-grow:0;flex-shrink:0;height:24px;margin-left:8px;max-width:none;width:24px}.editor-autocompleters__user .editor-autocompleters__user-name{flex-grow:1;flex-shrink:0;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-autocompleters__user .editor-autocompleters__user-slug{color:#757575;flex-grow:0;flex-shrink:0;margin-right:8px;max-width:100px;overflow:none;text-overflow:ellipsis;white-space:nowrap}.editor-autocompleters__user:hover .editor-autocompleters__user-slug{color:var(--wp-admin-theme-color)}.editor-block-manager__no-results{font-style:italic;padding:24px 0;text-align:center}.editor-block-manager__search{margin:16px 0}.editor-block-manager__disabled-blocks-count{background-color:#fff;border:1px solid #ddd;border-width:1px 0;box-shadow:32px 0 0 0 #fff,-32px 0 0 0 #fff;padding:8px;position:sticky;text-align:center;top:-5px;z-index:2}.editor-block-manager__disabled-blocks-count~.editor-block-manager__results .editor-block-manager__category-title{top:31px}.editor-block-manager__disabled-blocks-count .is-link{margin-right:12px}.editor-block-manager__category{margin:0 0 24px}.editor-block-manager__category-title{background-color:#fff;padding:16px 0;position:sticky;top:-4px;z-index:1}.editor-block-manager__category-title .components-checkbox-control__label{font-weight:600}.editor-block-manager__checklist{margin-top:0}.editor-block-manager__category-title,.editor-block-manager__checklist-item{border-bottom:1px solid #ddd}.editor-block-manager__checklist-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:0;padding:8px 16px 8px 0}.components-modal__content .editor-block-manager__checklist-item.components-checkbox-control__input-container{margin:0 8px}.editor-block-manager__checklist-item .block-editor-block-icon{fill:#1e1e1e;margin-left:10px}.editor-block-manager__results{border-top:1px solid #ddd}.editor-block-manager__disabled-blocks-count+.editor-block-manager__results{border-top-width:0}.editor-document-bar{align-items:center;background:#f0f0f0;border-radius:4px;display:flex;height:32px;justify-content:space-between;min-width:0;width:min(100%,450px)}.editor-document-bar:hover{background-color:#e0e0e0}.editor-document-bar .components-button{border-radius:4px}.editor-document-bar .components-button:hover{background:#e0e0e0;color:var(--wp-block-synced-color)}@media (min-width:960px){.editor-document-bar{width:min(100%,450px)}}.editor-document-bar__command{color:var(--wp-block-synced-color);flex-grow:1;overflow:hidden}.editor-document-bar__title{color:#2f2f2f;flex-grow:1;overflow:hidden}@media (min-width:600px){.editor-document-bar__title{padding-right:32px}}.editor-document-bar.is-global .editor-document-bar__title,.editor-document-bar__title:hover{color:var(--wp-block-synced-color)}.editor-document-bar__title .block-editor-block-icon{flex-shrink:0;min-width:24px}.editor-document-bar__title h1{color:currentColor;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-document-bar.is-animated.has-back-button .editor-document-bar__title{animation:editor-document-bar__slide-in-left .3s}@media (prefers-reduced-motion:reduce){.editor-document-bar.is-animated.has-back-button .editor-document-bar__title{animation-delay:0s;animation-duration:1ms}}.editor-document-bar.is-animated .editor-document-bar__title{animation:editor-document-bar__slide-in-right .3s}@media (prefers-reduced-motion:reduce){.editor-document-bar.is-animated .editor-document-bar__title{animation-delay:0s;animation-duration:1ms}}.editor-document-bar__shortcut{color:#2f2f2f;display:none;min-width:32px}@media (min-width:782px){.editor-document-bar__shortcut{display:initial}}.editor-document-bar__back.components-button.has-icon.has-text{color:#757575;flex-shrink:0;gap:0;min-width:36px;position:absolute;z-index:1}.editor-document-bar__back.components-button.has-icon.has-text:hover{background-color:transparent;color:var(--wp-block-synced-color)}.editor-document-bar.is-animated .editor-document-bar__back.components-button.has-icon.has-text{animation:editor-document-bar__slide-in-left .3s}@media (prefers-reduced-motion:reduce){.editor-document-bar.is-animated .editor-document-bar__back.components-button.has-icon.has-text{animation-delay:0s;animation-duration:1ms}}@keyframes editor-document-bar__slide-in-right{0%{opacity:0;transform:translateX(15%)}to{opacity:1;transform:translateX(0)}}@keyframes editor-document-bar__slide-in-left{0%{opacity:0;transform:translateX(-15%)}to{opacity:1;transform:translateX(0)}}.document-outline{margin:20px 0}.document-outline ul{margin:0;padding:0}.document-outline__item{display:flex;margin:4px 0}.document-outline__item a{text-decoration:none}.document-outline__item .document-outline__emdash:before{color:#ddd;margin-left:4px}.document-outline__item.is-h2 .document-outline__emdash:before{content:"—"}.document-outline__item.is-h3 .document-outline__emdash:before{content:"——"}.document-outline__item.is-h4 .document-outline__emdash:before{content:"———"}.document-outline__item.is-h5 .document-outline__emdash:before{content:"————"}.document-outline__item.is-h6 .document-outline__emdash:before{content:"—————"}.document-outline__button{align-items:flex-start;background:none;border:none;border-radius:2px;color:#1e1e1e;cursor:pointer;display:flex;margin:0 -1px 0 0;padding:2px 1px 2px 5px;text-align:right}.document-outline__button:disabled{cursor:default}.document-outline__button:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.document-outline__level{background:#ddd;border-radius:3px;color:#1e1e1e;font-size:13px;margin-left:4px;padding:1px 6px}.is-invalid .document-outline__level{background:#f0b849}.document-outline__item-content{padding:1px 0}.editor-document-outline.has-no-headings{color:#757575;text-align:center}.editor-document-outline.has-no-headings>svg{margin-top:28px}.editor-document-outline.has-no-headings>p{padding-left:32px;padding-right:32px}.editor-document-tools{align-items:center;display:inline-flex}.editor-document-tools .editor-document-tools__left>.components-button{display:none}@media (min-width:600px){.editor-document-tools .editor-document-tools__left>.components-button{display:inline-flex}}.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle{display:inline-flex}.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle svg{transition:transform .2s cubic-bezier(.165,.84,.44,1)}@media (prefers-reduced-motion:reduce){.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle svg{transition-delay:0s;transition-duration:0s}}.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle.is-pressed svg{transform:rotate(-45deg)}.editor-document-tools .block-editor-list-view{display:none}@media (min-width:600px){.editor-document-tools .block-editor-list-view{display:flex}}.editor-document-tools .editor-document-tools__left>.components-button.has-icon,.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon{height:32px;min-width:32px;padding:4px}.editor-document-tools .editor-document-tools__left>.components-button.has-icon.is-pressed,.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon.is-pressed{background:#1e1e1e}.editor-document-tools .editor-document-tools__left>.components-button.has-icon:focus:not(:disabled),.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 1px #fff;outline:1px solid transparent}.editor-document-tools .editor-document-tools__left>.components-button.has-icon:before,.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon:before{display:none}.editor-document-tools__left{align-items:center;display:inline-flex;gap:8px;margin-left:8px;padding-right:16px}@media (min-width:782px){.editor-document-tools__left{padding-right:20px}}@media (min-width:1280px){.editor-document-tools__left{padding-left:8px}}.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle.has-icon{height:32px;min-width:32px;padding:0;width:32px}.show-icon-labels .editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle.has-icon{height:32px;padding:0 8px;width:auto}.show-icon-labels .editor-document-tools__left>*+*{margin-right:8px}.components-editor-notices__dismissible,.components-editor-notices__pinned{color:#1e1e1e;left:0;position:relative;right:0;top:0}.components-editor-notices__dismissible .components-notice,.components-editor-notices__pinned .components-notice{border-bottom:1px solid rgba(0,0,0,.2);box-sizing:border-box;min-height:60px;padding:0 12px}.components-editor-notices__dismissible .components-notice .components-notice__dismiss,.components-editor-notices__pinned .components-notice .components-notice__dismiss{margin-top:12px}.entities-saved-states__panel-header{background:#fff;border-bottom:1px solid #ddd;box-sizing:border-box;height:60px;padding-left:8px;padding-right:8px}.entities-saved-states__text-prompt{padding:16px 16px 4px}.entities-saved-states__text-prompt .entities-saved-states__text-prompt--header{display:block;margin-bottom:12px}.entities-saved-states__description-heading{font-size:13px}.editor-error-boundary{box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),-.1px 11.5px 16.4px -.5px rgba(0,0,0,.15);margin:60px auto auto;max-width:780px;padding:20px}.editor-inserter-sidebar{box-sizing:border-box;display:flex;flex-direction:column;height:100%}.editor-inserter-sidebar *,.editor-inserter-sidebar :after,.editor-inserter-sidebar :before{box-sizing:inherit}.editor-inserter-sidebar__header{display:flex;justify-content:flex-end;padding-left:8px;padding-top:8px}.editor-inserter-sidebar__content{height:calc(100% - 44px)}@media (min-width:782px){.editor-inserter-sidebar__content{height:100%}}.editor-list-view-sidebar{display:flex;flex-direction:column;height:100%}@media (min-width:782px){.editor-list-view-sidebar{width:350px}}.editor-list-view-sidebar .editor-list-view-sidebar__close-button{background:#fff;left:8px;position:absolute;top:6px;z-index:1}.editor-list-view-sidebar .components-tab-panel__tabs{border-bottom:1px solid #ddd;box-sizing:border-box;display:flex;padding-left:56px;width:100%}.editor-list-view-sidebar .components-tab-panel__tabs .editor-list-view-sidebar__panel-tab{margin-bottom:-1px;width:50%}.editor-list-view-sidebar .components-tab-panel__tab-content{height:calc(100% - 47px)}.editor-list-view-sidebar__list-view-container>.document-outline,.editor-list-view-sidebar__list-view-panel-content{height:100%;overflow:auto;padding:8px 6px;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-gutter:auto;scrollbar-width:thin;will-change:transform}.editor-list-view-sidebar__list-view-container>.document-outline::-webkit-scrollbar,.editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar{height:12px;width:12px}.editor-list-view-sidebar__list-view-container>.document-outline::-webkit-scrollbar-track,.editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar-track{background-color:transparent}.editor-list-view-sidebar__list-view-container>.document-outline::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.editor-list-view-sidebar__list-view-container>.document-outline:focus-within::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-container>.document-outline:focus::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-container>.document-outline:hover::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content:focus-within::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content:focus::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content:hover::-webkit-scrollbar-thumb{background-color:#949494}.editor-list-view-sidebar__list-view-container>.document-outline:focus,.editor-list-view-sidebar__list-view-container>.document-outline:focus-within,.editor-list-view-sidebar__list-view-container>.document-outline:hover,.editor-list-view-sidebar__list-view-panel-content:focus,.editor-list-view-sidebar__list-view-panel-content:focus-within,.editor-list-view-sidebar__list-view-panel-content:hover{scrollbar-color:#949494 transparent}@media (hover:none){.editor-list-view-sidebar__list-view-container>.document-outline,.editor-list-view-sidebar__list-view-panel-content{scrollbar-color:#949494 transparent}}.editor-list-view-sidebar__list-view-container{display:flex;flex-direction:column;height:100%}.editor-list-view-sidebar__tab-panel{height:100%}.editor-list-view-sidebar__outline{border-bottom:1px solid #ddd;display:flex;flex-direction:column;gap:8px;padding:16px}.editor-list-view-sidebar__outline>div>span:first-child{display:inline-block;width:90px}.editor-list-view-sidebar__outline>div>span{color:#757575;font-size:12px;line-height:1.4}.editor-post-author__panel{padding-top:8px}.editor-post-author__panel .editor-post-panel__row-control>div{width:100%}.editor-post-excerpt__textarea{margin-bottom:10px;width:100%}.editor-post-featured-image{padding:0}.editor-post-featured-image .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}.editor-post-featured-image .components-responsive-wrapper__content{max-width:100%;width:auto}.editor-post-featured-image__container{position:relative}.editor-post-featured-image__container:focus .editor-post-featured-image__actions,.editor-post-featured-image__container:focus-within .editor-post-featured-image__actions,.editor-post-featured-image__container:hover .editor-post-featured-image__actions{opacity:1}.editor-post-featured-image__preview,.editor-post-featured-image__toggle{box-shadow:0 0 0 0 var(--wp-admin-theme-color);display:flex;justify-content:center;max-height:150px;overflow:hidden;padding:0;transition:all .1s ease-out;width:100%}@media (prefers-reduced-motion:reduce){.editor-post-featured-image__preview,.editor-post-featured-image__toggle{transition-delay:0s;transition-duration:0s}}.editor-post-featured-image__preview{height:auto}.editor-post-featured-image__preview .components-responsive-wrapper{background:#f0f0f0;width:100%}.editor-post-featured-image__toggle{background-color:#f0f0f0;border-radius:2px;line-height:20px;min-height:90px;padding:8px 0;text-align:center}.editor-post-featured-image__toggle:hover{background:#ddd;color:#1e1e1e}.editor-post-featured-image__actions{bottom:0;opacity:0;padding:8px;position:absolute;transition:opacity 50ms ease-out}@media (prefers-reduced-motion:reduce){.editor-post-featured-image__actions{transition-delay:0s;transition-duration:0s}}.editor-post-featured-image__action{-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background:hsla(0,0%,100%,.75);flex-grow:1;justify-content:center}[class].editor-post-format__suggestion{margin:4px 0 0}.editor-post-last-revision__title{font-weight:600;width:100%}.editor-post-last-revision__title .dashicon{margin-left:5px}.components-button.editor-post-last-revision__title{height:100%}.components-button.editor-post-last-revision__title:active,.components-button.editor-post-last-revision__title:hover{background:#f0f0f0}.components-button.editor-post-last-revision__title:focus{border-radius:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-panel__body.is-opened.editor-post-last-revision__panel{height:48px;padding:0}.components-panel__body.is-opened.editor-post-last-revision__panel .editor-post-last-revision__title.components-button.components-button{padding:16px}.editor-post-locked-modal__buttons{margin-top:24px}.editor-post-locked-modal__avatar{border-radius:2px;margin-top:16px;min-width:auto!important}.editor-post-panel__row{align-items:flex-start!important;justify-content:flex-start!important;min-height:36px;width:100%}.editor-post-panel__row-label{align-items:center;display:flex;flex-shrink:0;min-height:36px;width:30%}.editor-post-panel__row-control{align-items:center;display:flex;flex-grow:1;min-height:36px}.editor-post-publish-button__button.has-changes-dot:before{background:currentcolor;border-radius:4px;content:"";height:8px;margin:auto -3px auto 5px;width:8px}.editor-post-publish-panel{background:#fff}.editor-post-publish-panel__content{min-height:calc(100% - 144px)}.editor-post-publish-panel__content>.components-spinner{display:block;margin:100px auto 0}.editor-post-publish-panel__header{align-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #ddd;display:flex;height:61px;padding-left:16px;padding-right:16px}.editor-post-publish-panel__header .components-button{justify-content:center;width:100%}.editor-post-publish-panel__header .has-icon{margin-right:auto;width:auto}.components-site-card{align-items:center;display:flex;margin:16px 0}.components-site-icon{border:none;border-radius:2px;height:36px;margin-left:12px;width:36px}.components-site-name{display:block;font-size:14px}.components-site-home{color:#757575;display:block;font-size:12px}.editor-post-publish-panel__header-cancel-button,.editor-post-publish-panel__header-publish-button{flex:1}@media (min-width:480px){.editor-post-publish-panel__header-cancel-button,.editor-post-publish-panel__header-publish-button{max-width:160px}}.editor-post-publish-panel__header-publish-button{padding-left:4px}.editor-post-publish-panel__header-cancel-button{padding-right:4px}.editor-post-publish-panel__header-published{flex-grow:1}.editor-post-publish-panel__footer{padding:16px}.components-button.editor-post-publish-panel__toggle.is-primary{align-items:center;display:inline-flex}.components-button.editor-post-publish-panel__toggle.is-primary.is-busy .dashicon{display:none}.components-button.editor-post-publish-panel__toggle.is-primary .dashicon{margin-left:-4px}.editor-post-publish-panel__link{font-weight:400;padding-right:4px}.editor-post-publish-panel__prepublish{padding:16px}.editor-post-publish-panel__prepublish strong{color:#1e1e1e}.editor-post-publish-panel__prepublish .components-panel__body{background:#fff;margin-left:-16px;margin-right:-16px}.editor-post-publish-panel__prepublish .editor-post-visibility__dialog-legend{display:none}.post-publish-panel__postpublish .components-panel__body{border-bottom:1px solid #e0e0e0;border-top:none}.post-publish-panel__postpublish-buttons{align-content:space-between;display:flex;flex-wrap:wrap;gap:16px}.post-publish-panel__postpublish-buttons .components-button{flex:1;justify-content:center}.post-publish-panel__postpublish-buttons .components-clipboard-button{width:100%}.post-publish-panel__postpublish-post-address-container{align-items:flex-end;display:flex;margin-bottom:16px}.post-publish-panel__postpublish-post-address-container .post-publish-panel__postpublish-post-address{flex:1}.post-publish-panel__postpublish-post-address-container input[readonly]{background:#f0f0f0;border-color:#ccc;height:36px;overflow:hidden;padding:16px;text-overflow:ellipsis}.post-publish-panel__postpublish-post-address__copy-button-wrap{flex-shrink:0;margin-right:16px}.post-publish-panel__postpublish-header{font-weight:500}.post-publish-panel__postpublish-subheader{margin:0 0 8px}.post-publish-panel__tip{color:#f0b849}@media screen and (max-width:782px){.post-publish-panel__postpublish-post-address__button-wrap .components-button{height:40px}}.editor-post-saved-state{align-items:center;color:#757575;display:flex;overflow:hidden;padding:12px 4px;white-space:nowrap;width:28px}.editor-post-saved-state.is-saved[aria-disabled=true],.editor-post-saved-state.is-saved[aria-disabled=true]:hover,.editor-post-saved-state.is-saving[aria-disabled=true],.editor-post-saved-state.is-saving[aria-disabled=true]:hover{background:transparent;color:#757575}.editor-post-saved-state svg{fill:currentColor;display:inline-block;flex:0 0 auto;margin-left:8px}@media (min-width:600px){.editor-post-saved-state{padding:8px 12px;text-indent:inherit;width:auto}.editor-post-saved-state svg{margin-left:0}}.editor-post-save-draft.has-text.has-icon svg{margin-left:0}.editor-post-schedule__panel-dropdown{width:100%}.editor-post-schedule__dialog .components-popover__content{min-width:320px;padding:16px}.editor-post-schedule__dialog-toggle.components-button{display:block;height:auto;line-height:16px;max-width:100%;overflow:hidden;padding:10px 12px;text-align:right;white-space:unset}.editor-post-sync-status__value{padding:6px 12px 6px 0}.editor-post-taxonomies__hierarchical-terms-list{margin-right:-6px;margin-top:-6px;max-height:14em;overflow:auto;padding-right:6px;padding-top:6px}.editor-post-taxonomies__hierarchical-terms-choice{margin-bottom:8px}.editor-post-taxonomies__hierarchical-terms-choice:last-child{margin-bottom:4px}.editor-post-taxonomies__hierarchical-terms-subchoices{margin-right:16px;margin-top:8px}.editor-post-taxonomies__flat-term-most-used .editor-post-taxonomies__flat-term-most-used-label{margin-bottom:4px}.editor-post-taxonomies__flat-term-most-used-list{margin:0}.editor-post-taxonomies__flat-term-most-used-list li{display:inline-block;margin-left:8px}.editor-post-taxonomies__flat-term-most-used-list .components-button{font-size:12px}.editor-post-template__swap-template-modal{z-index:1000001}.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list{column-count:2;column-gap:24px;padding-top:2px}@media (min-width:782px){.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list{column-count:3}}@media (min-width:1280px){.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list{column-count:4}}.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__item:not(:focus):not(:hover) .block-editor-block-preview__container{box-shadow:0 0 0 1px #ddd}.editor-post-template__dropdown .components-popover__content{min-width:240px}.editor-post-template__dropdown .components-button.is-pressed,.editor-post-template__dropdown .components-button.is-pressed:hover{background:inherit;color:inherit}@media (min-width:782px){.editor-post-template__create-form{width:320px}}.editor-post-template__classic-theme-dropdown{padding:8px}.edit-post-text-editor__body textarea.editor-post-text-editor{border:1px solid #949494;border-radius:0;box-shadow:none;display:block;font-family:Menlo,Consolas,monaco,monospace;font-size:16px!important;line-height:2.4;margin:0;min-height:200px;overflow:hidden;padding:16px;resize:none;transition:border .1s ease-out,box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.edit-post-text-editor__body textarea.editor-post-text-editor{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.edit-post-text-editor__body textarea.editor-post-text-editor{font-size:15px!important;padding:24px}}.edit-post-text-editor__body textarea.editor-post-text-editor:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);position:relative}.edit-post-text-editor__body textarea.editor-post-text-editor::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.edit-post-text-editor__body textarea.editor-post-text-editor::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.edit-post-text-editor__body textarea.editor-post-text-editor:-ms-input-placeholder{color:rgba(30,30,30,.62)}.edit-post-text-editor__body .editor-post-title.is-raw-text{margin-bottom:24px;margin-top:2px;max-width:none}.editor-post-url__panel-dropdown{width:100%}.components-button.editor-post-url__panel-toggle{display:block;max-width:100%;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.editor-post-url__panel-dialog .editor-post-url{margin:8px;min-width:248px}.editor-post-url__link-label{font-size:13px;font-weight:400;margin:0}.editor-post-url__link{direction:ltr;word-break:break-word}.editor-post-url__link-slug{font-weight:600}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{border:1px solid #1e1e1e;border-radius:2px;border-radius:50%;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:24px;line-height:normal;margin-left:12px;margin-top:2px;padding:6px 8px;transition:box-shadow .1s linear;transition:none;width:24px}@media (prefers-reduced-motion:reduce){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{font-size:13px;line-height:normal}}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color)}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{height:20px;width:20px}}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked:before{background-color:#fff;border:4px solid #fff;box-sizing:inherit;height:8px;margin:0;transform:translate(-7px,7px);width:8px}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked:before{transform:translate(-5px,5px)}}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.editor-post-visibility__fieldset .editor-post-visibility__info{color:#757575;margin-right:36px;margin-top:.5em}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__info{margin-right:32px}}.editor-post-visibility__fieldset .editor-post-visibility__choice:last-child .editor-post-visibility__info{margin-bottom:0}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;margin-right:32px;padding:6px 8px;transition:box-shadow .1s linear;width:calc(100% - 32px)}@media (prefers-reduced-motion:reduce){.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]{font-size:13px;line-height:normal}}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-trash.components-button{flex-grow:1;justify-content:center}.editor-preview-dropdown__button-external{display:flex;justify-content:space-between;width:100%}.table-of-contents__popover.components-popover .components-popover__content{min-width:380px}.components-popover.table-of-contents__popover{z-index:99998}.table-of-contents__popover .components-popover__content{padding:16px}@media (min-width:600px){.table-of-contents__popover .components-popover__content{max-height:calc(100vh - 120px);overflow-y:auto}}.table-of-contents__popover hr{margin:10px -16px 0}.table-of-contents__wrapper:focus:before{bottom:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0}.table-of-contents__counts{display:flex;flex-wrap:wrap;margin:-8px 0 0}.table-of-contents__count{color:#1e1e1e;display:flex;flex-basis:33%;flex-direction:column;font-size:13px;margin-bottom:0;margin-top:8px;padding-left:8px}.table-of-contents__count:nth-child(4n){padding-left:0}.table-of-contents__number,.table-of-contents__popover .word-count{color:#1e1e1e;font-size:21px;font-weight:400;line-height:30px}.table-of-contents__title{display:block;font-size:15px;font-weight:600;margin-top:20px}.editor-template-validation-notice{align-items:center;display:flex;justify-content:space-between}.editor-template-validation-notice .components-button{margin-right:5px} \ No newline at end of file diff --git a/wp-includes/css/dist/editor/style.css b/wp-includes/css/dist/editor/style.css index c4c8afcf4f..594f9ce832 100644 --- a/wp-includes/css/dist/editor/style.css +++ b/wp-includes/css/dist/editor/style.css @@ -52,6 +52,208 @@ color:var(--wp-admin-theme-color); } +.editor-block-manager__no-results{ + font-style:italic; + padding:24px 0; + text-align:center; +} + +.editor-block-manager__search{ + margin:16px 0; +} + +.editor-block-manager__disabled-blocks-count{ + background-color:#fff; + border:1px solid #ddd; + border-width:1px 0; + box-shadow:-32px 0 0 0 #fff,32px 0 0 0 #fff; + padding:8px; + position:sticky; + text-align:center; + top:-5px; + z-index:2; +} +.editor-block-manager__disabled-blocks-count~.editor-block-manager__results .editor-block-manager__category-title{ + top:31px; +} +.editor-block-manager__disabled-blocks-count .is-link{ + margin-left:12px; +} + +.editor-block-manager__category{ + margin:0 0 24px; +} + +.editor-block-manager__category-title{ + background-color:#fff; + padding:16px 0; + position:sticky; + top:-4px; + z-index:1; +} +.editor-block-manager__category-title .components-checkbox-control__label{ + font-weight:600; +} + +.editor-block-manager__checklist{ + margin-top:0; +} + +.editor-block-manager__category-title,.editor-block-manager__checklist-item{ + border-bottom:1px solid #ddd; +} + +.editor-block-manager__checklist-item{ + align-items:center; + display:flex; + justify-content:space-between; + margin-bottom:0; + padding:8px 0 8px 16px; +} +.components-modal__content .editor-block-manager__checklist-item.components-checkbox-control__input-container{ + margin:0 8px; +} +.editor-block-manager__checklist-item .block-editor-block-icon{ + fill:#1e1e1e; + margin-right:10px; +} + +.editor-block-manager__results{ + border-top:1px solid #ddd; +} + +.editor-block-manager__disabled-blocks-count+.editor-block-manager__results{ + border-top-width:0; +} + +.editor-document-bar{ + align-items:center; + background:#f0f0f0; + border-radius:4px; + display:flex; + height:32px; + justify-content:space-between; + min-width:0; + width:min(100%, 450px); +} +.editor-document-bar:hover{ + background-color:#e0e0e0; +} +.editor-document-bar .components-button{ + border-radius:4px; +} +.editor-document-bar .components-button:hover{ + background:#e0e0e0; + color:var(--wp-block-synced-color); +} +@media (min-width:960px){ + .editor-document-bar{ + width:min(100%, 450px); + } +} + +.editor-document-bar__command{ + color:var(--wp-block-synced-color); + flex-grow:1; + overflow:hidden; +} + +.editor-document-bar__title{ + color:#2f2f2f; + flex-grow:1; + overflow:hidden; +} +@media (min-width:600px){ + .editor-document-bar__title{ + padding-left:32px; + } +} +.editor-document-bar.is-global .editor-document-bar__title,.editor-document-bar__title:hover{ + color:var(--wp-block-synced-color); +} +.editor-document-bar__title .block-editor-block-icon{ + flex-shrink:0; + min-width:24px; +} +.editor-document-bar__title h1{ + color:currentColor; + max-width:50%; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; +} +.editor-document-bar.is-animated.has-back-button .editor-document-bar__title{ + animation:editor-document-bar__slide-in-left .3s; +} +@media (prefers-reduced-motion:reduce){ + .editor-document-bar.is-animated.has-back-button .editor-document-bar__title{ + animation-delay:0s; + animation-duration:1ms; + } +} +.editor-document-bar.is-animated .editor-document-bar__title{ + animation:editor-document-bar__slide-in-right .3s; +} +@media (prefers-reduced-motion:reduce){ + .editor-document-bar.is-animated .editor-document-bar__title{ + animation-delay:0s; + animation-duration:1ms; + } +} + +.editor-document-bar__shortcut{ + color:#2f2f2f; + display:none; + min-width:32px; +} +@media (min-width:782px){ + .editor-document-bar__shortcut{ + display:initial; + } +} + +.editor-document-bar__back.components-button.has-icon.has-text{ + color:#757575; + flex-shrink:0; + gap:0; + min-width:36px; + position:absolute; + z-index:1; +} +.editor-document-bar__back.components-button.has-icon.has-text:hover{ + background-color:transparent; + color:var(--wp-block-synced-color); +} +.editor-document-bar.is-animated .editor-document-bar__back.components-button.has-icon.has-text{ + animation:editor-document-bar__slide-in-left .3s; +} +@media (prefers-reduced-motion:reduce){ + .editor-document-bar.is-animated .editor-document-bar__back.components-button.has-icon.has-text{ + animation-delay:0s; + animation-duration:1ms; + } +} + +@keyframes editor-document-bar__slide-in-right{ + 0%{ + opacity:0; + transform:translateX(-15%); + } + to{ + opacity:1; + transform:translateX(0); + } +} +@keyframes editor-document-bar__slide-in-left{ + 0%{ + opacity:0; + transform:translateX(15%); + } + to{ + opacity:1; + transform:translateX(0); + } +} .document-outline{ margin:20px 0; } @@ -123,6 +325,103 @@ padding:1px 0; } +.editor-document-outline.has-no-headings{ + color:#757575; + text-align:center; +} +.editor-document-outline.has-no-headings>svg{ + margin-top:28px; +} +.editor-document-outline.has-no-headings>p{ + padding-left:32px; + padding-right:32px; +} + +.editor-document-tools{ + align-items:center; + display:inline-flex; +} +.editor-document-tools .editor-document-tools__left>.components-button{ + display:none; +} +@media (min-width:600px){ + .editor-document-tools .editor-document-tools__left>.components-button{ + display:inline-flex; + } +} +.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle{ + display:inline-flex; +} +.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle svg{ + transition:transform .2s cubic-bezier(.165, .84, .44, 1); +} +@media (prefers-reduced-motion:reduce){ + .editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle svg{ + transition-delay:0s; + transition-duration:0s; + } +} +.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle.is-pressed svg{ + transform:rotate(45deg); +} +.editor-document-tools .block-editor-list-view{ + display:none; +} +@media (min-width:600px){ + .editor-document-tools .block-editor-list-view{ + display:flex; + } +} +.editor-document-tools .editor-document-tools__left>.components-button.has-icon,.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon{ + height:32px; + min-width:32px; + padding:4px; +} +.editor-document-tools .editor-document-tools__left>.components-button.has-icon.is-pressed,.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon.is-pressed{ + background:#1e1e1e; +} +.editor-document-tools .editor-document-tools__left>.components-button.has-icon:focus:not(:disabled),.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon:focus:not(:disabled){ + box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 1px #fff; + outline:1px solid transparent; +} +.editor-document-tools .editor-document-tools__left>.components-button.has-icon:before,.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon:before{ + display:none; +} + +.editor-document-tools__left{ + align-items:center; + display:inline-flex; + gap:8px; + margin-right:8px; + padding-left:16px; +} +@media (min-width:782px){ + .editor-document-tools__left{ + padding-left:20px; + } +} +@media (min-width:1280px){ + .editor-document-tools__left{ + padding-right:8px; + } +} + +.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle.has-icon{ + height:32px; + min-width:32px; + padding:0; + width:32px; +} +.show-icon-labels .editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle.has-icon{ + height:32px; + padding:0 8px; + width:auto; +} + +.show-icon-labels .editor-document-tools__left>*+*{ + margin-left:8px; +} + .components-editor-notices__dismissible,.components-editor-notices__pinned{ color:#1e1e1e; left:0; @@ -133,7 +432,6 @@ .components-editor-notices__dismissible .components-notice,.components-editor-notices__pinned .components-notice{ border-bottom:1px solid rgba(0,0,0,.2); box-sizing:border-box; - margin:0; min-height:60px; padding:0 12px; } @@ -153,6 +451,14 @@ .entities-saved-states__text-prompt{ padding:16px 16px 4px; } +.entities-saved-states__text-prompt .entities-saved-states__text-prompt--header{ + display:block; + margin-bottom:12px; +} + +.entities-saved-states__description-heading{ + font-size:13px; +} .editor-error-boundary{ box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),.1px 11.5px 16.4px -.5px rgba(0,0,0,.15); @@ -161,6 +467,134 @@ padding:20px; } +.editor-inserter-sidebar{ + box-sizing:border-box; + display:flex; + flex-direction:column; + height:100%; +} +.editor-inserter-sidebar *,.editor-inserter-sidebar :after,.editor-inserter-sidebar :before{ + box-sizing:inherit; +} + +.editor-inserter-sidebar__header{ + display:flex; + justify-content:flex-end; + padding-right:8px; + padding-top:8px; +} + +.editor-inserter-sidebar__content{ + height:calc(100% - 44px); +} +@media (min-width:782px){ + .editor-inserter-sidebar__content{ + height:100%; + } +} + +.editor-list-view-sidebar{ + display:flex; + flex-direction:column; + height:100%; +} +@media (min-width:782px){ + .editor-list-view-sidebar{ + width:350px; + } +} +.editor-list-view-sidebar .editor-list-view-sidebar__close-button{ + background:#fff; + position:absolute; + right:8px; + top:6px; + z-index:1; +} +.editor-list-view-sidebar .components-tab-panel__tabs{ + border-bottom:1px solid #ddd; + box-sizing:border-box; + display:flex; + padding-right:56px; + width:100%; +} +.editor-list-view-sidebar .components-tab-panel__tabs .editor-list-view-sidebar__panel-tab{ + margin-bottom:-1px; + width:50%; +} +.editor-list-view-sidebar .components-tab-panel__tab-content{ + height:calc(100% - 47px); +} + +.editor-list-view-sidebar__list-view-container>.document-outline,.editor-list-view-sidebar__list-view-panel-content{ + height:100%; + overflow:auto; + padding:8px 6px; + scrollbar-color:transparent transparent; + scrollbar-gutter:stable both-edges; + scrollbar-gutter:auto; + scrollbar-width:thin; + will-change:transform; +} +.editor-list-view-sidebar__list-view-container>.document-outline::-webkit-scrollbar,.editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar{ + height:12px; + width:12px; +} +.editor-list-view-sidebar__list-view-container>.document-outline::-webkit-scrollbar-track,.editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar-track{ + background-color:transparent; +} +.editor-list-view-sidebar__list-view-container>.document-outline::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar-thumb{ + background-clip:padding-box; + background-color:transparent; + border:3px solid transparent; + border-radius:8px; +} +.editor-list-view-sidebar__list-view-container>.document-outline:focus-within::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-container>.document-outline:focus::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-container>.document-outline:hover::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content:focus-within::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content:focus::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content:hover::-webkit-scrollbar-thumb{ + background-color:#949494; +} +.editor-list-view-sidebar__list-view-container>.document-outline:focus,.editor-list-view-sidebar__list-view-container>.document-outline:focus-within,.editor-list-view-sidebar__list-view-container>.document-outline:hover,.editor-list-view-sidebar__list-view-panel-content:focus,.editor-list-view-sidebar__list-view-panel-content:focus-within,.editor-list-view-sidebar__list-view-panel-content:hover{ + scrollbar-color:#949494 transparent; +} +@media (hover:none){ + .editor-list-view-sidebar__list-view-container>.document-outline,.editor-list-view-sidebar__list-view-panel-content{ + scrollbar-color:#949494 transparent; + } +} + +.editor-list-view-sidebar__list-view-container{ + display:flex; + flex-direction:column; + height:100%; +} + +.editor-list-view-sidebar__tab-panel{ + height:100%; +} + +.editor-list-view-sidebar__outline{ + border-bottom:1px solid #ddd; + display:flex; + flex-direction:column; + gap:8px; + padding:16px; +} +.editor-list-view-sidebar__outline>div>span:first-child{ + display:inline-block; + width:90px; +} +.editor-list-view-sidebar__outline>div>span{ + color:#757575; + font-size:12px; + line-height:1.4; +} + +.editor-post-author__panel{ + padding-top:8px; +} + +.editor-post-author__panel .editor-post-panel__row-control>div{ + width:100%; +} + .editor-post-excerpt__textarea{ margin-bottom:10px; width:100%; @@ -271,10 +705,12 @@ box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); } -@media (min-width:600px){ - .editor-post-locked-modal{ - max-width:480px; - } +.components-panel__body.is-opened.editor-post-last-revision__panel{ + height:48px; + padding:0; +} +.components-panel__body.is-opened.editor-post-last-revision__panel .editor-post-last-revision__title.components-button.components-button{ + padding:16px; } .editor-post-locked-modal__buttons{ @@ -287,6 +723,28 @@ min-width:auto !important; } +.editor-post-panel__row{ + align-items:flex-start !important; + justify-content:flex-start !important; + min-height:36px; + width:100%; +} + +.editor-post-panel__row-label{ + align-items:center; + display:flex; + flex-shrink:0; + min-height:36px; + width:30%; +} + +.editor-post-panel__row-control{ + align-items:center; + display:flex; + flex-grow:1; + min-height:36px; +} + .editor-post-publish-button__button.has-changes-dot:before{ background:currentcolor; border-radius:4px; @@ -500,20 +958,27 @@ margin-right:0; } -.edit-post-sync-status{ - align-items:flex-start; - justify-content:flex-start; - position:relative; +.editor-post-schedule__panel-dropdown{ width:100%; } -.edit-post-sync-status>span{ - display:block; - flex-shrink:0; - padding:6px 0; - width:45%; - word-break:break-word; + +.editor-post-schedule__dialog .components-popover__content{ + min-width:320px; + padding:16px; } -.edit-post-sync-status>div{ + +.editor-post-schedule__dialog-toggle.components-button{ + display:block; + height:auto; + line-height:16px; + max-width:100%; + overflow:hidden; + padding:10px 12px; + text-align:left; + white-space:unset; +} + +.editor-post-sync-status__value{ padding:6px 0 6px 12px; } @@ -553,6 +1018,50 @@ font-size:12px; } +.editor-post-template__swap-template-modal{ + z-index:1000001; +} + +.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list{ + column-count:2; + column-gap:24px; + padding-top:2px; +} +@media (min-width:782px){ + .editor-post-template__swap-template-modal-content .block-editor-block-patterns-list{ + column-count:3; + } +} +@media (min-width:1280px){ + .editor-post-template__swap-template-modal-content .block-editor-block-patterns-list{ + column-count:4; + } +} +.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{ + break-inside:avoid-column; +} +.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__item:not(:focus):not(:hover) .block-editor-block-preview__container{ + box-shadow:0 0 0 1px #ddd; +} + +.editor-post-template__dropdown .components-popover__content{ + min-width:240px; +} +.editor-post-template__dropdown .components-button.is-pressed,.editor-post-template__dropdown .components-button.is-pressed:hover{ + background:inherit; + color:inherit; +} + +@media (min-width:782px){ + .editor-post-template__create-form{ + width:320px; + } +} + +.editor-post-template__classic-theme-dropdown{ + padding:8px; +} + .edit-post-text-editor__body textarea.editor-post-text-editor{ border:1px solid #949494; border-radius:0; @@ -597,6 +1106,30 @@ color:rgba(30,30,30,.62); } +.edit-post-text-editor__body .editor-post-title.is-raw-text{ + margin-bottom:24px; + margin-top:2px; + max-width:none; +} + +.editor-post-url__panel-dropdown{ + width:100%; +} + +.components-button.editor-post-url__panel-toggle{ + display:block; + max-width:100%; + overflow:hidden; + text-align:left; + text-overflow:ellipsis; + white-space:nowrap; +} + +.editor-post-url__panel-dialog .editor-post-url{ + margin:8px; + min-width:248px; +} + .editor-post-url__link-label{ font-size:13px; font-weight:400; @@ -738,6 +1271,12 @@ justify-content:center; } +.editor-preview-dropdown__button-external{ + display:flex; + justify-content:space-between; + width:100%; +} + .table-of-contents__popover.components-popover .components-popover__content{ min-width:380px; } diff --git a/wp-includes/css/dist/editor/style.min.css b/wp-includes/css/dist/editor/style.min.css index 14071d7037..328c7ba4d8 100644 --- a/wp-includes/css/dist/editor/style.min.css +++ b/wp-includes/css/dist/editor/style.min.css @@ -1 +1 @@ -@charset "UTF-8";:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.editor-autocompleters__user .editor-autocompleters__no-avatar:before{content:"";font:normal 20px/1 dashicons;margin-right:5px;vertical-align:middle}.editor-autocompleters__user .editor-autocompleters__user-avatar{flex-grow:0;flex-shrink:0;height:24px;margin-right:8px;max-width:none;width:24px}.editor-autocompleters__user .editor-autocompleters__user-name{flex-grow:1;flex-shrink:0;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-autocompleters__user .editor-autocompleters__user-slug{color:#757575;flex-grow:0;flex-shrink:0;margin-left:8px;max-width:100px;overflow:none;text-overflow:ellipsis;white-space:nowrap}.editor-autocompleters__user:hover .editor-autocompleters__user-slug{color:var(--wp-admin-theme-color)}.document-outline{margin:20px 0}.document-outline ul{margin:0;padding:0}.document-outline__item{display:flex;margin:4px 0}.document-outline__item a{text-decoration:none}.document-outline__item .document-outline__emdash:before{color:#ddd;margin-right:4px}.document-outline__item.is-h2 .document-outline__emdash:before{content:"—"}.document-outline__item.is-h3 .document-outline__emdash:before{content:"——"}.document-outline__item.is-h4 .document-outline__emdash:before{content:"———"}.document-outline__item.is-h5 .document-outline__emdash:before{content:"————"}.document-outline__item.is-h6 .document-outline__emdash:before{content:"—————"}.document-outline__button{align-items:flex-start;background:none;border:none;border-radius:2px;color:#1e1e1e;cursor:pointer;display:flex;margin:0 0 0 -1px;padding:2px 5px 2px 1px;text-align:left}.document-outline__button:disabled{cursor:default}.document-outline__button:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.document-outline__level{background:#ddd;border-radius:3px;color:#1e1e1e;font-size:13px;margin-right:4px;padding:1px 6px}.is-invalid .document-outline__level{background:#f0b849}.document-outline__item-content{padding:1px 0}.components-editor-notices__dismissible,.components-editor-notices__pinned{color:#1e1e1e;left:0;position:relative;right:0;top:0}.components-editor-notices__dismissible .components-notice,.components-editor-notices__pinned .components-notice{border-bottom:1px solid rgba(0,0,0,.2);box-sizing:border-box;margin:0;min-height:60px;padding:0 12px}.components-editor-notices__dismissible .components-notice .components-notice__dismiss,.components-editor-notices__pinned .components-notice .components-notice__dismiss{margin-top:12px}.entities-saved-states__panel-header{background:#fff;border-bottom:1px solid #ddd;box-sizing:border-box;height:60px;padding-left:8px;padding-right:8px}.entities-saved-states__text-prompt{padding:16px 16px 4px}.editor-error-boundary{box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),.1px 11.5px 16.4px -.5px rgba(0,0,0,.15);margin:60px auto auto;max-width:780px;padding:20px}.editor-post-excerpt__textarea{margin-bottom:10px;width:100%}.editor-post-featured-image{padding:0}.editor-post-featured-image .components-spinner{left:50%;margin-left:-9px;margin-top:-9px;position:absolute;top:50%}.editor-post-featured-image .components-responsive-wrapper__content{max-width:100%;width:auto}.editor-post-featured-image__container{position:relative}.editor-post-featured-image__container:focus .editor-post-featured-image__actions,.editor-post-featured-image__container:focus-within .editor-post-featured-image__actions,.editor-post-featured-image__container:hover .editor-post-featured-image__actions{opacity:1}.editor-post-featured-image__preview,.editor-post-featured-image__toggle{box-shadow:0 0 0 0 var(--wp-admin-theme-color);display:flex;justify-content:center;max-height:150px;overflow:hidden;padding:0;transition:all .1s ease-out;width:100%}@media (prefers-reduced-motion:reduce){.editor-post-featured-image__preview,.editor-post-featured-image__toggle{transition-delay:0s;transition-duration:0s}}.editor-post-featured-image__preview{height:auto}.editor-post-featured-image__preview .components-responsive-wrapper{background:#f0f0f0;width:100%}.editor-post-featured-image__toggle{background-color:#f0f0f0;border-radius:2px;line-height:20px;min-height:90px;padding:8px 0;text-align:center}.editor-post-featured-image__toggle:hover{background:#ddd;color:#1e1e1e}.editor-post-featured-image__actions{bottom:0;opacity:0;padding:8px;position:absolute;transition:opacity 50ms ease-out}@media (prefers-reduced-motion:reduce){.editor-post-featured-image__actions{transition-delay:0s;transition-duration:0s}}.editor-post-featured-image__action{-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background:hsla(0,0%,100%,.75);flex-grow:1;justify-content:center}[class].editor-post-format__suggestion{margin:4px 0 0}.editor-post-last-revision__title{font-weight:600;width:100%}.editor-post-last-revision__title .dashicon{margin-right:5px}.components-button.editor-post-last-revision__title{height:100%}.components-button.editor-post-last-revision__title:active,.components-button.editor-post-last-revision__title:hover{background:#f0f0f0}.components-button.editor-post-last-revision__title:focus{border-radius:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}@media (min-width:600px){.editor-post-locked-modal{max-width:480px}}.editor-post-locked-modal__buttons{margin-top:24px}.editor-post-locked-modal__avatar{border-radius:2px;margin-top:16px;min-width:auto!important}.editor-post-publish-button__button.has-changes-dot:before{background:currentcolor;border-radius:4px;content:"";height:8px;margin:auto 5px auto -3px;width:8px}.editor-post-publish-panel{background:#fff}.editor-post-publish-panel__content{min-height:calc(100% - 144px)}.editor-post-publish-panel__content>.components-spinner{display:block;margin:100px auto 0}.editor-post-publish-panel__header{align-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #ddd;display:flex;height:61px;padding-left:16px;padding-right:16px}.editor-post-publish-panel__header .components-button{justify-content:center;width:100%}.editor-post-publish-panel__header .has-icon{margin-left:auto;width:auto}.components-site-card{align-items:center;display:flex;margin:16px 0}.components-site-icon{border:none;border-radius:2px;height:36px;margin-right:12px;width:36px}.components-site-name{display:block;font-size:14px}.components-site-home{color:#757575;display:block;font-size:12px}.editor-post-publish-panel__header-cancel-button,.editor-post-publish-panel__header-publish-button{flex:1}@media (min-width:480px){.editor-post-publish-panel__header-cancel-button,.editor-post-publish-panel__header-publish-button{max-width:160px}}.editor-post-publish-panel__header-publish-button{padding-right:4px}.editor-post-publish-panel__header-cancel-button{padding-left:4px}.editor-post-publish-panel__header-published{flex-grow:1}.editor-post-publish-panel__footer{padding:16px}.components-button.editor-post-publish-panel__toggle.is-primary{align-items:center;display:inline-flex}.components-button.editor-post-publish-panel__toggle.is-primary.is-busy .dashicon{display:none}.components-button.editor-post-publish-panel__toggle.is-primary .dashicon{margin-right:-4px}.editor-post-publish-panel__link{font-weight:400;padding-left:4px}.editor-post-publish-panel__prepublish{padding:16px}.editor-post-publish-panel__prepublish strong{color:#1e1e1e}.editor-post-publish-panel__prepublish .components-panel__body{background:#fff;margin-left:-16px;margin-right:-16px}.editor-post-publish-panel__prepublish .editor-post-visibility__dialog-legend{display:none}.post-publish-panel__postpublish .components-panel__body{border-bottom:1px solid #e0e0e0;border-top:none}.post-publish-panel__postpublish-buttons{align-content:space-between;display:flex;flex-wrap:wrap;gap:16px}.post-publish-panel__postpublish-buttons .components-button{flex:1;justify-content:center}.post-publish-panel__postpublish-buttons .components-clipboard-button{width:100%}.post-publish-panel__postpublish-post-address-container{align-items:flex-end;display:flex;margin-bottom:16px}.post-publish-panel__postpublish-post-address-container .post-publish-panel__postpublish-post-address{flex:1}.post-publish-panel__postpublish-post-address-container input[readonly]{background:#f0f0f0;border-color:#ccc;height:36px;overflow:hidden;padding:16px;text-overflow:ellipsis}.post-publish-panel__postpublish-post-address__copy-button-wrap{flex-shrink:0;margin-left:16px}.post-publish-panel__postpublish-header{font-weight:500}.post-publish-panel__postpublish-subheader{margin:0 0 8px}.post-publish-panel__tip{color:#f0b849}@media screen and (max-width:782px){.post-publish-panel__postpublish-post-address__button-wrap .components-button{height:40px}}.editor-post-saved-state{align-items:center;color:#757575;display:flex;overflow:hidden;padding:12px 4px;white-space:nowrap;width:28px}.editor-post-saved-state.is-saved[aria-disabled=true],.editor-post-saved-state.is-saved[aria-disabled=true]:hover,.editor-post-saved-state.is-saving[aria-disabled=true],.editor-post-saved-state.is-saving[aria-disabled=true]:hover{background:transparent;color:#757575}.editor-post-saved-state svg{fill:currentColor;display:inline-block;flex:0 0 auto;margin-right:8px}@media (min-width:600px){.editor-post-saved-state{padding:8px 12px;text-indent:inherit;width:auto}.editor-post-saved-state svg{margin-right:0}}.editor-post-save-draft.has-text.has-icon svg{margin-right:0}.edit-post-sync-status{align-items:flex-start;justify-content:flex-start;position:relative;width:100%}.edit-post-sync-status>span{display:block;flex-shrink:0;padding:6px 0;width:45%;word-break:break-word}.edit-post-sync-status>div{padding:6px 0 6px 12px}.editor-post-taxonomies__hierarchical-terms-list{margin-left:-6px;margin-top:-6px;max-height:14em;overflow:auto;padding-left:6px;padding-top:6px}.editor-post-taxonomies__hierarchical-terms-choice{margin-bottom:8px}.editor-post-taxonomies__hierarchical-terms-choice:last-child{margin-bottom:4px}.editor-post-taxonomies__hierarchical-terms-subchoices{margin-left:16px;margin-top:8px}.editor-post-taxonomies__flat-term-most-used .editor-post-taxonomies__flat-term-most-used-label{margin-bottom:4px}.editor-post-taxonomies__flat-term-most-used-list{margin:0}.editor-post-taxonomies__flat-term-most-used-list li{display:inline-block;margin-right:8px}.editor-post-taxonomies__flat-term-most-used-list .components-button{font-size:12px}.edit-post-text-editor__body textarea.editor-post-text-editor{border:1px solid #949494;border-radius:0;box-shadow:none;display:block;font-family:Menlo,Consolas,monaco,monospace;font-size:16px!important;line-height:2.4;margin:0;min-height:200px;overflow:hidden;padding:16px;resize:none;transition:border .1s ease-out,box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.edit-post-text-editor__body textarea.editor-post-text-editor{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.edit-post-text-editor__body textarea.editor-post-text-editor{font-size:15px!important;padding:24px}}.edit-post-text-editor__body textarea.editor-post-text-editor:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);position:relative}.edit-post-text-editor__body textarea.editor-post-text-editor::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.edit-post-text-editor__body textarea.editor-post-text-editor::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.edit-post-text-editor__body textarea.editor-post-text-editor:-ms-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-url__link-label{font-size:13px;font-weight:400;margin:0}.editor-post-url__link{direction:ltr;word-break:break-word}.editor-post-url__link-slug{font-weight:600}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{border:1px solid #1e1e1e;border-radius:2px;border-radius:50%;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:24px;line-height:normal;margin-right:12px;margin-top:2px;padding:6px 8px;transition:box-shadow .1s linear;transition:none;width:24px}@media (prefers-reduced-motion:reduce){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{font-size:13px;line-height:normal}}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color)}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{height:20px;width:20px}}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked:before{background-color:#fff;border:4px solid #fff;box-sizing:inherit;height:8px;margin:0;transform:translate(7px,7px);width:8px}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked:before{transform:translate(5px,5px)}}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.editor-post-visibility__fieldset .editor-post-visibility__info{color:#757575;margin-left:36px;margin-top:.5em}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__info{margin-left:32px}}.editor-post-visibility__fieldset .editor-post-visibility__choice:last-child .editor-post-visibility__info{margin-bottom:0}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;margin-left:32px;padding:6px 8px;transition:box-shadow .1s linear;width:calc(100% - 32px)}@media (prefers-reduced-motion:reduce){.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]{font-size:13px;line-height:normal}}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-trash.components-button{flex-grow:1;justify-content:center}.table-of-contents__popover.components-popover .components-popover__content{min-width:380px}.components-popover.table-of-contents__popover{z-index:99998}.table-of-contents__popover .components-popover__content{padding:16px}@media (min-width:600px){.table-of-contents__popover .components-popover__content{max-height:calc(100vh - 120px);overflow-y:auto}}.table-of-contents__popover hr{margin:10px -16px 0}.table-of-contents__wrapper:focus:before{bottom:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0}.table-of-contents__counts{display:flex;flex-wrap:wrap;margin:-8px 0 0}.table-of-contents__count{color:#1e1e1e;display:flex;flex-basis:33%;flex-direction:column;font-size:13px;margin-bottom:0;margin-top:8px;padding-right:8px}.table-of-contents__count:nth-child(4n){padding-right:0}.table-of-contents__number,.table-of-contents__popover .word-count{color:#1e1e1e;font-size:21px;font-weight:400;line-height:30px}.table-of-contents__title{display:block;font-size:15px;font-weight:600;margin-top:20px}.editor-template-validation-notice{align-items:center;display:flex;justify-content:space-between}.editor-template-validation-notice .components-button{margin-left:5px} \ No newline at end of file +@charset "UTF-8";:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.editor-autocompleters__user .editor-autocompleters__no-avatar:before{content:"";font:normal 20px/1 dashicons;margin-right:5px;vertical-align:middle}.editor-autocompleters__user .editor-autocompleters__user-avatar{flex-grow:0;flex-shrink:0;height:24px;margin-right:8px;max-width:none;width:24px}.editor-autocompleters__user .editor-autocompleters__user-name{flex-grow:1;flex-shrink:0;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-autocompleters__user .editor-autocompleters__user-slug{color:#757575;flex-grow:0;flex-shrink:0;margin-left:8px;max-width:100px;overflow:none;text-overflow:ellipsis;white-space:nowrap}.editor-autocompleters__user:hover .editor-autocompleters__user-slug{color:var(--wp-admin-theme-color)}.editor-block-manager__no-results{font-style:italic;padding:24px 0;text-align:center}.editor-block-manager__search{margin:16px 0}.editor-block-manager__disabled-blocks-count{background-color:#fff;border:1px solid #ddd;border-width:1px 0;box-shadow:-32px 0 0 0 #fff,32px 0 0 0 #fff;padding:8px;position:sticky;text-align:center;top:-5px;z-index:2}.editor-block-manager__disabled-blocks-count~.editor-block-manager__results .editor-block-manager__category-title{top:31px}.editor-block-manager__disabled-blocks-count .is-link{margin-left:12px}.editor-block-manager__category{margin:0 0 24px}.editor-block-manager__category-title{background-color:#fff;padding:16px 0;position:sticky;top:-4px;z-index:1}.editor-block-manager__category-title .components-checkbox-control__label{font-weight:600}.editor-block-manager__checklist{margin-top:0}.editor-block-manager__category-title,.editor-block-manager__checklist-item{border-bottom:1px solid #ddd}.editor-block-manager__checklist-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:0;padding:8px 0 8px 16px}.components-modal__content .editor-block-manager__checklist-item.components-checkbox-control__input-container{margin:0 8px}.editor-block-manager__checklist-item .block-editor-block-icon{fill:#1e1e1e;margin-right:10px}.editor-block-manager__results{border-top:1px solid #ddd}.editor-block-manager__disabled-blocks-count+.editor-block-manager__results{border-top-width:0}.editor-document-bar{align-items:center;background:#f0f0f0;border-radius:4px;display:flex;height:32px;justify-content:space-between;min-width:0;width:min(100%,450px)}.editor-document-bar:hover{background-color:#e0e0e0}.editor-document-bar .components-button{border-radius:4px}.editor-document-bar .components-button:hover{background:#e0e0e0;color:var(--wp-block-synced-color)}@media (min-width:960px){.editor-document-bar{width:min(100%,450px)}}.editor-document-bar__command{color:var(--wp-block-synced-color);flex-grow:1;overflow:hidden}.editor-document-bar__title{color:#2f2f2f;flex-grow:1;overflow:hidden}@media (min-width:600px){.editor-document-bar__title{padding-left:32px}}.editor-document-bar.is-global .editor-document-bar__title,.editor-document-bar__title:hover{color:var(--wp-block-synced-color)}.editor-document-bar__title .block-editor-block-icon{flex-shrink:0;min-width:24px}.editor-document-bar__title h1{color:currentColor;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-document-bar.is-animated.has-back-button .editor-document-bar__title{animation:editor-document-bar__slide-in-left .3s}@media (prefers-reduced-motion:reduce){.editor-document-bar.is-animated.has-back-button .editor-document-bar__title{animation-delay:0s;animation-duration:1ms}}.editor-document-bar.is-animated .editor-document-bar__title{animation:editor-document-bar__slide-in-right .3s}@media (prefers-reduced-motion:reduce){.editor-document-bar.is-animated .editor-document-bar__title{animation-delay:0s;animation-duration:1ms}}.editor-document-bar__shortcut{color:#2f2f2f;display:none;min-width:32px}@media (min-width:782px){.editor-document-bar__shortcut{display:initial}}.editor-document-bar__back.components-button.has-icon.has-text{color:#757575;flex-shrink:0;gap:0;min-width:36px;position:absolute;z-index:1}.editor-document-bar__back.components-button.has-icon.has-text:hover{background-color:transparent;color:var(--wp-block-synced-color)}.editor-document-bar.is-animated .editor-document-bar__back.components-button.has-icon.has-text{animation:editor-document-bar__slide-in-left .3s}@media (prefers-reduced-motion:reduce){.editor-document-bar.is-animated .editor-document-bar__back.components-button.has-icon.has-text{animation-delay:0s;animation-duration:1ms}}@keyframes editor-document-bar__slide-in-right{0%{opacity:0;transform:translateX(-15%)}to{opacity:1;transform:translateX(0)}}@keyframes editor-document-bar__slide-in-left{0%{opacity:0;transform:translateX(15%)}to{opacity:1;transform:translateX(0)}}.document-outline{margin:20px 0}.document-outline ul{margin:0;padding:0}.document-outline__item{display:flex;margin:4px 0}.document-outline__item a{text-decoration:none}.document-outline__item .document-outline__emdash:before{color:#ddd;margin-right:4px}.document-outline__item.is-h2 .document-outline__emdash:before{content:"—"}.document-outline__item.is-h3 .document-outline__emdash:before{content:"——"}.document-outline__item.is-h4 .document-outline__emdash:before{content:"———"}.document-outline__item.is-h5 .document-outline__emdash:before{content:"————"}.document-outline__item.is-h6 .document-outline__emdash:before{content:"—————"}.document-outline__button{align-items:flex-start;background:none;border:none;border-radius:2px;color:#1e1e1e;cursor:pointer;display:flex;margin:0 0 0 -1px;padding:2px 5px 2px 1px;text-align:left}.document-outline__button:disabled{cursor:default}.document-outline__button:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.document-outline__level{background:#ddd;border-radius:3px;color:#1e1e1e;font-size:13px;margin-right:4px;padding:1px 6px}.is-invalid .document-outline__level{background:#f0b849}.document-outline__item-content{padding:1px 0}.editor-document-outline.has-no-headings{color:#757575;text-align:center}.editor-document-outline.has-no-headings>svg{margin-top:28px}.editor-document-outline.has-no-headings>p{padding-left:32px;padding-right:32px}.editor-document-tools{align-items:center;display:inline-flex}.editor-document-tools .editor-document-tools__left>.components-button{display:none}@media (min-width:600px){.editor-document-tools .editor-document-tools__left>.components-button{display:inline-flex}}.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle{display:inline-flex}.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle svg{transition:transform .2s cubic-bezier(.165,.84,.44,1)}@media (prefers-reduced-motion:reduce){.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle svg{transition-delay:0s;transition-duration:0s}}.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle.is-pressed svg{transform:rotate(45deg)}.editor-document-tools .block-editor-list-view{display:none}@media (min-width:600px){.editor-document-tools .block-editor-list-view{display:flex}}.editor-document-tools .editor-document-tools__left>.components-button.has-icon,.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon{height:32px;min-width:32px;padding:4px}.editor-document-tools .editor-document-tools__left>.components-button.has-icon.is-pressed,.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon.is-pressed{background:#1e1e1e}.editor-document-tools .editor-document-tools__left>.components-button.has-icon:focus:not(:disabled),.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 1px #fff;outline:1px solid transparent}.editor-document-tools .editor-document-tools__left>.components-button.has-icon:before,.editor-document-tools .editor-document-tools__left>.components-dropdown>.components-button.has-icon:before{display:none}.editor-document-tools__left{align-items:center;display:inline-flex;gap:8px;margin-right:8px;padding-left:16px}@media (min-width:782px){.editor-document-tools__left{padding-left:20px}}@media (min-width:1280px){.editor-document-tools__left{padding-right:8px}}.editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle.has-icon{height:32px;min-width:32px;padding:0;width:32px}.show-icon-labels .editor-document-tools .editor-document-tools__left>.editor-document-tools__inserter-toggle.has-icon{height:32px;padding:0 8px;width:auto}.show-icon-labels .editor-document-tools__left>*+*{margin-left:8px}.components-editor-notices__dismissible,.components-editor-notices__pinned{color:#1e1e1e;left:0;position:relative;right:0;top:0}.components-editor-notices__dismissible .components-notice,.components-editor-notices__pinned .components-notice{border-bottom:1px solid rgba(0,0,0,.2);box-sizing:border-box;min-height:60px;padding:0 12px}.components-editor-notices__dismissible .components-notice .components-notice__dismiss,.components-editor-notices__pinned .components-notice .components-notice__dismiss{margin-top:12px}.entities-saved-states__panel-header{background:#fff;border-bottom:1px solid #ddd;box-sizing:border-box;height:60px;padding-left:8px;padding-right:8px}.entities-saved-states__text-prompt{padding:16px 16px 4px}.entities-saved-states__text-prompt .entities-saved-states__text-prompt--header{display:block;margin-bottom:12px}.entities-saved-states__description-heading{font-size:13px}.editor-error-boundary{box-shadow:0 .7px 1px rgba(0,0,0,.15),0 2.7px 3.8px -.2px rgba(0,0,0,.15),0 5.5px 7.8px -.3px rgba(0,0,0,.15),.1px 11.5px 16.4px -.5px rgba(0,0,0,.15);margin:60px auto auto;max-width:780px;padding:20px}.editor-inserter-sidebar{box-sizing:border-box;display:flex;flex-direction:column;height:100%}.editor-inserter-sidebar *,.editor-inserter-sidebar :after,.editor-inserter-sidebar :before{box-sizing:inherit}.editor-inserter-sidebar__header{display:flex;justify-content:flex-end;padding-right:8px;padding-top:8px}.editor-inserter-sidebar__content{height:calc(100% - 44px)}@media (min-width:782px){.editor-inserter-sidebar__content{height:100%}}.editor-list-view-sidebar{display:flex;flex-direction:column;height:100%}@media (min-width:782px){.editor-list-view-sidebar{width:350px}}.editor-list-view-sidebar .editor-list-view-sidebar__close-button{background:#fff;position:absolute;right:8px;top:6px;z-index:1}.editor-list-view-sidebar .components-tab-panel__tabs{border-bottom:1px solid #ddd;box-sizing:border-box;display:flex;padding-right:56px;width:100%}.editor-list-view-sidebar .components-tab-panel__tabs .editor-list-view-sidebar__panel-tab{margin-bottom:-1px;width:50%}.editor-list-view-sidebar .components-tab-panel__tab-content{height:calc(100% - 47px)}.editor-list-view-sidebar__list-view-container>.document-outline,.editor-list-view-sidebar__list-view-panel-content{height:100%;overflow:auto;padding:8px 6px;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-gutter:auto;scrollbar-width:thin;will-change:transform}.editor-list-view-sidebar__list-view-container>.document-outline::-webkit-scrollbar,.editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar{height:12px;width:12px}.editor-list-view-sidebar__list-view-container>.document-outline::-webkit-scrollbar-track,.editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar-track{background-color:transparent}.editor-list-view-sidebar__list-view-container>.document-outline::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px}.editor-list-view-sidebar__list-view-container>.document-outline:focus-within::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-container>.document-outline:focus::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-container>.document-outline:hover::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content:focus-within::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content:focus::-webkit-scrollbar-thumb,.editor-list-view-sidebar__list-view-panel-content:hover::-webkit-scrollbar-thumb{background-color:#949494}.editor-list-view-sidebar__list-view-container>.document-outline:focus,.editor-list-view-sidebar__list-view-container>.document-outline:focus-within,.editor-list-view-sidebar__list-view-container>.document-outline:hover,.editor-list-view-sidebar__list-view-panel-content:focus,.editor-list-view-sidebar__list-view-panel-content:focus-within,.editor-list-view-sidebar__list-view-panel-content:hover{scrollbar-color:#949494 transparent}@media (hover:none){.editor-list-view-sidebar__list-view-container>.document-outline,.editor-list-view-sidebar__list-view-panel-content{scrollbar-color:#949494 transparent}}.editor-list-view-sidebar__list-view-container{display:flex;flex-direction:column;height:100%}.editor-list-view-sidebar__tab-panel{height:100%}.editor-list-view-sidebar__outline{border-bottom:1px solid #ddd;display:flex;flex-direction:column;gap:8px;padding:16px}.editor-list-view-sidebar__outline>div>span:first-child{display:inline-block;width:90px}.editor-list-view-sidebar__outline>div>span{color:#757575;font-size:12px;line-height:1.4}.editor-post-author__panel{padding-top:8px}.editor-post-author__panel .editor-post-panel__row-control>div{width:100%}.editor-post-excerpt__textarea{margin-bottom:10px;width:100%}.editor-post-featured-image{padding:0}.editor-post-featured-image .components-spinner{left:50%;margin-left:-9px;margin-top:-9px;position:absolute;top:50%}.editor-post-featured-image .components-responsive-wrapper__content{max-width:100%;width:auto}.editor-post-featured-image__container{position:relative}.editor-post-featured-image__container:focus .editor-post-featured-image__actions,.editor-post-featured-image__container:focus-within .editor-post-featured-image__actions,.editor-post-featured-image__container:hover .editor-post-featured-image__actions{opacity:1}.editor-post-featured-image__preview,.editor-post-featured-image__toggle{box-shadow:0 0 0 0 var(--wp-admin-theme-color);display:flex;justify-content:center;max-height:150px;overflow:hidden;padding:0;transition:all .1s ease-out;width:100%}@media (prefers-reduced-motion:reduce){.editor-post-featured-image__preview,.editor-post-featured-image__toggle{transition-delay:0s;transition-duration:0s}}.editor-post-featured-image__preview{height:auto}.editor-post-featured-image__preview .components-responsive-wrapper{background:#f0f0f0;width:100%}.editor-post-featured-image__toggle{background-color:#f0f0f0;border-radius:2px;line-height:20px;min-height:90px;padding:8px 0;text-align:center}.editor-post-featured-image__toggle:hover{background:#ddd;color:#1e1e1e}.editor-post-featured-image__actions{bottom:0;opacity:0;padding:8px;position:absolute;transition:opacity 50ms ease-out}@media (prefers-reduced-motion:reduce){.editor-post-featured-image__actions{transition-delay:0s;transition-duration:0s}}.editor-post-featured-image__action{-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background:hsla(0,0%,100%,.75);flex-grow:1;justify-content:center}[class].editor-post-format__suggestion{margin:4px 0 0}.editor-post-last-revision__title{font-weight:600;width:100%}.editor-post-last-revision__title .dashicon{margin-right:5px}.components-button.editor-post-last-revision__title{height:100%}.components-button.editor-post-last-revision__title:active,.components-button.editor-post-last-revision__title:hover{background:#f0f0f0}.components-button.editor-post-last-revision__title:focus{border-radius:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-panel__body.is-opened.editor-post-last-revision__panel{height:48px;padding:0}.components-panel__body.is-opened.editor-post-last-revision__panel .editor-post-last-revision__title.components-button.components-button{padding:16px}.editor-post-locked-modal__buttons{margin-top:24px}.editor-post-locked-modal__avatar{border-radius:2px;margin-top:16px;min-width:auto!important}.editor-post-panel__row{align-items:flex-start!important;justify-content:flex-start!important;min-height:36px;width:100%}.editor-post-panel__row-label{align-items:center;display:flex;flex-shrink:0;min-height:36px;width:30%}.editor-post-panel__row-control{align-items:center;display:flex;flex-grow:1;min-height:36px}.editor-post-publish-button__button.has-changes-dot:before{background:currentcolor;border-radius:4px;content:"";height:8px;margin:auto 5px auto -3px;width:8px}.editor-post-publish-panel{background:#fff}.editor-post-publish-panel__content{min-height:calc(100% - 144px)}.editor-post-publish-panel__content>.components-spinner{display:block;margin:100px auto 0}.editor-post-publish-panel__header{align-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #ddd;display:flex;height:61px;padding-left:16px;padding-right:16px}.editor-post-publish-panel__header .components-button{justify-content:center;width:100%}.editor-post-publish-panel__header .has-icon{margin-left:auto;width:auto}.components-site-card{align-items:center;display:flex;margin:16px 0}.components-site-icon{border:none;border-radius:2px;height:36px;margin-right:12px;width:36px}.components-site-name{display:block;font-size:14px}.components-site-home{color:#757575;display:block;font-size:12px}.editor-post-publish-panel__header-cancel-button,.editor-post-publish-panel__header-publish-button{flex:1}@media (min-width:480px){.editor-post-publish-panel__header-cancel-button,.editor-post-publish-panel__header-publish-button{max-width:160px}}.editor-post-publish-panel__header-publish-button{padding-right:4px}.editor-post-publish-panel__header-cancel-button{padding-left:4px}.editor-post-publish-panel__header-published{flex-grow:1}.editor-post-publish-panel__footer{padding:16px}.components-button.editor-post-publish-panel__toggle.is-primary{align-items:center;display:inline-flex}.components-button.editor-post-publish-panel__toggle.is-primary.is-busy .dashicon{display:none}.components-button.editor-post-publish-panel__toggle.is-primary .dashicon{margin-right:-4px}.editor-post-publish-panel__link{font-weight:400;padding-left:4px}.editor-post-publish-panel__prepublish{padding:16px}.editor-post-publish-panel__prepublish strong{color:#1e1e1e}.editor-post-publish-panel__prepublish .components-panel__body{background:#fff;margin-left:-16px;margin-right:-16px}.editor-post-publish-panel__prepublish .editor-post-visibility__dialog-legend{display:none}.post-publish-panel__postpublish .components-panel__body{border-bottom:1px solid #e0e0e0;border-top:none}.post-publish-panel__postpublish-buttons{align-content:space-between;display:flex;flex-wrap:wrap;gap:16px}.post-publish-panel__postpublish-buttons .components-button{flex:1;justify-content:center}.post-publish-panel__postpublish-buttons .components-clipboard-button{width:100%}.post-publish-panel__postpublish-post-address-container{align-items:flex-end;display:flex;margin-bottom:16px}.post-publish-panel__postpublish-post-address-container .post-publish-panel__postpublish-post-address{flex:1}.post-publish-panel__postpublish-post-address-container input[readonly]{background:#f0f0f0;border-color:#ccc;height:36px;overflow:hidden;padding:16px;text-overflow:ellipsis}.post-publish-panel__postpublish-post-address__copy-button-wrap{flex-shrink:0;margin-left:16px}.post-publish-panel__postpublish-header{font-weight:500}.post-publish-panel__postpublish-subheader{margin:0 0 8px}.post-publish-panel__tip{color:#f0b849}@media screen and (max-width:782px){.post-publish-panel__postpublish-post-address__button-wrap .components-button{height:40px}}.editor-post-saved-state{align-items:center;color:#757575;display:flex;overflow:hidden;padding:12px 4px;white-space:nowrap;width:28px}.editor-post-saved-state.is-saved[aria-disabled=true],.editor-post-saved-state.is-saved[aria-disabled=true]:hover,.editor-post-saved-state.is-saving[aria-disabled=true],.editor-post-saved-state.is-saving[aria-disabled=true]:hover{background:transparent;color:#757575}.editor-post-saved-state svg{fill:currentColor;display:inline-block;flex:0 0 auto;margin-right:8px}@media (min-width:600px){.editor-post-saved-state{padding:8px 12px;text-indent:inherit;width:auto}.editor-post-saved-state svg{margin-right:0}}.editor-post-save-draft.has-text.has-icon svg{margin-right:0}.editor-post-schedule__panel-dropdown{width:100%}.editor-post-schedule__dialog .components-popover__content{min-width:320px;padding:16px}.editor-post-schedule__dialog-toggle.components-button{display:block;height:auto;line-height:16px;max-width:100%;overflow:hidden;padding:10px 12px;text-align:left;white-space:unset}.editor-post-sync-status__value{padding:6px 0 6px 12px}.editor-post-taxonomies__hierarchical-terms-list{margin-left:-6px;margin-top:-6px;max-height:14em;overflow:auto;padding-left:6px;padding-top:6px}.editor-post-taxonomies__hierarchical-terms-choice{margin-bottom:8px}.editor-post-taxonomies__hierarchical-terms-choice:last-child{margin-bottom:4px}.editor-post-taxonomies__hierarchical-terms-subchoices{margin-left:16px;margin-top:8px}.editor-post-taxonomies__flat-term-most-used .editor-post-taxonomies__flat-term-most-used-label{margin-bottom:4px}.editor-post-taxonomies__flat-term-most-used-list{margin:0}.editor-post-taxonomies__flat-term-most-used-list li{display:inline-block;margin-right:8px}.editor-post-taxonomies__flat-term-most-used-list .components-button{font-size:12px}.editor-post-template__swap-template-modal{z-index:1000001}.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list{column-count:2;column-gap:24px;padding-top:2px}@media (min-width:782px){.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list{column-count:3}}@media (min-width:1280px){.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list{column-count:4}}.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item{break-inside:avoid-column}.editor-post-template__swap-template-modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__item:not(:focus):not(:hover) .block-editor-block-preview__container{box-shadow:0 0 0 1px #ddd}.editor-post-template__dropdown .components-popover__content{min-width:240px}.editor-post-template__dropdown .components-button.is-pressed,.editor-post-template__dropdown .components-button.is-pressed:hover{background:inherit;color:inherit}@media (min-width:782px){.editor-post-template__create-form{width:320px}}.editor-post-template__classic-theme-dropdown{padding:8px}.edit-post-text-editor__body textarea.editor-post-text-editor{border:1px solid #949494;border-radius:0;box-shadow:none;display:block;font-family:Menlo,Consolas,monaco,monospace;font-size:16px!important;line-height:2.4;margin:0;min-height:200px;overflow:hidden;padding:16px;resize:none;transition:border .1s ease-out,box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.edit-post-text-editor__body textarea.editor-post-text-editor{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.edit-post-text-editor__body textarea.editor-post-text-editor{font-size:15px!important;padding:24px}}.edit-post-text-editor__body textarea.editor-post-text-editor:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);position:relative}.edit-post-text-editor__body textarea.editor-post-text-editor::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.edit-post-text-editor__body textarea.editor-post-text-editor::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.edit-post-text-editor__body textarea.editor-post-text-editor:-ms-input-placeholder{color:rgba(30,30,30,.62)}.edit-post-text-editor__body .editor-post-title.is-raw-text{margin-bottom:24px;margin-top:2px;max-width:none}.editor-post-url__panel-dropdown{width:100%}.components-button.editor-post-url__panel-toggle{display:block;max-width:100%;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.editor-post-url__panel-dialog .editor-post-url{margin:8px;min-width:248px}.editor-post-url__link-label{font-size:13px;font-weight:400;margin:0}.editor-post-url__link{direction:ltr;word-break:break-word}.editor-post-url__link-slug{font-weight:600}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{border:1px solid #1e1e1e;border-radius:2px;border-radius:50%;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:24px;line-height:normal;margin-right:12px;margin-top:2px;padding:6px 8px;transition:box-shadow .1s linear;transition:none;width:24px}@media (prefers-reduced-motion:reduce){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{font-size:13px;line-height:normal}}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color)}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]{height:20px;width:20px}}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked:before{background-color:#fff;border:4px solid #fff;box-sizing:inherit;height:8px;margin:0;transform:translate(7px,7px);width:8px}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked:before{transform:translate(5px,5px)}}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.editor-post-visibility__fieldset .editor-post-visibility__info{color:#757575;margin-left:36px;margin-top:.5em}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__info{margin-left:32px}}.editor-post-visibility__fieldset .editor-post-visibility__choice:last-child .editor-post-visibility__info{margin-bottom:0}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]{border:1px solid #949494;border-radius:2px;box-shadow:0 0 0 transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:normal;margin-left:32px;padding:6px 8px;transition:box-shadow .1s linear;width:calc(100% - 32px)}@media (prefers-reduced-motion:reduce){.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]{font-size:13px;line-height:normal}}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-trash.components-button{flex-grow:1;justify-content:center}.editor-preview-dropdown__button-external{display:flex;justify-content:space-between;width:100%}.table-of-contents__popover.components-popover .components-popover__content{min-width:380px}.components-popover.table-of-contents__popover{z-index:99998}.table-of-contents__popover .components-popover__content{padding:16px}@media (min-width:600px){.table-of-contents__popover .components-popover__content{max-height:calc(100vh - 120px);overflow-y:auto}}.table-of-contents__popover hr{margin:10px -16px 0}.table-of-contents__wrapper:focus:before{bottom:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0}.table-of-contents__counts{display:flex;flex-wrap:wrap;margin:-8px 0 0}.table-of-contents__count{color:#1e1e1e;display:flex;flex-basis:33%;flex-direction:column;font-size:13px;margin-bottom:0;margin-top:8px;padding-right:8px}.table-of-contents__count:nth-child(4n){padding-right:0}.table-of-contents__number,.table-of-contents__popover .word-count{color:#1e1e1e;font-size:21px;font-weight:400;line-height:30px}.table-of-contents__title{display:block;font-size:15px;font-weight:600;margin-top:20px}.editor-template-validation-notice{align-items:center;display:flex;justify-content:space-between}.editor-template-validation-notice .components-button{margin-left:5px} \ No newline at end of file diff --git a/wp-includes/css/dist/format-library/style-rtl.css b/wp-includes/css/dist/format-library/style-rtl.css index 961b7e4a83..ce2f5d4f76 100644 --- a/wp-includes/css/dist/format-library/style-rtl.css +++ b/wp-includes/css/dist/format-library/style-rtl.css @@ -47,21 +47,9 @@ color:#cc1818; } -.components-inline-color-popover .components-popover__content .components-tab-panel__tab-content{ +.format-library__inline-color-popover [role=tabpanel]{ padding:16px; } -.components-inline-color-popover .components-popover__content .components-color-palette{ - margin-top:.6rem; -} -.components-inline-color-popover .components-popover__content .components-base-control__title{ - color:#191e23; - display:block; - font-weight:600; - margin-bottom:16px; -} -.components-inline-color-popover .components-popover__content .component-color-indicator{ - vertical-align:text-bottom; -} .block-editor-format-toolbar__language-popover .components-popover__content{ padding:1rem; diff --git a/wp-includes/css/dist/format-library/style-rtl.min.css b/wp-includes/css/dist/format-library/style-rtl.min.css index e193ded771..dbcd03266e 100644 --- a/wp-includes/css/dist/format-library/style-rtl.min.css +++ b/wp-includes/css/dist/format-library/style-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-editor-format-toolbar__image-popover{z-index:159990}.block-editor-format-toolbar__image-popover .block-editor-format-toolbar__image-container-value{margin:7px;max-width:500px;min-width:150px}.block-editor-format-toolbar__image-popover .block-editor-format-toolbar__image-container-button{height:30px;margin-bottom:8px;margin-left:8px}.block-editor-format-toolbar__link-container-content{display:flex}.block-editor-format-toolbar__link-container-value{flex-grow:1;flex-shrink:1;margin:7px;max-width:500px;min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-format-toolbar__link-container-value.has-invalid-link{color:#cc1818}.components-inline-color-popover .components-popover__content .components-tab-panel__tab-content{padding:16px}.components-inline-color-popover .components-popover__content .components-color-palette{margin-top:.6rem}.components-inline-color-popover .components-popover__content .components-base-control__title{color:#191e23;display:block;font-weight:600;margin-bottom:16px}.components-inline-color-popover .components-popover__content .component-color-indicator{vertical-align:text-bottom}.block-editor-format-toolbar__language-popover .components-popover__content{padding:1rem;width:auto} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-editor-format-toolbar__image-popover{z-index:159990}.block-editor-format-toolbar__image-popover .block-editor-format-toolbar__image-container-value{margin:7px;max-width:500px;min-width:150px}.block-editor-format-toolbar__image-popover .block-editor-format-toolbar__image-container-button{height:30px;margin-bottom:8px;margin-left:8px}.block-editor-format-toolbar__link-container-content{display:flex}.block-editor-format-toolbar__link-container-value{flex-grow:1;flex-shrink:1;margin:7px;max-width:500px;min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-format-toolbar__link-container-value.has-invalid-link{color:#cc1818}.format-library__inline-color-popover [role=tabpanel]{padding:16px}.block-editor-format-toolbar__language-popover .components-popover__content{padding:1rem;width:auto} \ No newline at end of file diff --git a/wp-includes/css/dist/format-library/style.css b/wp-includes/css/dist/format-library/style.css index 90750fa86b..1ecdfbb26f 100644 --- a/wp-includes/css/dist/format-library/style.css +++ b/wp-includes/css/dist/format-library/style.css @@ -47,21 +47,9 @@ color:#cc1818; } -.components-inline-color-popover .components-popover__content .components-tab-panel__tab-content{ +.format-library__inline-color-popover [role=tabpanel]{ padding:16px; } -.components-inline-color-popover .components-popover__content .components-color-palette{ - margin-top:.6rem; -} -.components-inline-color-popover .components-popover__content .components-base-control__title{ - color:#191e23; - display:block; - font-weight:600; - margin-bottom:16px; -} -.components-inline-color-popover .components-popover__content .component-color-indicator{ - vertical-align:text-bottom; -} .block-editor-format-toolbar__language-popover .components-popover__content{ padding:1rem; diff --git a/wp-includes/css/dist/format-library/style.min.css b/wp-includes/css/dist/format-library/style.min.css index 6df54a1cf4..b2c8b0572d 100644 --- a/wp-includes/css/dist/format-library/style.min.css +++ b/wp-includes/css/dist/format-library/style.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-editor-format-toolbar__image-popover{z-index:159990}.block-editor-format-toolbar__image-popover .block-editor-format-toolbar__image-container-value{margin:7px;max-width:500px;min-width:150px}.block-editor-format-toolbar__image-popover .block-editor-format-toolbar__image-container-button{height:30px;margin-bottom:8px;margin-right:8px}.block-editor-format-toolbar__link-container-content{display:flex}.block-editor-format-toolbar__link-container-value{flex-grow:1;flex-shrink:1;margin:7px;max-width:500px;min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-format-toolbar__link-container-value.has-invalid-link{color:#cc1818}.components-inline-color-popover .components-popover__content .components-tab-panel__tab-content{padding:16px}.components-inline-color-popover .components-popover__content .components-color-palette{margin-top:.6rem}.components-inline-color-popover .components-popover__content .components-base-control__title{color:#191e23;display:block;font-weight:600;margin-bottom:16px}.components-inline-color-popover .components-popover__content .component-color-indicator{vertical-align:text-bottom}.block-editor-format-toolbar__language-popover .components-popover__content{padding:1rem;width:auto} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-editor-format-toolbar__image-popover{z-index:159990}.block-editor-format-toolbar__image-popover .block-editor-format-toolbar__image-container-value{margin:7px;max-width:500px;min-width:150px}.block-editor-format-toolbar__image-popover .block-editor-format-toolbar__image-container-button{height:30px;margin-bottom:8px;margin-right:8px}.block-editor-format-toolbar__link-container-content{display:flex}.block-editor-format-toolbar__link-container-value{flex-grow:1;flex-shrink:1;margin:7px;max-width:500px;min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-format-toolbar__link-container-value.has-invalid-link{color:#cc1818}.format-library__inline-color-popover [role=tabpanel]{padding:16px}.block-editor-format-toolbar__language-popover .components-popover__content{padding:1rem;width:auto} \ No newline at end of file diff --git a/wp-includes/css/dist/patterns/style-rtl.css b/wp-includes/css/dist/patterns/style-rtl.css index f35bfe0a43..99504b76e5 100644 --- a/wp-includes/css/dist/patterns/style-rtl.css +++ b/wp-includes/css/dist/patterns/style-rtl.css @@ -22,18 +22,16 @@ width:350px; } .patterns-menu-items__convert-modal .patterns-menu-items__convert-modal-categories{ - min-height:40px; position:relative; - width:100%; } -.patterns-menu-items__convert-modal .components-form-token-field__suggestions-list{ +.patterns-menu-items__convert-modal .components-form-token-field__suggestions-list:not(:empty){ background-color:#fff; border:1px solid var(--wp-admin-theme-color); border-bottom-left-radius:2px; border-bottom-right-radius:2px; - border-top:none; - box-shadow:0 0 0 .5px var(--wp-admin-theme-color); + box-shadow:0 0 .5px .5px var(--wp-admin-theme-color); box-sizing:border-box; + max-height:96px; min-width:auto; position:absolute; right:-1px; @@ -43,7 +41,6 @@ .patterns-create-modal__name-input input[type=text]{ margin:0; - min-height:40px; } .patterns-rename-pattern-category-modal__validation-message{ diff --git a/wp-includes/css/dist/patterns/style-rtl.min.css b/wp-includes/css/dist/patterns/style-rtl.min.css index b19828bf25..70f30cd6d1 100644 --- a/wp-includes/css/dist/patterns/style-rtl.min.css +++ b/wp-includes/css/dist/patterns/style-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.patterns-menu-items__convert-modal{z-index:1000001}.patterns-menu-items__convert-modal [role=dialog]>[role=document]{width:350px}.patterns-menu-items__convert-modal .patterns-menu-items__convert-modal-categories{min-height:40px;position:relative;width:100%}.patterns-menu-items__convert-modal .components-form-token-field__suggestions-list{background-color:#fff;border:1px solid var(--wp-admin-theme-color);border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-top:none;box-shadow:0 0 0 .5px var(--wp-admin-theme-color);box-sizing:border-box;min-width:auto;position:absolute;right:-1px;width:calc(100% + 2px);z-index:1}.patterns-create-modal__name-input input[type=text]{margin:0;min-height:40px}.patterns-rename-pattern-category-modal__validation-message{color:#cc1818}@media (min-width:782px){.patterns-rename-pattern-category-modal__validation-message{width:320px}} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.patterns-menu-items__convert-modal{z-index:1000001}.patterns-menu-items__convert-modal [role=dialog]>[role=document]{width:350px}.patterns-menu-items__convert-modal .patterns-menu-items__convert-modal-categories{position:relative}.patterns-menu-items__convert-modal .components-form-token-field__suggestions-list:not(:empty){background-color:#fff;border:1px solid var(--wp-admin-theme-color);border-bottom-left-radius:2px;border-bottom-right-radius:2px;box-shadow:0 0 .5px .5px var(--wp-admin-theme-color);box-sizing:border-box;max-height:96px;min-width:auto;position:absolute;right:-1px;width:calc(100% + 2px);z-index:1}.patterns-create-modal__name-input input[type=text]{margin:0}.patterns-rename-pattern-category-modal__validation-message{color:#cc1818}@media (min-width:782px){.patterns-rename-pattern-category-modal__validation-message{width:320px}} \ No newline at end of file diff --git a/wp-includes/css/dist/patterns/style.css b/wp-includes/css/dist/patterns/style.css index 0960975dd1..28af8c7286 100644 --- a/wp-includes/css/dist/patterns/style.css +++ b/wp-includes/css/dist/patterns/style.css @@ -22,19 +22,17 @@ width:350px; } .patterns-menu-items__convert-modal .patterns-menu-items__convert-modal-categories{ - min-height:40px; position:relative; - width:100%; } -.patterns-menu-items__convert-modal .components-form-token-field__suggestions-list{ +.patterns-menu-items__convert-modal .components-form-token-field__suggestions-list:not(:empty){ background-color:#fff; border:1px solid var(--wp-admin-theme-color); border-bottom-left-radius:2px; border-bottom-right-radius:2px; - border-top:none; - box-shadow:0 0 0 .5px var(--wp-admin-theme-color); + box-shadow:0 0 .5px .5px var(--wp-admin-theme-color); box-sizing:border-box; left:-1px; + max-height:96px; min-width:auto; position:absolute; width:calc(100% + 2px); @@ -43,7 +41,6 @@ .patterns-create-modal__name-input input[type=text]{ margin:0; - min-height:40px; } .patterns-rename-pattern-category-modal__validation-message{ diff --git a/wp-includes/css/dist/patterns/style.min.css b/wp-includes/css/dist/patterns/style.min.css index b776f08812..5d0506b892 100644 --- a/wp-includes/css/dist/patterns/style.min.css +++ b/wp-includes/css/dist/patterns/style.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.patterns-menu-items__convert-modal{z-index:1000001}.patterns-menu-items__convert-modal [role=dialog]>[role=document]{width:350px}.patterns-menu-items__convert-modal .patterns-menu-items__convert-modal-categories{min-height:40px;position:relative;width:100%}.patterns-menu-items__convert-modal .components-form-token-field__suggestions-list{background-color:#fff;border:1px solid var(--wp-admin-theme-color);border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-top:none;box-shadow:0 0 0 .5px var(--wp-admin-theme-color);box-sizing:border-box;left:-1px;min-width:auto;position:absolute;width:calc(100% + 2px);z-index:1}.patterns-create-modal__name-input input[type=text]{margin:0;min-height:40px}.patterns-rename-pattern-category-modal__validation-message{color:#cc1818}@media (min-width:782px){.patterns-rename-pattern-category-modal__validation-message{width:320px}} \ No newline at end of file +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.patterns-menu-items__convert-modal{z-index:1000001}.patterns-menu-items__convert-modal [role=dialog]>[role=document]{width:350px}.patterns-menu-items__convert-modal .patterns-menu-items__convert-modal-categories{position:relative}.patterns-menu-items__convert-modal .components-form-token-field__suggestions-list:not(:empty){background-color:#fff;border:1px solid var(--wp-admin-theme-color);border-bottom-left-radius:2px;border-bottom-right-radius:2px;box-shadow:0 0 .5px .5px var(--wp-admin-theme-color);box-sizing:border-box;left:-1px;max-height:96px;min-width:auto;position:absolute;width:calc(100% + 2px);z-index:1}.patterns-create-modal__name-input input[type=text]{margin:0}.patterns-rename-pattern-category-modal__validation-message{color:#cc1818}@media (min-width:782px){.patterns-rename-pattern-category-modal__validation-message{width:320px}} \ No newline at end of file diff --git a/wp-includes/css/dist/preferences/style-rtl.css b/wp-includes/css/dist/preferences/style-rtl.css new file mode 100644 index 0000000000..cce81ac7ea --- /dev/null +++ b/wp-includes/css/dist/preferences/style-rtl.css @@ -0,0 +1,111 @@ +:root{ + --wp-admin-theme-color:#007cba; + --wp-admin-theme-color--rgb:0, 124, 186; + --wp-admin-theme-color-darker-10:#006ba1; + --wp-admin-theme-color-darker-10--rgb:0, 107, 161; + --wp-admin-theme-color-darker-20:#005a87; + --wp-admin-theme-color-darker-20--rgb:0, 90, 135; + --wp-admin-border-width-focus:2px; + --wp-block-synced-color:#7a00df; + --wp-block-synced-color--rgb:122, 0, 223; +} +@media (min-resolution:192dpi){ + :root{ + --wp-admin-border-width-focus:1.5px; + } +} + +.preference-base-option+.preference-base-option{ + margin-top:16px; +} +.preference-base-option .components-base-control__help{ + margin-right:48px; + margin-top:0; +} + +@media (min-width:600px){ + .preferences-modal{ + height:calc(100% - 120px); + width:calc(100% - 32px); + } +} +@media (min-width:782px){ + .preferences-modal{ + width:750px; + } +} +@media (min-width:960px){ + .preferences-modal{ + height:70%; + } +} +@media (max-width:781px){ + .preferences-modal .components-modal__content{ + padding:0; + } +} + +.preferences__tabs-tablist{ + position:absolute; + right:16px; + top:84px; + width:160px; +} + +.preferences__tabs-tab{ + border-radius:2px; + font-weight:400; +} +.preferences__tabs-tab[aria-selected=true]{ + background:#f0f0f0; + box-shadow:none; + font-weight:500; +} +.preferences__tabs-tab[aria-selected=true]:after{ + content:none; +} +.preferences__tabs-tab[role=tab]:focus:not(:disabled){ + box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + outline:2px solid transparent; +} +.preferences__tabs-tab:focus-visible:before{ + content:none; +} + +.preferences__tabs-tabpanel{ + margin-right:160px; + padding-right:24px; +} + +@media (max-width:781px){ + .preferences__provider{ + height:100%; + } +} +.preferences-modal__section{ + margin:0 0 2.5rem; +} +.preferences-modal__section:last-child{ + margin:0; +} + +.preferences-modal__section-legend{ + margin-bottom:8px; +} + +.preferences-modal__section-title{ + font-size:.9rem; + font-weight:600; + margin-top:0; +} + +.preferences-modal__section-description{ + color:#757575; + font-size:12px; + font-style:normal; + margin:-8px 0 8px; +} + +.preferences-modal__section:has(.preferences-modal__section-content:empty){ + display:none; +} \ No newline at end of file diff --git a/wp-includes/css/dist/preferences/style-rtl.min.css b/wp-includes/css/dist/preferences/style-rtl.min.css new file mode 100644 index 0000000000..47214b4514 --- /dev/null +++ b/wp-includes/css/dist/preferences/style-rtl.min.css @@ -0,0 +1 @@ +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.preference-base-option+.preference-base-option{margin-top:16px}.preference-base-option .components-base-control__help{margin-right:48px;margin-top:0}@media (min-width:600px){.preferences-modal{height:calc(100% - 120px);width:calc(100% - 32px)}}@media (min-width:782px){.preferences-modal{width:750px}}@media (min-width:960px){.preferences-modal{height:70%}}@media (max-width:781px){.preferences-modal .components-modal__content{padding:0}}.preferences__tabs-tablist{position:absolute;right:16px;top:84px;width:160px}.preferences__tabs-tab{border-radius:2px;font-weight:400}.preferences__tabs-tab[aria-selected=true]{background:#f0f0f0;box-shadow:none;font-weight:500}.preferences__tabs-tab[aria-selected=true]:after{content:none}.preferences__tabs-tab[role=tab]:focus:not(:disabled){box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.preferences__tabs-tab:focus-visible:before{content:none}.preferences__tabs-tabpanel{margin-right:160px;padding-right:24px}@media (max-width:781px){.preferences__provider{height:100%}}.preferences-modal__section{margin:0 0 2.5rem}.preferences-modal__section:last-child{margin:0}.preferences-modal__section-legend{margin-bottom:8px}.preferences-modal__section-title{font-size:.9rem;font-weight:600;margin-top:0}.preferences-modal__section-description{color:#757575;font-size:12px;font-style:normal;margin:-8px 0 8px}.preferences-modal__section:has(.preferences-modal__section-content:empty){display:none} \ No newline at end of file diff --git a/wp-includes/css/dist/preferences/style.css b/wp-includes/css/dist/preferences/style.css new file mode 100644 index 0000000000..d1d48a4d39 --- /dev/null +++ b/wp-includes/css/dist/preferences/style.css @@ -0,0 +1,111 @@ +:root{ + --wp-admin-theme-color:#007cba; + --wp-admin-theme-color--rgb:0, 124, 186; + --wp-admin-theme-color-darker-10:#006ba1; + --wp-admin-theme-color-darker-10--rgb:0, 107, 161; + --wp-admin-theme-color-darker-20:#005a87; + --wp-admin-theme-color-darker-20--rgb:0, 90, 135; + --wp-admin-border-width-focus:2px; + --wp-block-synced-color:#7a00df; + --wp-block-synced-color--rgb:122, 0, 223; +} +@media (min-resolution:192dpi){ + :root{ + --wp-admin-border-width-focus:1.5px; + } +} + +.preference-base-option+.preference-base-option{ + margin-top:16px; +} +.preference-base-option .components-base-control__help{ + margin-left:48px; + margin-top:0; +} + +@media (min-width:600px){ + .preferences-modal{ + height:calc(100% - 120px); + width:calc(100% - 32px); + } +} +@media (min-width:782px){ + .preferences-modal{ + width:750px; + } +} +@media (min-width:960px){ + .preferences-modal{ + height:70%; + } +} +@media (max-width:781px){ + .preferences-modal .components-modal__content{ + padding:0; + } +} + +.preferences__tabs-tablist{ + left:16px; + position:absolute; + top:84px; + width:160px; +} + +.preferences__tabs-tab{ + border-radius:2px; + font-weight:400; +} +.preferences__tabs-tab[aria-selected=true]{ + background:#f0f0f0; + box-shadow:none; + font-weight:500; +} +.preferences__tabs-tab[aria-selected=true]:after{ + content:none; +} +.preferences__tabs-tab[role=tab]:focus:not(:disabled){ + box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + outline:2px solid transparent; +} +.preferences__tabs-tab:focus-visible:before{ + content:none; +} + +.preferences__tabs-tabpanel{ + margin-left:160px; + padding-left:24px; +} + +@media (max-width:781px){ + .preferences__provider{ + height:100%; + } +} +.preferences-modal__section{ + margin:0 0 2.5rem; +} +.preferences-modal__section:last-child{ + margin:0; +} + +.preferences-modal__section-legend{ + margin-bottom:8px; +} + +.preferences-modal__section-title{ + font-size:.9rem; + font-weight:600; + margin-top:0; +} + +.preferences-modal__section-description{ + color:#757575; + font-size:12px; + font-style:normal; + margin:-8px 0 8px; +} + +.preferences-modal__section:has(.preferences-modal__section-content:empty){ + display:none; +} \ No newline at end of file diff --git a/wp-includes/css/dist/preferences/style.min.css b/wp-includes/css/dist/preferences/style.min.css new file mode 100644 index 0000000000..cd57ca2242 --- /dev/null +++ b/wp-includes/css/dist/preferences/style.min.css @@ -0,0 +1 @@ +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.preference-base-option+.preference-base-option{margin-top:16px}.preference-base-option .components-base-control__help{margin-left:48px;margin-top:0}@media (min-width:600px){.preferences-modal{height:calc(100% - 120px);width:calc(100% - 32px)}}@media (min-width:782px){.preferences-modal{width:750px}}@media (min-width:960px){.preferences-modal{height:70%}}@media (max-width:781px){.preferences-modal .components-modal__content{padding:0}}.preferences__tabs-tablist{left:16px;position:absolute;top:84px;width:160px}.preferences__tabs-tab{border-radius:2px;font-weight:400}.preferences__tabs-tab[aria-selected=true]{background:#f0f0f0;box-shadow:none;font-weight:500}.preferences__tabs-tab[aria-selected=true]:after{content:none}.preferences__tabs-tab[role=tab]:focus:not(:disabled){box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.preferences__tabs-tab:focus-visible:before{content:none}.preferences__tabs-tabpanel{margin-left:160px;padding-left:24px}@media (max-width:781px){.preferences__provider{height:100%}}.preferences-modal__section{margin:0 0 2.5rem}.preferences-modal__section:last-child{margin:0}.preferences-modal__section-legend{margin-bottom:8px}.preferences-modal__section-title{font-size:.9rem;font-weight:600;margin-top:0}.preferences-modal__section-description{color:#757575;font-size:12px;font-style:normal;margin:-8px 0 8px}.preferences-modal__section:has(.preferences-modal__section-content:empty){display:none} \ No newline at end of file diff --git a/wp-includes/js/dist/api-fetch.js b/wp-includes/js/dist/api-fetch.js index 9eb3e325ab..2c3b02ce65 100644 --- a/wp-includes/js/dist/api-fetch.js +++ b/wp-includes/js/dist/api-fetch.js @@ -553,19 +553,32 @@ const mediaUploadMiddleware = (options, next) => { * This appends a `wp_theme_preview` parameter to the REST API request URL if * the admin URL contains a `theme` GET parameter. * + * If the REST API request URL has contained the `wp_theme_preview` parameter as `''`, + * then bypass this middleware. + * * @param {Record} themePath * @return {import('../types').APIFetchMiddleware} Preloading middleware. */ const createThemePreviewMiddleware = themePath => (options, next) => { - if (typeof options.url === 'string' && !(0,external_wp_url_namespaceObject.hasQueryArg)(options.url, 'wp_theme_preview')) { - options.url = (0,external_wp_url_namespaceObject.addQueryArgs)(options.url, { - wp_theme_preview: themePath - }); + if (typeof options.url === 'string') { + const wpThemePreview = (0,external_wp_url_namespaceObject.getQueryArg)(options.url, 'wp_theme_preview'); + if (wpThemePreview === undefined) { + options.url = (0,external_wp_url_namespaceObject.addQueryArgs)(options.url, { + wp_theme_preview: themePath + }); + } else if (wpThemePreview === '') { + options.url = (0,external_wp_url_namespaceObject.removeQueryArgs)(options.url, 'wp_theme_preview'); + } } - if (typeof options.path === 'string' && !(0,external_wp_url_namespaceObject.hasQueryArg)(options.path, 'wp_theme_preview')) { - options.path = (0,external_wp_url_namespaceObject.addQueryArgs)(options.path, { - wp_theme_preview: themePath - }); + if (typeof options.path === 'string') { + const wpThemePreview = (0,external_wp_url_namespaceObject.getQueryArg)(options.path, 'wp_theme_preview'); + if (wpThemePreview === undefined) { + options.path = (0,external_wp_url_namespaceObject.addQueryArgs)(options.path, { + wp_theme_preview: themePath + }); + } else if (wpThemePreview === '') { + options.path = (0,external_wp_url_namespaceObject.removeQueryArgs)(options.path, 'wp_theme_preview'); + } } return next(options); }; diff --git a/wp-includes/js/dist/api-fetch.min.js b/wp-includes/js/dist/api-fetch.min.js index b1e717713e..880e09748b 100644 --- a/wp-includes/js/dist/api-fetch.min.js +++ b/wp-includes/js/dist/api-fetch.min.js @@ -1,2 +1,2 @@ /*! This file is auto-generated */ -!function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return T}});var r=window.wp.i18n;var n=function(e){const t=(e,r)=>{const{headers:n={}}=e;for(const a in n)if("x-wp-nonce"===a.toLowerCase()&&n[a]===t.nonce)return r(e);return r({...e,headers:{...n,"X-WP-Nonce":t.nonce}})};return t.nonce=e,t};var a=(e,t)=>{let r,n,a=e.path;return"string"==typeof e.namespace&&"string"==typeof e.endpoint&&(r=e.namespace.replace(/^\/|\/$/g,""),n=e.endpoint.replace(/^\//,""),a=n?r+"/"+n:r),delete e.namespace,delete e.endpoint,t({...e,path:a})};var o=e=>(t,r)=>a(t,(t=>{let n,a=t.url,o=t.path;return"string"==typeof o&&(n=e,-1!==e.indexOf("?")&&(o=o.replace("?","&")),o=o.replace(/^\//,""),"string"==typeof n&&-1!==n.indexOf("?")&&(o=o.replace("?","&")),a=n+o),r({...t,url:a})})),s=window.wp.url;function i(e,t){return Promise.resolve(t?e.body:new window.Response(JSON.stringify(e.body),{status:200,statusText:"OK",headers:e.headers}))}var c=function(e){const t=Object.fromEntries(Object.entries(e).map((([e,t])=>[(0,s.normalizePath)(e),t])));return(e,r)=>{const{parse:n=!0}=e;let a=e.path;if(!a&&e.url){const{rest_route:t,...r}=(0,s.getQueryArgs)(e.url);"string"==typeof t&&(a=(0,s.addQueryArgs)(t,r))}if("string"!=typeof a)return r(e);const o=e.method||"GET",c=(0,s.normalizePath)(a);if("GET"===o&&t[c]){const e=t[c];return delete t[c],i(e,!!n)}if("OPTIONS"===o&&t[o]&&t[o][c]){const e=t[o][c];return delete t[o][c],i(e,!!n)}return r(e)}};const d=({path:e,url:t,...r},n)=>({...r,url:t&&(0,s.addQueryArgs)(t,n),path:e&&(0,s.addQueryArgs)(e,n)}),p=e=>e.json?e.json():Promise.reject(e),u=e=>{const{next:t}=(e=>{if(!e)return{};const t=e.match(/<([^>]+)>; rel="next"/);return t?{next:t[1]}:{}})(e.headers.get("link"));return t};var h=async(e,t)=>{if(!1===e.parse)return t(e);if(!(e=>{const t=!!e.path&&-1!==e.path.indexOf("per_page=-1"),r=!!e.url&&-1!==e.url.indexOf("per_page=-1");return t||r})(e))return t(e);const r=await T({...d(e,{per_page:100}),parse:!1}),n=await p(r);if(!Array.isArray(n))return n;let a=u(r);if(!a)return n;let o=[].concat(n);for(;a;){const t=await T({...e,path:void 0,url:a,parse:!1}),r=await p(t);o=o.concat(r),a=u(t)}return o};const l=new Set(["PATCH","PUT","DELETE"]),f="GET";const w=(e,t=!0)=>Promise.resolve(((e,t=!0)=>t?204===e.status?null:e.json?e.json():Promise.reject(e):e)(e,t)).catch((e=>m(e,t)));function m(e,t=!0){if(!t)throw e;return(e=>{const t={code:"invalid_json",message:(0,r.__)("The response is not a valid JSON response.")};if(!e||!e.json)throw t;return e.json().catch((()=>{throw t}))})(e).then((e=>{const t={code:"unknown_error",message:(0,r.__)("An unknown error occurred.")};throw e||t}))}var g=(e,t)=>{if(!function(e){const t=!!e.method&&"POST"===e.method;return(!!e.path&&-1!==e.path.indexOf("/wp/v2/media")||!!e.url&&-1!==e.url.indexOf("/wp/v2/media"))&&t}(e))return t(e);let n=0;const a=e=>(n++,t({path:`/wp/v2/media/${e}/post-process`,method:"POST",data:{action:"create-image-subsizes"},parse:!1}).catch((()=>n<5?a(e):(t({path:`/wp/v2/media/${e}?force=true`,method:"DELETE"}),Promise.reject()))));return t({...e,parse:!1}).catch((t=>{const n=t.headers.get("x-wp-upload-attachment-id");return t.status>=500&&t.status<600&&n?a(n).catch((()=>!1!==e.parse?Promise.reject({code:"post_process",message:(0,r.__)("Media upload failed. If this is a photo or a large image, please scale it down and try again.")}):Promise.reject(t))):m(t,e.parse)})).then((t=>w(t,e.parse)))};var y=e=>(t,r)=>("string"!=typeof t.url||(0,s.hasQueryArg)(t.url,"wp_theme_preview")||(t.url=(0,s.addQueryArgs)(t.url,{wp_theme_preview:e})),"string"!=typeof t.path||(0,s.hasQueryArg)(t.path,"wp_theme_preview")||(t.path=(0,s.addQueryArgs)(t.path,{wp_theme_preview:e})),r(t));const _={Accept:"application/json, */*;q=0.1"},v={credentials:"include"},P=[(e,t)=>("string"!=typeof e.url||(0,s.hasQueryArg)(e.url,"_locale")||(e.url=(0,s.addQueryArgs)(e.url,{_locale:"user"})),"string"!=typeof e.path||(0,s.hasQueryArg)(e.path,"_locale")||(e.path=(0,s.addQueryArgs)(e.path,{_locale:"user"})),t(e)),a,(e,t)=>{const{method:r=f}=e;return l.has(r.toUpperCase())&&(e={...e,headers:{...e.headers,"X-HTTP-Method-Override":r,"Content-Type":"application/json"},method:"POST"}),t(e)},h];const O=e=>{if(e.status>=200&&e.status<300)return e;throw e};let j=e=>{const{url:t,path:n,data:a,parse:o=!0,...s}=e;let{body:i,headers:c}=e;c={..._,...c},a&&(i=JSON.stringify(a),c["Content-Type"]="application/json");return window.fetch(t||n||window.location.href,{...v,...s,body:i,headers:c}).then((e=>Promise.resolve(e).then(O).catch((e=>m(e,o))).then((e=>w(e,o)))),(e=>{if(e&&"AbortError"===e.name)throw e;throw{code:"fetch_error",message:(0,r.__)("You are probably offline.")}}))};function A(e){return P.reduceRight(((e,t)=>r=>t(r,e)),j)(e).catch((t=>"rest_cookie_invalid_nonce"!==t.code?Promise.reject(t):window.fetch(A.nonceEndpoint).then(O).then((e=>e.text())).then((t=>(A.nonceMiddleware.nonce=t,A(e))))))}A.use=function(e){P.unshift(e)},A.setFetchHandler=function(e){j=e},A.createNonceMiddleware=n,A.createPreloadingMiddleware=c,A.createRootURLMiddleware=o,A.fetchAllMiddleware=h,A.mediaUploadMiddleware=g,A.createThemePreviewMiddleware=y;var T=A;(window.wp=window.wp||{}).apiFetch=t.default}(); \ No newline at end of file +!function(){"use strict";var e={d:function(r,t){for(var n in t)e.o(t,n)&&!e.o(r,n)&&Object.defineProperty(r,n,{enumerable:!0,get:t[n]})},o:function(e,r){return Object.prototype.hasOwnProperty.call(e,r)}},r={};e.d(r,{default:function(){return T}});var t=window.wp.i18n;var n=function(e){const r=(e,t)=>{const{headers:n={}}=e;for(const o in n)if("x-wp-nonce"===o.toLowerCase()&&n[o]===r.nonce)return t(e);return t({...e,headers:{...n,"X-WP-Nonce":r.nonce}})};return r.nonce=e,r};var o=(e,r)=>{let t,n,o=e.path;return"string"==typeof e.namespace&&"string"==typeof e.endpoint&&(t=e.namespace.replace(/^\/|\/$/g,""),n=e.endpoint.replace(/^\//,""),o=n?t+"/"+n:t),delete e.namespace,delete e.endpoint,r({...e,path:o})};var a=e=>(r,t)=>o(r,(r=>{let n,o=r.url,a=r.path;return"string"==typeof a&&(n=e,-1!==e.indexOf("?")&&(a=a.replace("?","&")),a=a.replace(/^\//,""),"string"==typeof n&&-1!==n.indexOf("?")&&(a=a.replace("?","&")),o=n+a),t({...r,url:o})})),s=window.wp.url;function i(e,r){return Promise.resolve(r?e.body:new window.Response(JSON.stringify(e.body),{status:200,statusText:"OK",headers:e.headers}))}var c=function(e){const r=Object.fromEntries(Object.entries(e).map((([e,r])=>[(0,s.normalizePath)(e),r])));return(e,t)=>{const{parse:n=!0}=e;let o=e.path;if(!o&&e.url){const{rest_route:r,...t}=(0,s.getQueryArgs)(e.url);"string"==typeof r&&(o=(0,s.addQueryArgs)(r,t))}if("string"!=typeof o)return t(e);const a=e.method||"GET",c=(0,s.normalizePath)(o);if("GET"===a&&r[c]){const e=r[c];return delete r[c],i(e,!!n)}if("OPTIONS"===a&&r[a]&&r[a][c]){const e=r[a][c];return delete r[a][c],i(e,!!n)}return t(e)}};const p=({path:e,url:r,...t},n)=>({...t,url:r&&(0,s.addQueryArgs)(r,n),path:e&&(0,s.addQueryArgs)(e,n)}),d=e=>e.json?e.json():Promise.reject(e),u=e=>{const{next:r}=(e=>{if(!e)return{};const r=e.match(/<([^>]+)>; rel="next"/);return r?{next:r[1]}:{}})(e.headers.get("link"));return r};var h=async(e,r)=>{if(!1===e.parse)return r(e);if(!(e=>{const r=!!e.path&&-1!==e.path.indexOf("per_page=-1"),t=!!e.url&&-1!==e.url.indexOf("per_page=-1");return r||t})(e))return r(e);const t=await T({...p(e,{per_page:100}),parse:!1}),n=await d(t);if(!Array.isArray(n))return n;let o=u(t);if(!o)return n;let a=[].concat(n);for(;o;){const r=await T({...e,path:void 0,url:o,parse:!1}),t=await d(r);a=a.concat(t),o=u(r)}return a};const l=new Set(["PATCH","PUT","DELETE"]),f="GET";const w=(e,r=!0)=>Promise.resolve(((e,r=!0)=>r?204===e.status?null:e.json?e.json():Promise.reject(e):e)(e,r)).catch((e=>m(e,r)));function m(e,r=!0){if(!r)throw e;return(e=>{const r={code:"invalid_json",message:(0,t.__)("The response is not a valid JSON response.")};if(!e||!e.json)throw r;return e.json().catch((()=>{throw r}))})(e).then((e=>{const r={code:"unknown_error",message:(0,t.__)("An unknown error occurred.")};throw e||r}))}var g=(e,r)=>{if(!function(e){const r=!!e.method&&"POST"===e.method;return(!!e.path&&-1!==e.path.indexOf("/wp/v2/media")||!!e.url&&-1!==e.url.indexOf("/wp/v2/media"))&&r}(e))return r(e);let n=0;const o=e=>(n++,r({path:`/wp/v2/media/${e}/post-process`,method:"POST",data:{action:"create-image-subsizes"},parse:!1}).catch((()=>n<5?o(e):(r({path:`/wp/v2/media/${e}?force=true`,method:"DELETE"}),Promise.reject()))));return r({...e,parse:!1}).catch((r=>{const n=r.headers.get("x-wp-upload-attachment-id");return r.status>=500&&r.status<600&&n?o(n).catch((()=>!1!==e.parse?Promise.reject({code:"post_process",message:(0,t.__)("Media upload failed. If this is a photo or a large image, please scale it down and try again.")}):Promise.reject(r))):m(r,e.parse)})).then((r=>w(r,e.parse)))};var y=e=>(r,t)=>{if("string"==typeof r.url){const t=(0,s.getQueryArg)(r.url,"wp_theme_preview");void 0===t?r.url=(0,s.addQueryArgs)(r.url,{wp_theme_preview:e}):""===t&&(r.url=(0,s.removeQueryArgs)(r.url,"wp_theme_preview"))}if("string"==typeof r.path){const t=(0,s.getQueryArg)(r.path,"wp_theme_preview");void 0===t?r.path=(0,s.addQueryArgs)(r.path,{wp_theme_preview:e}):""===t&&(r.path=(0,s.removeQueryArgs)(r.path,"wp_theme_preview"))}return t(r)};const _={Accept:"application/json, */*;q=0.1"},v={credentials:"include"},P=[(e,r)=>("string"!=typeof e.url||(0,s.hasQueryArg)(e.url,"_locale")||(e.url=(0,s.addQueryArgs)(e.url,{_locale:"user"})),"string"!=typeof e.path||(0,s.hasQueryArg)(e.path,"_locale")||(e.path=(0,s.addQueryArgs)(e.path,{_locale:"user"})),r(e)),o,(e,r)=>{const{method:t=f}=e;return l.has(t.toUpperCase())&&(e={...e,headers:{...e.headers,"X-HTTP-Method-Override":t,"Content-Type":"application/json"},method:"POST"}),r(e)},h];const A=e=>{if(e.status>=200&&e.status<300)return e;throw e};let O=e=>{const{url:r,path:n,data:o,parse:a=!0,...s}=e;let{body:i,headers:c}=e;c={..._,...c},o&&(i=JSON.stringify(o),c["Content-Type"]="application/json");return window.fetch(r||n||window.location.href,{...v,...s,body:i,headers:c}).then((e=>Promise.resolve(e).then(A).catch((e=>m(e,a))).then((e=>w(e,a)))),(e=>{if(e&&"AbortError"===e.name)throw e;throw{code:"fetch_error",message:(0,t.__)("You are probably offline.")}}))};function j(e){return P.reduceRight(((e,r)=>t=>r(t,e)),O)(e).catch((r=>"rest_cookie_invalid_nonce"!==r.code?Promise.reject(r):window.fetch(j.nonceEndpoint).then(A).then((e=>e.text())).then((r=>(j.nonceMiddleware.nonce=r,j(e))))))}j.use=function(e){P.unshift(e)},j.setFetchHandler=function(e){O=e},j.createNonceMiddleware=n,j.createPreloadingMiddleware=c,j.createRootURLMiddleware=a,j.fetchAllMiddleware=h,j.mediaUploadMiddleware=g,j.createThemePreviewMiddleware=y;var T=j;(window.wp=window.wp||{}).apiFetch=r.default}(); \ No newline at end of file diff --git a/wp-includes/js/dist/blob.js b/wp-includes/js/dist/blob.js index ae44e99b86..81668defc0 100644 --- a/wp-includes/js/dist/blob.js +++ b/wp-includes/js/dist/blob.js @@ -37,6 +37,7 @@ var __webpack_exports__ = {}; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createBlobURL: function() { return /* binding */ createBlobURL; }, +/* harmony export */ downloadBlob: function() { return /* binding */ downloadBlob; }, /* harmony export */ getBlobByURL: function() { return /* binding */ getBlobByURL; }, /* harmony export */ getBlobTypeByURL: function() { return /* binding */ getBlobTypeByURL; }, /* harmony export */ isBlobURL: function() { return /* binding */ isBlobURL; }, @@ -112,6 +113,47 @@ function isBlobURL(url) { return url.indexOf('blob:') === 0; } +/** + * Downloads a file, e.g., a text or readable stream, in the browser. + * Appropriate for downloading smaller file sizes, e.g., < 5 MB. + * + * Example usage: + * + * ```js + * const fileContent = JSON.stringify( + * { + * "title": "My Post", + * }, + * null, + * 2 + * ); + * const filename = 'file.json'; + * + * downloadBlob( filename, fileContent, 'application/json' ); + * ``` + * + * @param {string} filename File name. + * @param {BlobPart} content File content (BufferSource | Blob | string). + * @param {string} contentType (Optional) File mime type. Default is `''`. + */ +function downloadBlob(filename, content, contentType = '') { + if (!filename || !content) { + return; + } + const file = new window.Blob([content], { + type: contentType + }); + const url = window.URL.createObjectURL(file); + const anchorElement = document.createElement('a'); + anchorElement.href = url; + anchorElement.download = filename; + anchorElement.style.display = 'none'; + document.body.appendChild(anchorElement); + anchorElement.click(); + document.body.removeChild(anchorElement); + window.URL.revokeObjectURL(url); +} + (window.wp = window.wp || {}).blob = __webpack_exports__; /******/ })() ; \ No newline at end of file diff --git a/wp-includes/js/dist/blob.min.js b/wp-includes/js/dist/blob.min.js index 056215c577..bd51509693 100644 --- a/wp-includes/js/dist/blob.min.js +++ b/wp-includes/js/dist/blob.min.js @@ -1,2 +1,2 @@ /*! This file is auto-generated */ -!function(){"use strict";var e={d:function(n,t){for(var o in t)e.o(t,o)&&!e.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:t[o]})},o:function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},n={};e.r(n),e.d(n,{createBlobURL:function(){return o},getBlobByURL:function(){return r},getBlobTypeByURL:function(){return u},isBlobURL:function(){return c},revokeBlobURL:function(){return i}});const t={};function o(e){const n=window.URL.createObjectURL(e);return t[n]=e,n}function r(e){return t[e]}function u(e){return r(e)?.type.split("/")[0]}function i(e){t[e]&&window.URL.revokeObjectURL(e),delete t[e]}function c(e){return!(!e||!e.indexOf)&&0===e.indexOf("blob:")}(window.wp=window.wp||{}).blob=n}(); \ No newline at end of file +!function(){"use strict";var e={d:function(n,t){for(var o in t)e.o(t,o)&&!e.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:t[o]})},o:function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},n={};e.r(n),e.d(n,{createBlobURL:function(){return o},downloadBlob:function(){return d},getBlobByURL:function(){return r},getBlobTypeByURL:function(){return i},isBlobURL:function(){return u},revokeBlobURL:function(){return c}});const t={};function o(e){const n=window.URL.createObjectURL(e);return t[n]=e,n}function r(e){return t[e]}function i(e){return r(e)?.type.split("/")[0]}function c(e){t[e]&&window.URL.revokeObjectURL(e),delete t[e]}function u(e){return!(!e||!e.indexOf)&&0===e.indexOf("blob:")}function d(e,n,t=""){if(!e||!n)return;const o=new window.Blob([n],{type:t}),r=window.URL.createObjectURL(o),i=document.createElement("a");i.href=r,i.download=e,i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(r)}(window.wp=window.wp||{}).blob=n}(); \ No newline at end of file diff --git a/wp-includes/js/dist/block-directory.js b/wp-includes/js/dist/block-directory.js index 8caf74d61b..8856d8acbd 100644 --- a/wp-includes/js/dist/block-directory.js +++ b/wp-includes/js/dist/block-directory.js @@ -90,8 +90,8 @@ __webpack_require__.d(resolvers_namespaceObject, { getDownloadableBlocks: function() { return resolvers_getDownloadableBlocks; } }); -;// CONCATENATED MODULE: external ["wp","element"] -var external_wp_element_namespaceObject = window["wp"]["element"]; +;// CONCATENATED MODULE: external "React" +var external_React_namespaceObject = window["React"]; ;// CONCATENATED MODULE: external ["wp","plugins"] var external_wp_plugins_namespaceObject = window["wp"]["plugins"]; ;// CONCATENATED MODULE: external ["wp","hooks"] @@ -100,6 +100,8 @@ var external_wp_hooks_namespaceObject = window["wp"]["hooks"]; var external_wp_blocks_namespaceObject = window["wp"]["blocks"]; ;// CONCATENATED MODULE: external ["wp","data"] var external_wp_data_namespaceObject = window["wp"]["data"]; +;// CONCATENATED MODULE: external ["wp","element"] +var external_wp_element_namespaceObject = window["wp"]["element"]; ;// CONCATENATED MODULE: external ["wp","editor"] var external_wp_editor_namespaceObject = window["wp"]["editor"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/reducer.js @@ -1353,10 +1355,10 @@ var external_wp_primitives_namespaceObject = window["wp"]["primitives"]; * WordPress dependencies */ -const starFilled = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const starFilled = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z" })); /* harmony default export */ var star_filled = (starFilled); @@ -1367,10 +1369,10 @@ const starFilled = (0,external_wp_element_namespaceObject.createElement)(externa * WordPress dependencies */ -const starHalf = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const starHalf = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M9.518 8.783a.25.25 0 00.188-.137l2.069-4.192a.25.25 0 01.448 0l2.07 4.192a.25.25 0 00.187.137l4.626.672a.25.25 0 01.139.427l-3.347 3.262a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.363.264l-4.137-2.176a.25.25 0 00-.233 0l-4.138 2.175a.25.25 0 01-.362-.263l.79-4.607a.25.25 0 00-.072-.222L4.753 9.882a.25.25 0 01.14-.427l4.625-.672zM12 14.533c.28 0 .559.067.814.2l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39v7.143z" })); /* harmony default export */ var star_half = (starHalf); @@ -1381,10 +1383,10 @@ const starHalf = (0,external_wp_element_namespaceObject.createElement)(external_ * WordPress dependencies */ -const starEmpty = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const starEmpty = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { fillRule: "evenodd", d: "M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z", clipRule: "evenodd" @@ -1405,26 +1407,26 @@ function Stars({ const fullStarCount = Math.floor(rating); const halfStarCount = Math.ceil(rating - fullStarCount); const emptyStarCount = 5 - (fullStarCount + halfStarCount); - return (0,external_wp_element_namespaceObject.createElement)("span", { + return (0,external_React_namespaceObject.createElement)("span", { "aria-label": (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: number of stars. */ (0,external_wp_i18n_namespaceObject.__)('%s out of 5 stars'), stars) }, Array.from({ length: fullStarCount - }).map((_, i) => (0,external_wp_element_namespaceObject.createElement)(icon, { + }).map((_, i) => (0,external_React_namespaceObject.createElement)(icon, { key: `full_stars_${i}`, className: "block-directory-block-ratings__star-full", icon: star_filled, size: 16 })), Array.from({ length: halfStarCount - }).map((_, i) => (0,external_wp_element_namespaceObject.createElement)(icon, { + }).map((_, i) => (0,external_React_namespaceObject.createElement)(icon, { key: `half_stars_${i}`, className: "block-directory-block-ratings__star-half-full", icon: star_half, size: 16 })), Array.from({ length: emptyStarCount - }).map((_, i) => (0,external_wp_element_namespaceObject.createElement)(icon, { + }).map((_, i) => (0,external_React_namespaceObject.createElement)(icon, { key: `empty_stars_${i}`, className: "block-directory-block-ratings__star-empty", icon: star_empty, @@ -1441,9 +1443,9 @@ function Stars({ const BlockRatings = ({ rating -}) => (0,external_wp_element_namespaceObject.createElement)("span", { +}) => (0,external_React_namespaceObject.createElement)("span", { className: "block-directory-block-ratings" -}, (0,external_wp_element_namespaceObject.createElement)(stars, { +}, (0,external_React_namespaceObject.createElement)(stars, { rating: rating })); /* harmony default export */ var block_ratings = (BlockRatings); @@ -1458,11 +1460,11 @@ function DownloadableBlockIcon({ icon }) { const className = 'block-directory-downloadable-block-icon'; - return icon.match(/\.(jpeg|jpg|gif|png|svg)(?:\?.*)?$/) !== null ? (0,external_wp_element_namespaceObject.createElement)("img", { + return icon.match(/\.(jpeg|jpg|gif|png|svg)(?:\?.*)?$/) !== null ? (0,external_React_namespaceObject.createElement)("img", { className: className, src: icon, alt: "" - }) : (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockIcon, { + }) : (0,external_React_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockIcon, { className: className, icon: icon, showColors: true @@ -1489,14 +1491,26 @@ const DownloadableBlockNotice = ({ if (!errorNotice) { return null; } - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_namespaceObject.createElement)("div", { className: "block-directory-downloadable-block-notice" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_namespaceObject.createElement)("div", { className: "block-directory-downloadable-block-notice__content" }, errorNotice.message, errorNotice.isFatal ? ' ' + (0,external_wp_i18n_namespaceObject.__)('Try reloading the page.') : null)); }; /* harmony default export */ var downloadable_block_notice = (DownloadableBlockNotice); +;// CONCATENATED MODULE: external ["wp","privateApis"] +var external_wp_privateApis_namespaceObject = window["wp"]["privateApis"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/lock-unlock.js +/** + * WordPress dependencies + */ + +const { + lock, + unlock +} = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.', '@wordpress/block-directory'); + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-block-list-item/index.js /** @@ -1517,6 +1531,10 @@ const DownloadableBlockNotice = ({ +const { + CompositeItemV2: CompositeItem +} = unlock(external_wp_components_namespaceObject.privateApis); + // Return the appropriate block item label, given the block data and status. function getDownloadableBlockLabel({ title, @@ -1586,48 +1604,50 @@ function DownloadableBlockListItem({ } else if (isInstalling) { statusText = (0,external_wp_i18n_namespaceObject.__)('Installing…'); } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableCompositeItem, { - __experimentalIsFocusable: true, - role: "option", - as: external_wp_components_namespaceObject.Button, - ...composite, - className: "block-directory-downloadable-block-list-item", - onClick: event => { - event.preventDefault(); - onClick(); - }, - isBusy: isInstalling, - disabled: isInstalling || !isInstallable, - label: getDownloadableBlockLabel(item, { - hasNotice, - isInstalled, - isInstalling + return (0,external_React_namespaceObject.createElement)(CompositeItem, { + render: (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + __experimentalIsFocusable: true, + type: "button", + role: "option", + className: "block-directory-downloadable-block-list-item", + isBusy: isInstalling, + onClick: event => { + event.preventDefault(); + onClick(); + }, + label: getDownloadableBlockLabel(item, { + hasNotice, + isInstalled, + isInstalling + }), + showTooltip: true, + tooltipPosition: "top center" }), - showTooltip: true, - tooltipPosition: "top center" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + store: composite, + disabled: isInstalling || !isInstallable + }, (0,external_React_namespaceObject.createElement)("div", { className: "block-directory-downloadable-block-list-item__icon" - }, (0,external_wp_element_namespaceObject.createElement)(downloadable_block_icon, { + }, (0,external_React_namespaceObject.createElement)(downloadable_block_icon, { icon: icon, title: title - }), isInstalling ? (0,external_wp_element_namespaceObject.createElement)("span", { + }), isInstalling ? (0,external_React_namespaceObject.createElement)("span", { className: "block-directory-downloadable-block-list-item__spinner" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null)) : (0,external_wp_element_namespaceObject.createElement)(block_ratings, { + }, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null)) : (0,external_React_namespaceObject.createElement)(block_ratings, { rating: rating - })), (0,external_wp_element_namespaceObject.createElement)("span", { + })), (0,external_React_namespaceObject.createElement)("span", { className: "block-directory-downloadable-block-list-item__details" - }, (0,external_wp_element_namespaceObject.createElement)("span", { + }, (0,external_React_namespaceObject.createElement)("span", { className: "block-directory-downloadable-block-list-item__title" }, (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %1$s: block title, %2$s: author name. */ (0,external_wp_i18n_namespaceObject.__)('%1$s by %2$s'), (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(title), author), { - span: (0,external_wp_element_namespaceObject.createElement)("span", { + span: (0,external_React_namespaceObject.createElement)("span", { className: "block-directory-downloadable-block-list-item__author" }) - })), hasNotice ? (0,external_wp_element_namespaceObject.createElement)(downloadable_block_notice, { + })), hasNotice ? (0,external_React_namespaceObject.createElement)(downloadable_block_notice, { block: item - }) : (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("span", { + }) : (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("span", { className: "block-directory-downloadable-block-list-item__desc" - }, !!statusText ? statusText : (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(description)), isInstallable && !(isInstalled || isInstalling) && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, null, (0,external_wp_i18n_namespaceObject.__)('Install block'))))); + }, !!statusText ? statusText : (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(description)), isInstallable && !(isInstalled || isInstalling) && (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, null, (0,external_wp_i18n_namespaceObject.__)('Install block'))))); } /* harmony default export */ var downloadable_block_list_item = (DownloadableBlockListItem); @@ -1646,26 +1666,31 @@ function DownloadableBlockListItem({ */ + +const { + CompositeV2: Composite, + useCompositeStoreV2: useCompositeStore +} = unlock(external_wp_components_namespaceObject.privateApis); const noop = () => {}; function DownloadableBlocksList({ items, onHover = noop, onSelect }) { - const composite = (0,external_wp_components_namespaceObject.__unstableUseCompositeState)(); + const composite = useCompositeStore(); const { installBlockType } = (0,external_wp_data_namespaceObject.useDispatch)(store); if (!items.length) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableComposite, { - ...composite, + return (0,external_React_namespaceObject.createElement)(Composite, { + store: composite, role: "listbox", className: "block-directory-downloadable-blocks-list", "aria-label": (0,external_wp_i18n_namespaceObject.__)('Blocks available for install') }, items.map(item => { - return (0,external_wp_element_namespaceObject.createElement)(downloadable_block_list_item, { + return (0,external_React_namespaceObject.createElement)(downloadable_block_list_item, { key: item.id, composite: composite, onClick: () => { @@ -1710,17 +1735,17 @@ function DownloadableBlocksInserterPanel({ (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %d: number of available blocks. */ (0,external_wp_i18n_namespaceObject._n)('%d additional block is available to install.', '%d additional blocks are available to install.', count), count)); }, [count]); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, !hasLocalBlocks && (0,external_wp_element_namespaceObject.createElement)("p", { + return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, !hasLocalBlocks && (0,external_React_namespaceObject.createElement)("p", { className: "block-directory-downloadable-blocks-panel__no-local" - }, (0,external_wp_i18n_namespaceObject.__)('No results available from your installed blocks.')), (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_wp_i18n_namespaceObject.__)('No results available from your installed blocks.')), (0,external_React_namespaceObject.createElement)("div", { className: "block-editor-inserter__quick-inserter-separator" - }), (0,external_wp_element_namespaceObject.createElement)("div", { + }), (0,external_React_namespaceObject.createElement)("div", { className: "block-directory-downloadable-blocks-panel" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_namespaceObject.createElement)("div", { className: "block-directory-downloadable-blocks-panel__header" - }, (0,external_wp_element_namespaceObject.createElement)("h2", { + }, (0,external_React_namespaceObject.createElement)("h2", { className: "block-directory-downloadable-blocks-panel__title" - }, (0,external_wp_i18n_namespaceObject.__)('Available to install')), (0,external_wp_element_namespaceObject.createElement)("p", { + }, (0,external_wp_i18n_namespaceObject.__)('Available to install')), (0,external_React_namespaceObject.createElement)("p", { className: "block-directory-downloadable-blocks-panel__description" }, (0,external_wp_i18n_namespaceObject.__)('Select a block to install and add it to your post.'))), children)); } @@ -1732,10 +1757,10 @@ function DownloadableBlocksInserterPanel({ * WordPress dependencies */ -const blockDefault = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const blockDefault = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z" })); /* harmony default export */ var block_default = (blockDefault); @@ -1749,14 +1774,14 @@ const blockDefault = (0,external_wp_element_namespaceObject.createElement)(exter function DownloadableBlocksNoResults() { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("div", { className: "block-editor-inserter__no-results" - }, (0,external_wp_element_namespaceObject.createElement)(icon, { + }, (0,external_React_namespaceObject.createElement)(icon, { className: "block-editor-inserter__no-results-icon", icon: block_default - }), (0,external_wp_element_namespaceObject.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('No results found.'))), (0,external_wp_element_namespaceObject.createElement)("div", { + }), (0,external_React_namespaceObject.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('No results found.'))), (0,external_React_namespaceObject.createElement)("div", { className: "block-editor-inserter__tips" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Tip, null, (0,external_wp_i18n_namespaceObject.__)('Interested in creating your own block?'), (0,external_wp_element_namespaceObject.createElement)("br", null), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ExternalLink, { + }, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Tip, null, (0,external_wp_i18n_namespaceObject.__)('Interested in creating your own block?'), (0,external_React_namespaceObject.createElement)("br", null), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.ExternalLink, { href: "https://developer.wordpress.org/block-editor/" }, (0,external_wp_i18n_namespaceObject.__)('Get started here'), ".")))); } @@ -1773,7 +1798,6 @@ function DownloadableBlocksNoResults() { - /** * Internal dependencies */ @@ -1782,70 +1806,86 @@ function DownloadableBlocksNoResults() { const EMPTY_ARRAY = []; +const useDownloadableBlocks = filterValue => (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getDownloadableBlocks, + isRequestingDownloadableBlocks, + getInstalledBlockTypes + } = select(store); + const hasPermission = select(external_wp_coreData_namespaceObject.store).canUser('read', 'block-directory/search'); + let downloadableBlocks = EMPTY_ARRAY; + if (hasPermission) { + downloadableBlocks = getDownloadableBlocks(filterValue); + + // Filter out blocks that are already installed. + const installedBlockTypes = getInstalledBlockTypes(); + const installableBlocks = downloadableBlocks.filter(({ + name + }) => { + // Check if the block has just been installed, in which case it + // should still show in the list to avoid suddenly disappearing. + // `installedBlockTypes` only returns blocks stored in state + // immediately after installation, not all installed blocks. + const isJustInstalled = installedBlockTypes.some(blockType => blockType.name === name); + const isPreviouslyInstalled = (0,external_wp_blocks_namespaceObject.getBlockType)(name); + return isJustInstalled || !isPreviouslyInstalled; + }); + + // Keep identity of the `downloadableBlocks` array if nothing was filtered out + if (installableBlocks.length !== downloadableBlocks.length) { + downloadableBlocks = installableBlocks; + } + + // Return identical empty array when there are no blocks + if (downloadableBlocks.length === 0) { + downloadableBlocks = EMPTY_ARRAY; + } + } + return { + hasPermission, + downloadableBlocks, + isLoading: isRequestingDownloadableBlocks(filterValue) + }; +}, [filterValue]); function DownloadableBlocksPanel({ - downloadableItems, onSelect, onHover, hasLocalBlocks, - hasPermission, - isLoading, - isTyping + isTyping, + filterValue }) { - if (typeof hasPermission === 'undefined' || isLoading || isTyping) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, hasPermission && !hasLocalBlocks && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("p", { + const { + hasPermission, + downloadableBlocks, + isLoading + } = useDownloadableBlocks(filterValue); + if (hasPermission === undefined || isLoading || isTyping) { + return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, hasPermission && !hasLocalBlocks && (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("p", { className: "block-directory-downloadable-blocks-panel__no-local" - }, (0,external_wp_i18n_namespaceObject.__)('No results available from your installed blocks.')), (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_wp_i18n_namespaceObject.__)('No results available from your installed blocks.')), (0,external_React_namespaceObject.createElement)("div", { className: "block-editor-inserter__quick-inserter-separator" - })), (0,external_wp_element_namespaceObject.createElement)("div", { + })), (0,external_React_namespaceObject.createElement)("div", { className: "block-directory-downloadable-blocks-panel has-blocks-loading" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null))); + }, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null))); } if (false === hasPermission) { if (!hasLocalBlocks) { - return (0,external_wp_element_namespaceObject.createElement)(no_results, null); + return (0,external_React_namespaceObject.createElement)(no_results, null); } return null; } - return !!downloadableItems.length ? (0,external_wp_element_namespaceObject.createElement)(inserter_panel, { - downloadableItems: downloadableItems, + if (downloadableBlocks.length === 0) { + return hasLocalBlocks ? null : (0,external_React_namespaceObject.createElement)(no_results, null); + } + return (0,external_React_namespaceObject.createElement)(inserter_panel, { + downloadableItems: downloadableBlocks, hasLocalBlocks: hasLocalBlocks - }, (0,external_wp_element_namespaceObject.createElement)(downloadable_blocks_list, { - items: downloadableItems, + }, (0,external_React_namespaceObject.createElement)(downloadable_blocks_list, { + items: downloadableBlocks, onSelect: onSelect, onHover: onHover - })) : !hasLocalBlocks && (0,external_wp_element_namespaceObject.createElement)(no_results, null); + })); } -/* harmony default export */ var downloadable_blocks_panel = ((0,external_wp_compose_namespaceObject.compose)([(0,external_wp_data_namespaceObject.withSelect)((select, { - filterValue, - rootClientId = null -}) => { - const { - getDownloadableBlocks, - isRequestingDownloadableBlocks - } = select(store); - const { - canInsertBlockType - } = select(external_wp_blockEditor_namespaceObject.store); - const hasPermission = select(external_wp_coreData_namespaceObject.store).canUser('read', 'block-directory/search'); - function getInstallableBlocks(term) { - const downloadableBlocks = getDownloadableBlocks(term); - const installableBlocks = downloadableBlocks.filter(block => canInsertBlockType(block, rootClientId, true)); - if (downloadableBlocks.length === installableBlocks.length) { - return downloadableBlocks; - } - return installableBlocks; - } - let downloadableItems = hasPermission ? getInstallableBlocks(filterValue) : []; - if (downloadableItems.length === 0) { - downloadableItems = EMPTY_ARRAY; - } - const isLoading = isRequestingDownloadableBlocks(filterValue); - return { - downloadableItems, - hasPermission, - isLoading - }; -})])(DownloadableBlocksPanel)); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/plugins/inserter-menu-downloadable-blocks-panel/index.js @@ -1863,12 +1903,11 @@ function DownloadableBlocksPanel({ function InserterMenuDownloadableBlocksPanel() { const [debouncedFilterValue, setFilterValue] = (0,external_wp_element_namespaceObject.useState)(''); const debouncedSetFilterValue = (0,external_wp_compose_namespaceObject.debounce)(setFilterValue, 400); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.__unstableInserterMenuExtension, null, ({ + return (0,external_React_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.__unstableInserterMenuExtension, null, ({ onSelect, onHover, filterValue, - hasItems, - rootClientId + hasItems }) => { if (debouncedFilterValue !== filterValue) { debouncedSetFilterValue(filterValue); @@ -1876,10 +1915,9 @@ function InserterMenuDownloadableBlocksPanel() { if (!debouncedFilterValue) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(downloadable_blocks_panel, { + return (0,external_React_namespaceObject.createElement)(DownloadableBlocksPanel, { onSelect: onSelect, onHover: onHover, - rootClientId: rootClientId, filterValue: debouncedFilterValue, hasLocalBlocks: hasItems, isTyping: filterValue !== debouncedFilterValue @@ -1905,24 +1943,24 @@ function CompactList({ if (!items.length) { return null; } - return (0,external_wp_element_namespaceObject.createElement)("ul", { + return (0,external_React_namespaceObject.createElement)("ul", { className: "block-directory-compact-list" }, items.map(({ icon, id, title, author - }) => (0,external_wp_element_namespaceObject.createElement)("li", { + }) => (0,external_React_namespaceObject.createElement)("li", { key: id, className: "block-directory-compact-list__item" - }, (0,external_wp_element_namespaceObject.createElement)(downloadable_block_icon, { + }, (0,external_React_namespaceObject.createElement)(downloadable_block_icon, { icon: icon, title: title - }), (0,external_wp_element_namespaceObject.createElement)("div", { + }), (0,external_React_namespaceObject.createElement)("div", { className: "block-directory-compact-list__item-details" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_namespaceObject.createElement)("div", { className: "block-directory-compact-list__item-title" - }, title), (0,external_wp_element_namespaceObject.createElement)("div", { + }, title), (0,external_React_namespaceObject.createElement)("div", { className: "block-directory-compact-list__item-author" }, (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: Name of the block author. */ (0,external_wp_i18n_namespaceObject.__)('By %s'), author)))))); @@ -1954,15 +1992,15 @@ function InstalledBlocksPrePublishPanel() { if (!newBlockTypes.length) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(PluginPrePublishPanel, { + return (0,external_React_namespaceObject.createElement)(PluginPrePublishPanel, { icon: block_default, title: (0,external_wp_i18n_namespaceObject.sprintf)( // translators: %d: number of blocks (number). (0,external_wp_i18n_namespaceObject._n)('Added: %d block', 'Added: %d blocks', newBlockTypes.length), newBlockTypes.length), initialOpen: true - }, (0,external_wp_element_namespaceObject.createElement)("p", { + }, (0,external_React_namespaceObject.createElement)("p", { className: "installed-blocks-pre-publish-panel__copy" - }, (0,external_wp_i18n_namespaceObject._n)('The following block has been added to your site.', 'The following blocks have been added to your site.', newBlockTypes.length)), (0,external_wp_element_namespaceObject.createElement)(CompactList, { + }, (0,external_wp_i18n_namespaceObject._n)('The following block has been added to your site.', 'The following blocks have been added to your site.', newBlockTypes.length)), (0,external_React_namespaceObject.createElement)(CompactList, { items: newBlockTypes })); } @@ -1994,7 +2032,7 @@ function InstallButton({ const { replaceBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { onClick: () => installBlockType(block).then(success => { if (success) { const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(block.name); @@ -2053,11 +2091,11 @@ const getInstallMissing = OriginalComponent => props => { // The user can't install blocks, or the block isn't available for download. if (!hasPermission || !block) { - return (0,external_wp_element_namespaceObject.createElement)(OriginalComponent, { + return (0,external_React_namespaceObject.createElement)(OriginalComponent, { ...props }); } - return (0,external_wp_element_namespaceObject.createElement)(ModifiedWarning, { + return (0,external_React_namespaceObject.createElement)(ModifiedWarning, { ...props, originalBlock: block }); @@ -2089,7 +2127,7 @@ const ModifiedWarning = ({ }, [clientId]); let messageHTML = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: block name */ (0,external_wp_i18n_namespaceObject.__)('Your site doesn’t include support for the %s block. You can try installing the block or remove it entirely.'), originalBlock.title || originalName); - const actions = [(0,external_wp_element_namespaceObject.createElement)(InstallButton, { + const actions = [(0,external_React_namespaceObject.createElement)(InstallButton, { key: "install", block: originalBlock, attributes: props.attributes, @@ -2098,17 +2136,17 @@ const ModifiedWarning = ({ if (hasContent && hasHTMLBlock) { messageHTML = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: block name */ (0,external_wp_i18n_namespaceObject.__)('Your site doesn’t include support for the %s block. You can try installing the block, convert it to a Custom HTML block, or remove it entirely.'), originalBlock.title || originalName); - actions.push((0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + actions.push((0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { key: "convert", onClick: convertToHTML, variant: "tertiary" }, (0,external_wp_i18n_namespaceObject.__)('Keep as HTML'))); } - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_namespaceObject.createElement)("div", { ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)() - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.Warning, { + }, (0,external_React_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.Warning, { actions: actions - }, messageHTML), (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.RawHTML, null, originalUndelimitedContent)); + }, messageHTML), (0,external_React_namespaceObject.createElement)(external_wp_element_namespaceObject.RawHTML, null, originalUndelimitedContent)); }; /* harmony default export */ var get_install_missing = (getInstallMissing); @@ -2129,7 +2167,7 @@ const ModifiedWarning = ({ (0,external_wp_plugins_namespaceObject.registerPlugin)('block-directory', { render() { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(AutoBlockUninstaller, null), (0,external_wp_element_namespaceObject.createElement)(inserter_menu_downloadable_blocks_panel, null), (0,external_wp_element_namespaceObject.createElement)(InstalledBlocksPrePublishPanel, null)); + return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)(AutoBlockUninstaller, null), (0,external_React_namespaceObject.createElement)(inserter_menu_downloadable_blocks_panel, null), (0,external_React_namespaceObject.createElement)(InstalledBlocksPrePublishPanel, null)); } }); (0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'block-directory/fallback', (settings, name) => { diff --git a/wp-includes/js/dist/block-directory.min.js b/wp-includes/js/dist/block-directory.min.js index 856d7f00ee..a335761605 100644 --- a/wp-includes/js/dist/block-directory.min.js +++ b/wp-includes/js/dist/block-directory.min.js @@ -1,2 +1,2 @@ /*! This file is auto-generated */ -!function(){"use strict";var e={n:function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},d:function(t,n){for(var l in n)e.o(n,l)&&!e.o(t,l)&&Object.defineProperty(t,l,{enumerable:!0,get:n[l]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{store:function(){return G}});var n={};e.r(n),e.d(n,{getDownloadableBlocks:function(){return k},getErrorNoticeForBlock:function(){return y},getErrorNotices:function(){return E},getInstalledBlockTypes:function(){return g},getNewBlockTypes:function(){return _},getUnusedBlockTypes:function(){return f},isInstalling:function(){return w},isRequestingDownloadableBlocks:function(){return b}});var l={};e.r(l),e.d(l,{addInstalledBlockType:function(){return D},clearErrorNotice:function(){return x},fetchDownloadableBlocks:function(){return S},installBlockType:function(){return O},receiveDownloadableBlocks:function(){return C},removeInstalledBlockType:function(){return R},setErrorNotice:function(){return M},setIsInstalling:function(){return P},uninstallBlockType:function(){return A}});var r={};e.r(r),e.d(r,{getDownloadableBlocks:function(){return Y}});var o=window.wp.element,a=window.wp.plugins,s=window.wp.hooks,c=window.wp.blocks,i=window.wp.data,d=window.wp.editor;var u=(0,i.combineReducers)({downloadableBlocks:(e={},t)=>{switch(t.type){case"FETCH_DOWNLOADABLE_BLOCKS":return{...e,[t.filterValue]:{isRequesting:!0}};case"RECEIVE_DOWNLOADABLE_BLOCKS":return{...e,[t.filterValue]:{results:t.downloadableBlocks,isRequesting:!1}}}return e},blockManagement:(e={installedBlockTypes:[],isInstalling:{}},t)=>{switch(t.type){case"ADD_INSTALLED_BLOCK_TYPE":return{...e,installedBlockTypes:[...e.installedBlockTypes,t.item]};case"REMOVE_INSTALLED_BLOCK_TYPE":return{...e,installedBlockTypes:e.installedBlockTypes.filter((e=>e.name!==t.item.name))};case"SET_INSTALLING_BLOCK":return{...e,isInstalling:{...e.isInstalling,[t.blockId]:t.isInstalling}}}return e},errorNotices:(e={},t)=>{switch(t.type){case"SET_ERROR_NOTICE":return{...e,[t.blockId]:{message:t.message,isFatal:t.isFatal}};case"CLEAR_ERROR_NOTICE":const{[t.blockId]:n,...l}=e;return l}return e}}),m=window.wp.blockEditor;function p(e,t=[]){if(!t.length)return!1;if(t.some((({name:t})=>t===e.name)))return!0;for(let n=0;nt=>{const n=e(m.store).getBlocks();return g(t).filter((e=>p(e,n)))})),f=(0,i.createRegistrySelector)((e=>t=>{const n=e(m.store).getBlocks();return g(t).filter((e=>!p(e,n)))}));function w(e,t){return e.blockManagement.isInstalling[t]||!1}function E(e){return e.errorNotices}function y(e,t){return e.errorNotices[t]}var h=window.wp.i18n,v=window.wp.apiFetch,B=e.n(v),I=window.wp.notices,N=window.wp.url;const T=e=>new Promise(((t,n)=>{const l=document.createElement(e.nodeName);["id","rel","src","href","type"].forEach((t=>{e[t]&&(l[t]=e[t])})),e.innerHTML&&l.appendChild(document.createTextNode(e.innerHTML)),l.onload=()=>t(!0),l.onerror=()=>n(new Error("Error loading asset.")),document.body.appendChild(l),("link"===l.nodeName.toLowerCase()||"script"===l.nodeName.toLowerCase()&&!l.src)&&t()}));function L(e){if(!e)return!1;const t=e.links["wp:plugin"]||e.links.self;return!(!t||!t.length)&&t[0].href}function S(e){return{type:"FETCH_DOWNLOADABLE_BLOCKS",filterValue:e}}function C(e,t){return{type:"RECEIVE_DOWNLOADABLE_BLOCKS",downloadableBlocks:e,filterValue:t}}const O=e=>async({registry:t,dispatch:n})=>{const{id:l,name:r}=e;let o=!1;n.clearErrorNotice(l);try{n.setIsInstalling(l,!0);const a=L(e);let s={};if(a)await B()({method:"PUT",url:a,data:{status:"active"}});else{s=(await B()({method:"POST",path:"wp/v2/plugins",data:{slug:l,status:"active"}}))._links}n.addInstalledBlockType({...e,links:{...e.links,...s}});const i=["api_version","title","category","parent","icon","description","keywords","attributes","provides_context","uses_context","supports","styles","example","variations"];await B()({path:(0,N.addQueryArgs)(`/wp/v2/block-types/${r}`,{_fields:i})}).catch((()=>{})).then((e=>{e&&(0,c.unstable__bootstrapServerSideBlockDefinitions)({[r]:Object.fromEntries(Object.entries(e).filter((([e])=>i.includes(e))))})})),await async function(){const e=await B()({url:document.location.href,parse:!1}),t=await e.text(),n=(new window.DOMParser).parseFromString(t,"text/html"),l=Array.from(n.querySelectorAll('link[rel="stylesheet"],script')).filter((e=>e.id&&!document.getElementById(e.id)));for(const e of l)await T(e)}();if(!t.select(c.store).getBlockTypes().some((e=>e.name===r)))throw new Error((0,h.__)("Error registering block. Try reloading the page."));t.dispatch(I.store).createInfoNotice((0,h.sprintf)((0,h.__)("Block %s installed and added."),e.title),{speak:!0,type:"snackbar"}),o=!0}catch(e){let r=e.message||(0,h.__)("An error occurred."),o=e instanceof Error;const a={folder_exists:(0,h.__)("This block is already installed. Try reloading the page."),unable_to_connect_to_filesystem:(0,h.__)("Error installing block. You can reload the page and try again.")};a[e.code]&&(o=!0,r=a[e.code]),n.setErrorNotice(l,r,o),t.dispatch(I.store).createErrorNotice(r,{speak:!0,isDismissible:!0})}return n.setIsInstalling(l,!1),o},A=e=>async({registry:t,dispatch:n})=>{try{const t=L(e);await B()({method:"PUT",url:t,data:{status:"inactive"}}),await B()({method:"DELETE",url:t}),n.removeInstalledBlockType(e)}catch(e){t.dispatch(I.store).createErrorNotice(e.message||(0,h.__)("An error occurred."))}};function D(e){return{type:"ADD_INSTALLED_BLOCK_TYPE",item:e}}function R(e){return{type:"REMOVE_INSTALLED_BLOCK_TYPE",item:e}}function P(e,t){return{type:"SET_INSTALLING_BLOCK",blockId:e,isInstalling:t}}function M(e,t,n=!1){return{type:"SET_ERROR_NOTICE",blockId:e,message:t,isFatal:n}}function x(e){return{type:"CLEAR_ERROR_NOTICE",blockId:e}}var F=function(){return F=Object.assign||function(e){for(var t,n=1,l=arguments.length;n0&&n>="0"&&n<="9"?"_"+n+l:""+n.toUpperCase()+l}function K(e,t){return void 0===t&&(t={}),function(e,t){void 0===t&&(t={});for(var n=t.splitRegexp,l=void 0===n?H:n,r=t.stripRegexp,o=void 0===r?$:r,a=t.transform,s=void 0===a?V:a,c=t.delimiter,i=void 0===c?" ":c,d=j(j(e,l,"$1\0$2"),o,"\0"),u=0,m=d.length;"\0"===d.charAt(u);)u++;for(;"\0"===d.charAt(m-1);)m--;return d.slice(u,m).split("\0").map(s).join(i)}(e,F({delimiter:"",transform:z},t))}function U(e,t){return 0===t?e.toLowerCase():z(e,t)}const Y=e=>async({dispatch:t})=>{if(e)try{t(S(e));const n=await B()({path:`wp/v2/block-directory/search?term=${e}`});t(C(n.map((e=>Object.fromEntries(Object.entries(e).map((([e,t])=>{return[(n=e,void 0===l&&(l={}),K(n,F({transform:U},l))),t];var n,l}))))),e))}catch{}},q={reducer:u,selectors:n,actions:l,resolvers:r},G=(0,i.createReduxStore)("core/block-directory",q);function W(){const{uninstallBlockType:e}=(0,i.useDispatch)(G),t=(0,i.useSelect)((e=>{const{isAutosavingPost:t,isSavingPost:n}=e(d.store);return n()&&!t()}),[]),n=(0,i.useSelect)((e=>e(G).getUnusedBlockTypes()),[]);return(0,o.useEffect)((()=>{t&&n.length&&n.forEach((t=>{e(t),(0,c.unregisterBlockType)(t.name)}))}),[t]),null}(0,i.register)(G);var Z=window.wp.compose,Q=window.wp.components,J=window.wp.coreData,X=window.wp.htmlEntities;var ee=(0,o.forwardRef)((function({icon:e,size:t=24,...n},l){return(0,o.cloneElement)(e,{width:t,height:t,...n,ref:l})})),te=window.wp.primitives;var ne=(0,o.createElement)(te.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(te.Path,{d:"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z"}));var le=(0,o.createElement)(te.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(te.Path,{d:"M9.518 8.783a.25.25 0 00.188-.137l2.069-4.192a.25.25 0 01.448 0l2.07 4.192a.25.25 0 00.187.137l4.626.672a.25.25 0 01.139.427l-3.347 3.262a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.363.264l-4.137-2.176a.25.25 0 00-.233 0l-4.138 2.175a.25.25 0 01-.362-.263l.79-4.607a.25.25 0 00-.072-.222L4.753 9.882a.25.25 0 01.14-.427l4.625-.672zM12 14.533c.28 0 .559.067.814.2l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39v7.143z"}));var re=(0,o.createElement)(te.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(te.Path,{fillRule:"evenodd",d:"M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z",clipRule:"evenodd"}));var oe=function({rating:e}){const t=.5*Math.round(e/.5),n=Math.floor(e),l=Math.ceil(e-n),r=5-(n+l);return(0,o.createElement)("span",{"aria-label":(0,h.sprintf)((0,h.__)("%s out of 5 stars"),t)},Array.from({length:n}).map(((e,t)=>(0,o.createElement)(ee,{key:`full_stars_${t}`,className:"block-directory-block-ratings__star-full",icon:ne,size:16}))),Array.from({length:l}).map(((e,t)=>(0,o.createElement)(ee,{key:`half_stars_${t}`,className:"block-directory-block-ratings__star-half-full",icon:le,size:16}))),Array.from({length:r}).map(((e,t)=>(0,o.createElement)(ee,{key:`empty_stars_${t}`,className:"block-directory-block-ratings__star-empty",icon:re,size:16}))))};var ae=({rating:e})=>(0,o.createElement)("span",{className:"block-directory-block-ratings"},(0,o.createElement)(oe,{rating:e}));var se=function({icon:e}){const t="block-directory-downloadable-block-icon";return null!==e.match(/\.(jpeg|jpg|gif|png|svg)(?:\?.*)?$/)?(0,o.createElement)("img",{className:t,src:e,alt:""}):(0,o.createElement)(m.BlockIcon,{className:t,icon:e,showColors:!0})};var ce=({block:e})=>{const t=(0,i.useSelect)((t=>t(G).getErrorNoticeForBlock(e.id)),[e]);return t?(0,o.createElement)("div",{className:"block-directory-downloadable-block-notice"},(0,o.createElement)("div",{className:"block-directory-downloadable-block-notice__content"},t.message,t.isFatal?" "+(0,h.__)("Try reloading the page."):null)):null};function ie({title:e,rating:t,ratingCount:n},{hasNotice:l,isInstalled:r,isInstalling:o}){const a=.5*Math.round(t/.5);return!r&&l?(0,h.sprintf)("Retry installing %s.",(0,X.decodeEntities)(e)):r?(0,h.sprintf)("Add %s.",(0,X.decodeEntities)(e)):o?(0,h.sprintf)("Installing %s.",(0,X.decodeEntities)(e)):n<1?(0,h.sprintf)("Install %s.",(0,X.decodeEntities)(e)):(0,h.sprintf)((0,h._n)("Install %1$s. %2$s stars with %3$s review.","Install %1$s. %2$s stars with %3$s reviews.",n),(0,X.decodeEntities)(e),a,n)}var de=function({composite:e,item:t,onClick:n}){const{author:l,description:r,icon:a,rating:s,title:d}=t,u=!!(0,c.getBlockType)(t.name),{hasNotice:m,isInstalling:p,isInstallable:b}=(0,i.useSelect)((e=>{const{getErrorNoticeForBlock:n,isInstalling:l}=e(G),r=n(t.id),o=r&&r.isFatal;return{hasNotice:!!r,isInstalling:l(t.id),isInstallable:!o}}),[t]);let k="";return u?k=(0,h.__)("Installed!"):p&&(k=(0,h.__)("Installing…")),(0,o.createElement)(Q.__unstableCompositeItem,{__experimentalIsFocusable:!0,role:"option",as:Q.Button,...e,className:"block-directory-downloadable-block-list-item",onClick:e=>{e.preventDefault(),n()},isBusy:p,disabled:p||!b,label:ie(t,{hasNotice:m,isInstalled:u,isInstalling:p}),showTooltip:!0,tooltipPosition:"top center"},(0,o.createElement)("div",{className:"block-directory-downloadable-block-list-item__icon"},(0,o.createElement)(se,{icon:a,title:d}),p?(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__spinner"},(0,o.createElement)(Q.Spinner,null)):(0,o.createElement)(ae,{rating:s})),(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__details"},(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__title"},(0,o.createInterpolateElement)((0,h.sprintf)((0,h.__)("%1$s by %2$s"),(0,X.decodeEntities)(d),l),{span:(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__author"})})),m?(0,o.createElement)(ce,{block:t}):(0,o.createElement)(o.Fragment,null,(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__desc"},k||(0,X.decodeEntities)(r)),b&&!(u||p)&&(0,o.createElement)(Q.VisuallyHidden,null,(0,h.__)("Install block")))))};const ue=()=>{};var me=function({items:e,onHover:t=ue,onSelect:n}){const l=(0,Q.__unstableUseCompositeState)(),{installBlockType:r}=(0,i.useDispatch)(G);return e.length?(0,o.createElement)(Q.__unstableComposite,{...l,role:"listbox",className:"block-directory-downloadable-blocks-list","aria-label":(0,h.__)("Blocks available for install")},e.map((e=>(0,o.createElement)(de,{key:e.id,composite:l,onClick:()=>{(0,c.getBlockType)(e.name)?n(e):r(e).then((t=>{t&&n(e)})),t(null)},onHover:t,item:e})))):null},pe=window.wp.a11y;var be=function({children:e,downloadableItems:t,hasLocalBlocks:n}){const l=t.length;return(0,o.useEffect)((()=>{(0,pe.speak)((0,h.sprintf)((0,h._n)("%d additional block is available to install.","%d additional blocks are available to install.",l),l))}),[l]),(0,o.createElement)(o.Fragment,null,!n&&(0,o.createElement)("p",{className:"block-directory-downloadable-blocks-panel__no-local"},(0,h.__)("No results available from your installed blocks.")),(0,o.createElement)("div",{className:"block-editor-inserter__quick-inserter-separator"}),(0,o.createElement)("div",{className:"block-directory-downloadable-blocks-panel"},(0,o.createElement)("div",{className:"block-directory-downloadable-blocks-panel__header"},(0,o.createElement)("h2",{className:"block-directory-downloadable-blocks-panel__title"},(0,h.__)("Available to install")),(0,o.createElement)("p",{className:"block-directory-downloadable-blocks-panel__description"},(0,h.__)("Select a block to install and add it to your post."))),e))};var ke=(0,o.createElement)(te.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(te.Path,{d:"M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z"}));var ge=function(){return(0,o.createElement)(o.Fragment,null,(0,o.createElement)("div",{className:"block-editor-inserter__no-results"},(0,o.createElement)(ee,{className:"block-editor-inserter__no-results-icon",icon:ke}),(0,o.createElement)("p",null,(0,h.__)("No results found."))),(0,o.createElement)("div",{className:"block-editor-inserter__tips"},(0,o.createElement)(Q.Tip,null,(0,h.__)("Interested in creating your own block?"),(0,o.createElement)("br",null),(0,o.createElement)(Q.ExternalLink,{href:"https://developer.wordpress.org/block-editor/"},(0,h.__)("Get started here"),"."))))};const _e=[];var fe=(0,Z.compose)([(0,i.withSelect)(((e,{filterValue:t,rootClientId:n=null})=>{const{getDownloadableBlocks:l,isRequestingDownloadableBlocks:r}=e(G),{canInsertBlockType:o}=e(m.store),a=e(J.store).canUser("read","block-directory/search");let s=a?function(e){const t=l(e),r=t.filter((e=>o(e,n,!0)));return t.length===r.length?t:r}(t):[];0===s.length&&(s=_e);return{downloadableItems:s,hasPermission:a,isLoading:r(t)}}))])((function({downloadableItems:e,onSelect:t,onHover:n,hasLocalBlocks:l,hasPermission:r,isLoading:a,isTyping:s}){return void 0===r||a||s?(0,o.createElement)(o.Fragment,null,r&&!l&&(0,o.createElement)(o.Fragment,null,(0,o.createElement)("p",{className:"block-directory-downloadable-blocks-panel__no-local"},(0,h.__)("No results available from your installed blocks.")),(0,o.createElement)("div",{className:"block-editor-inserter__quick-inserter-separator"})),(0,o.createElement)("div",{className:"block-directory-downloadable-blocks-panel has-blocks-loading"},(0,o.createElement)(Q.Spinner,null))):!1===r?l?null:(0,o.createElement)(ge,null):e.length?(0,o.createElement)(be,{downloadableItems:e,hasLocalBlocks:l},(0,o.createElement)(me,{items:e,onSelect:t,onHover:n})):!l&&(0,o.createElement)(ge,null)}));var we,Ee=function(){const[e,t]=(0,o.useState)(""),n=(0,Z.debounce)(t,400);return(0,o.createElement)(m.__unstableInserterMenuExtension,null,(({onSelect:t,onHover:l,filterValue:r,hasItems:a,rootClientId:s})=>(e!==r&&n(r),e?(0,o.createElement)(fe,{onSelect:t,onHover:l,rootClientId:s,filterValue:e,hasLocalBlocks:a,isTyping:r!==e}):null)))};function ye({items:e}){return e.length?(0,o.createElement)("ul",{className:"block-directory-compact-list"},e.map((({icon:e,id:t,title:n,author:l})=>(0,o.createElement)("li",{key:t,className:"block-directory-compact-list__item"},(0,o.createElement)(se,{icon:e,title:n}),(0,o.createElement)("div",{className:"block-directory-compact-list__item-details"},(0,o.createElement)("div",{className:"block-directory-compact-list__item-title"},n),(0,o.createElement)("div",{className:"block-directory-compact-list__item-author"},(0,h.sprintf)((0,h.__)("By %s"),l))))))):null}const{PluginPrePublishPanel:he}=null!==(we=window?.wp?.editPost)&&void 0!==we?we:{};function ve(){const e=(0,i.useSelect)((e=>e(G).getNewBlockTypes()),[]);return e.length?(0,o.createElement)(he,{icon:ke,title:(0,h.sprintf)((0,h._n)("Added: %d block","Added: %d blocks",e.length),e.length),initialOpen:!0},(0,o.createElement)("p",{className:"installed-blocks-pre-publish-panel__copy"},(0,h._n)("The following block has been added to your site.","The following blocks have been added to your site.",e.length)),(0,o.createElement)(ye,{items:e})):null}function Be({attributes:e,block:t,clientId:n}){const l=(0,i.useSelect)((e=>e(G).isInstalling(t.id)),[t.id]),{installBlockType:r}=(0,i.useDispatch)(G),{replaceBlock:a}=(0,i.useDispatch)(m.store);return(0,o.createElement)(Q.Button,{onClick:()=>r(t).then((l=>{if(l){const l=(0,c.getBlockType)(t.name),[r]=(0,c.parse)(e.originalContent);r&&l&&a(n,(0,c.createBlock)(l.name,r.attributes,r.innerBlocks))}})),disabled:l,isBusy:l,variant:"primary"},(0,h.sprintf)((0,h.__)("Install %s"),t.title))}const Ie=({originalBlock:e,...t})=>{const{originalName:n,originalUndelimitedContent:l,clientId:r}=t.attributes,{replaceBlock:a}=(0,i.useDispatch)(m.store),s=()=>{a(t.clientId,(0,c.createBlock)("core/html",{content:l}))},d=!!l,u=(0,i.useSelect)((e=>{const{canInsertBlockType:t,getBlockRootClientId:n}=e(m.store);return t("core/html",n(r))}),[r]);let p=(0,h.sprintf)((0,h.__)("Your site doesn’t include support for the %s block. You can try installing the block or remove it entirely."),e.title||n);const b=[(0,o.createElement)(Be,{key:"install",block:e,attributes:t.attributes,clientId:t.clientId})];return d&&u&&(p=(0,h.sprintf)((0,h.__)("Your site doesn’t include support for the %s block. You can try installing the block, convert it to a Custom HTML block, or remove it entirely."),e.title||n),b.push((0,o.createElement)(Q.Button,{key:"convert",onClick:s,variant:"tertiary"},(0,h.__)("Keep as HTML")))),(0,o.createElement)("div",{...(0,m.useBlockProps)()},(0,o.createElement)(m.Warning,{actions:b},p),(0,o.createElement)(o.RawHTML,null,l))};var Ne=e=>t=>{const{originalName:n}=t.attributes,{block:l,hasPermission:r}=(0,i.useSelect)((e=>{const{getDownloadableBlocks:t}=e(G),l=t("block:"+n).filter((({name:e})=>n===e));return{hasPermission:e(J.store).canUser("read","block-directory/search"),block:l.length&&l[0]}}),[n]);return r&&l?(0,o.createElement)(Ie,{...t,originalBlock:l}):(0,o.createElement)(e,{...t})};(0,a.registerPlugin)("block-directory",{render(){return(0,o.createElement)(o.Fragment,null,(0,o.createElement)(W,null),(0,o.createElement)(Ee,null),(0,o.createElement)(ve,null))}}),(0,s.addFilter)("blocks.registerBlockType","block-directory/fallback",((e,t)=>("core/missing"!==t||(e.edit=Ne(e.edit)),e))),(window.wp=window.wp||{}).blockDirectory=t}(); \ No newline at end of file +!function(){"use strict";var e={n:function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},d:function(t,n){for(var l in n)e.o(n,l)&&!e.o(t,l)&&Object.defineProperty(t,l,{enumerable:!0,get:n[l]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{store:function(){return W}});var n={};e.r(n),e.d(n,{getDownloadableBlocks:function(){return g},getErrorNoticeForBlock:function(){return h},getErrorNotices:function(){return y},getInstalledBlockTypes:function(){return f},getNewBlockTypes:function(){return w},getUnusedBlockTypes:function(){return _},isInstalling:function(){return E},isRequestingDownloadableBlocks:function(){return b}});var l={};e.r(l),e.d(l,{addInstalledBlockType:function(){return D},clearErrorNotice:function(){return F},fetchDownloadableBlocks:function(){return O},installBlockType:function(){return A},receiveDownloadableBlocks:function(){return C},removeInstalledBlockType:function(){return P},setErrorNotice:function(){return x},setIsInstalling:function(){return M},uninstallBlockType:function(){return R}});var r={};e.r(r),e.d(r,{getDownloadableBlocks:function(){return q}});var o=window.React,a=window.wp.plugins,s=window.wp.hooks,i=window.wp.blocks,c=window.wp.data,d=window.wp.element,u=window.wp.editor;var m=(0,c.combineReducers)({downloadableBlocks:(e={},t)=>{switch(t.type){case"FETCH_DOWNLOADABLE_BLOCKS":return{...e,[t.filterValue]:{isRequesting:!0}};case"RECEIVE_DOWNLOADABLE_BLOCKS":return{...e,[t.filterValue]:{results:t.downloadableBlocks,isRequesting:!1}}}return e},blockManagement:(e={installedBlockTypes:[],isInstalling:{}},t)=>{switch(t.type){case"ADD_INSTALLED_BLOCK_TYPE":return{...e,installedBlockTypes:[...e.installedBlockTypes,t.item]};case"REMOVE_INSTALLED_BLOCK_TYPE":return{...e,installedBlockTypes:e.installedBlockTypes.filter((e=>e.name!==t.item.name))};case"SET_INSTALLING_BLOCK":return{...e,isInstalling:{...e.isInstalling,[t.blockId]:t.isInstalling}}}return e},errorNotices:(e={},t)=>{switch(t.type){case"SET_ERROR_NOTICE":return{...e,[t.blockId]:{message:t.message,isFatal:t.isFatal}};case"CLEAR_ERROR_NOTICE":const{[t.blockId]:n,...l}=e;return l}return e}}),p=window.wp.blockEditor;function k(e,t=[]){if(!t.length)return!1;if(t.some((({name:t})=>t===e.name)))return!0;for(let n=0;nt=>{const n=e(p.store).getBlocks();return f(t).filter((e=>k(e,n)))})),_=(0,c.createRegistrySelector)((e=>t=>{const n=e(p.store).getBlocks();return f(t).filter((e=>!k(e,n)))}));function E(e,t){return e.blockManagement.isInstalling[t]||!1}function y(e){return e.errorNotices}function h(e,t){return e.errorNotices[t]}var v=window.wp.i18n,B=window.wp.apiFetch,N=e.n(B),I=window.wp.notices,T=window.wp.url;const L=e=>new Promise(((t,n)=>{const l=document.createElement(e.nodeName);["id","rel","src","href","type"].forEach((t=>{e[t]&&(l[t]=e[t])})),e.innerHTML&&l.appendChild(document.createTextNode(e.innerHTML)),l.onload=()=>t(!0),l.onerror=()=>n(new Error("Error loading asset.")),document.body.appendChild(l),("link"===l.nodeName.toLowerCase()||"script"===l.nodeName.toLowerCase()&&!l.src)&&t()}));function S(e){if(!e)return!1;const t=e.links["wp:plugin"]||e.links.self;return!(!t||!t.length)&&t[0].href}function O(e){return{type:"FETCH_DOWNLOADABLE_BLOCKS",filterValue:e}}function C(e,t){return{type:"RECEIVE_DOWNLOADABLE_BLOCKS",downloadableBlocks:e,filterValue:t}}const A=e=>async({registry:t,dispatch:n})=>{const{id:l,name:r}=e;let o=!1;n.clearErrorNotice(l);try{n.setIsInstalling(l,!0);const a=S(e);let s={};if(a)await N()({method:"PUT",url:a,data:{status:"active"}});else{s=(await N()({method:"POST",path:"wp/v2/plugins",data:{slug:l,status:"active"}}))._links}n.addInstalledBlockType({...e,links:{...e.links,...s}});const c=["api_version","title","category","parent","icon","description","keywords","attributes","provides_context","uses_context","supports","styles","example","variations"];await N()({path:(0,T.addQueryArgs)(`/wp/v2/block-types/${r}`,{_fields:c})}).catch((()=>{})).then((e=>{e&&(0,i.unstable__bootstrapServerSideBlockDefinitions)({[r]:Object.fromEntries(Object.entries(e).filter((([e])=>c.includes(e))))})})),await async function(){const e=await N()({url:document.location.href,parse:!1}),t=await e.text(),n=(new window.DOMParser).parseFromString(t,"text/html"),l=Array.from(n.querySelectorAll('link[rel="stylesheet"],script')).filter((e=>e.id&&!document.getElementById(e.id)));for(const e of l)await L(e)}();if(!t.select(i.store).getBlockTypes().some((e=>e.name===r)))throw new Error((0,v.__)("Error registering block. Try reloading the page."));t.dispatch(I.store).createInfoNotice((0,v.sprintf)((0,v.__)("Block %s installed and added."),e.title),{speak:!0,type:"snackbar"}),o=!0}catch(e){let r=e.message||(0,v.__)("An error occurred."),o=e instanceof Error;const a={folder_exists:(0,v.__)("This block is already installed. Try reloading the page."),unable_to_connect_to_filesystem:(0,v.__)("Error installing block. You can reload the page and try again.")};a[e.code]&&(o=!0,r=a[e.code]),n.setErrorNotice(l,r,o),t.dispatch(I.store).createErrorNotice(r,{speak:!0,isDismissible:!0})}return n.setIsInstalling(l,!1),o},R=e=>async({registry:t,dispatch:n})=>{try{const t=S(e);await N()({method:"PUT",url:t,data:{status:"inactive"}}),await N()({method:"DELETE",url:t}),n.removeInstalledBlockType(e)}catch(e){t.dispatch(I.store).createErrorNotice(e.message||(0,v.__)("An error occurred."))}};function D(e){return{type:"ADD_INSTALLED_BLOCK_TYPE",item:e}}function P(e){return{type:"REMOVE_INSTALLED_BLOCK_TYPE",item:e}}function M(e,t){return{type:"SET_INSTALLING_BLOCK",blockId:e,isInstalling:t}}function x(e,t,n=!1){return{type:"SET_ERROR_NOTICE",blockId:e,message:t,isFatal:n}}function F(e){return{type:"CLEAR_ERROR_NOTICE",blockId:e}}var V=function(){return V=Object.assign||function(e){for(var t,n=1,l=arguments.length;n0&&n>="0"&&n<="9"?"_"+n+l:""+n.toUpperCase()+l}function U(e,t){return void 0===t&&(t={}),function(e,t){void 0===t&&(t={});for(var n=t.splitRegexp,l=void 0===n?$:n,r=t.stripRegexp,o=void 0===r?j:r,a=t.transform,s=void 0===a?H:a,i=t.delimiter,c=void 0===i?" ":i,d=z(z(e,l,"$1\0$2"),o,"\0"),u=0,m=d.length;"\0"===d.charAt(u);)u++;for(;"\0"===d.charAt(m-1);)m--;return d.slice(u,m).split("\0").map(s).join(c)}(e,V({delimiter:"",transform:K},t))}function Y(e,t){return 0===t?e.toLowerCase():K(e,t)}const q=e=>async({dispatch:t})=>{if(e)try{t(O(e));const n=await N()({path:`wp/v2/block-directory/search?term=${e}`});t(C(n.map((e=>Object.fromEntries(Object.entries(e).map((([e,t])=>{return[(n=e,void 0===l&&(l={}),U(n,V({transform:Y},l))),t];var n,l}))))),e))}catch{}},G={reducer:m,selectors:n,actions:l,resolvers:r},W=(0,c.createReduxStore)("core/block-directory",G);function Z(){const{uninstallBlockType:e}=(0,c.useDispatch)(W),t=(0,c.useSelect)((e=>{const{isAutosavingPost:t,isSavingPost:n}=e(u.store);return n()&&!t()}),[]),n=(0,c.useSelect)((e=>e(W).getUnusedBlockTypes()),[]);return(0,d.useEffect)((()=>{t&&n.length&&n.forEach((t=>{e(t),(0,i.unregisterBlockType)(t.name)}))}),[t]),null}(0,c.register)(W);var Q=window.wp.compose,J=window.wp.components,X=window.wp.coreData,ee=window.wp.htmlEntities;var te=(0,d.forwardRef)((function({icon:e,size:t=24,...n},l){return(0,d.cloneElement)(e,{width:t,height:t,...n,ref:l})})),ne=window.wp.primitives;var le=(0,o.createElement)(ne.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(ne.Path,{d:"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z"}));var re=(0,o.createElement)(ne.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(ne.Path,{d:"M9.518 8.783a.25.25 0 00.188-.137l2.069-4.192a.25.25 0 01.448 0l2.07 4.192a.25.25 0 00.187.137l4.626.672a.25.25 0 01.139.427l-3.347 3.262a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.363.264l-4.137-2.176a.25.25 0 00-.233 0l-4.138 2.175a.25.25 0 01-.362-.263l.79-4.607a.25.25 0 00-.072-.222L4.753 9.882a.25.25 0 01.14-.427l4.625-.672zM12 14.533c.28 0 .559.067.814.2l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39v7.143z"}));var oe=(0,o.createElement)(ne.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(ne.Path,{fillRule:"evenodd",d:"M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z",clipRule:"evenodd"}));var ae=function({rating:e}){const t=.5*Math.round(e/.5),n=Math.floor(e),l=Math.ceil(e-n),r=5-(n+l);return(0,o.createElement)("span",{"aria-label":(0,v.sprintf)((0,v.__)("%s out of 5 stars"),t)},Array.from({length:n}).map(((e,t)=>(0,o.createElement)(te,{key:`full_stars_${t}`,className:"block-directory-block-ratings__star-full",icon:le,size:16}))),Array.from({length:l}).map(((e,t)=>(0,o.createElement)(te,{key:`half_stars_${t}`,className:"block-directory-block-ratings__star-half-full",icon:re,size:16}))),Array.from({length:r}).map(((e,t)=>(0,o.createElement)(te,{key:`empty_stars_${t}`,className:"block-directory-block-ratings__star-empty",icon:oe,size:16}))))};var se=({rating:e})=>(0,o.createElement)("span",{className:"block-directory-block-ratings"},(0,o.createElement)(ae,{rating:e}));var ie=function({icon:e}){const t="block-directory-downloadable-block-icon";return null!==e.match(/\.(jpeg|jpg|gif|png|svg)(?:\?.*)?$/)?(0,o.createElement)("img",{className:t,src:e,alt:""}):(0,o.createElement)(p.BlockIcon,{className:t,icon:e,showColors:!0})};var ce=({block:e})=>{const t=(0,c.useSelect)((t=>t(W).getErrorNoticeForBlock(e.id)),[e]);return t?(0,o.createElement)("div",{className:"block-directory-downloadable-block-notice"},(0,o.createElement)("div",{className:"block-directory-downloadable-block-notice__content"},t.message,t.isFatal?" "+(0,v.__)("Try reloading the page."):null)):null},de=window.wp.privateApis;const{lock:ue,unlock:me}=(0,de.__dangerousOptInToUnstableAPIsOnlyForCoreModules)("I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.","@wordpress/block-directory"),{CompositeItemV2:pe}=me(J.privateApis);function ke({title:e,rating:t,ratingCount:n},{hasNotice:l,isInstalled:r,isInstalling:o}){const a=.5*Math.round(t/.5);return!r&&l?(0,v.sprintf)("Retry installing %s.",(0,ee.decodeEntities)(e)):r?(0,v.sprintf)("Add %s.",(0,ee.decodeEntities)(e)):o?(0,v.sprintf)("Installing %s.",(0,ee.decodeEntities)(e)):n<1?(0,v.sprintf)("Install %s.",(0,ee.decodeEntities)(e)):(0,v.sprintf)((0,v._n)("Install %1$s. %2$s stars with %3$s review.","Install %1$s. %2$s stars with %3$s reviews.",n),(0,ee.decodeEntities)(e),a,n)}var be=function({composite:e,item:t,onClick:n}){const{author:l,description:r,icon:a,rating:s,title:u}=t,m=!!(0,i.getBlockType)(t.name),{hasNotice:p,isInstalling:k,isInstallable:b}=(0,c.useSelect)((e=>{const{getErrorNoticeForBlock:n,isInstalling:l}=e(W),r=n(t.id),o=r&&r.isFatal;return{hasNotice:!!r,isInstalling:l(t.id),isInstallable:!o}}),[t]);let g="";return m?g=(0,v.__)("Installed!"):k&&(g=(0,v.__)("Installing…")),(0,o.createElement)(pe,{render:(0,o.createElement)(J.Button,{__experimentalIsFocusable:!0,type:"button",role:"option",className:"block-directory-downloadable-block-list-item",isBusy:k,onClick:e=>{e.preventDefault(),n()},label:ke(t,{hasNotice:p,isInstalled:m,isInstalling:k}),showTooltip:!0,tooltipPosition:"top center"}),store:e,disabled:k||!b},(0,o.createElement)("div",{className:"block-directory-downloadable-block-list-item__icon"},(0,o.createElement)(ie,{icon:a,title:u}),k?(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__spinner"},(0,o.createElement)(J.Spinner,null)):(0,o.createElement)(se,{rating:s})),(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__details"},(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__title"},(0,d.createInterpolateElement)((0,v.sprintf)((0,v.__)("%1$s by %2$s"),(0,ee.decodeEntities)(u),l),{span:(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__author"})})),p?(0,o.createElement)(ce,{block:t}):(0,o.createElement)(o.Fragment,null,(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__desc"},g||(0,ee.decodeEntities)(r)),b&&!(m||k)&&(0,o.createElement)(J.VisuallyHidden,null,(0,v.__)("Install block")))))};const{CompositeV2:ge,useCompositeStoreV2:fe}=me(J.privateApis),we=()=>{};var _e=function({items:e,onHover:t=we,onSelect:n}){const l=fe(),{installBlockType:r}=(0,c.useDispatch)(W);return e.length?(0,o.createElement)(ge,{store:l,role:"listbox",className:"block-directory-downloadable-blocks-list","aria-label":(0,v.__)("Blocks available for install")},e.map((e=>(0,o.createElement)(be,{key:e.id,composite:l,onClick:()=>{(0,i.getBlockType)(e.name)?n(e):r(e).then((t=>{t&&n(e)})),t(null)},onHover:t,item:e})))):null},Ee=window.wp.a11y;var ye=function({children:e,downloadableItems:t,hasLocalBlocks:n}){const l=t.length;return(0,d.useEffect)((()=>{(0,Ee.speak)((0,v.sprintf)((0,v._n)("%d additional block is available to install.","%d additional blocks are available to install.",l),l))}),[l]),(0,o.createElement)(o.Fragment,null,!n&&(0,o.createElement)("p",{className:"block-directory-downloadable-blocks-panel__no-local"},(0,v.__)("No results available from your installed blocks.")),(0,o.createElement)("div",{className:"block-editor-inserter__quick-inserter-separator"}),(0,o.createElement)("div",{className:"block-directory-downloadable-blocks-panel"},(0,o.createElement)("div",{className:"block-directory-downloadable-blocks-panel__header"},(0,o.createElement)("h2",{className:"block-directory-downloadable-blocks-panel__title"},(0,v.__)("Available to install")),(0,o.createElement)("p",{className:"block-directory-downloadable-blocks-panel__description"},(0,v.__)("Select a block to install and add it to your post."))),e))};var he=(0,o.createElement)(ne.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(ne.Path,{d:"M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z"}));var ve=function(){return(0,o.createElement)(o.Fragment,null,(0,o.createElement)("div",{className:"block-editor-inserter__no-results"},(0,o.createElement)(te,{className:"block-editor-inserter__no-results-icon",icon:he}),(0,o.createElement)("p",null,(0,v.__)("No results found."))),(0,o.createElement)("div",{className:"block-editor-inserter__tips"},(0,o.createElement)(J.Tip,null,(0,v.__)("Interested in creating your own block?"),(0,o.createElement)("br",null),(0,o.createElement)(J.ExternalLink,{href:"https://developer.wordpress.org/block-editor/"},(0,v.__)("Get started here"),"."))))};const Be=[],Ne=e=>(0,c.useSelect)((t=>{const{getDownloadableBlocks:n,isRequestingDownloadableBlocks:l,getInstalledBlockTypes:r}=t(W),o=t(X.store).canUser("read","block-directory/search");let a=Be;if(o){a=n(e);const t=r(),l=a.filter((({name:e})=>{const n=t.some((t=>t.name===e)),l=(0,i.getBlockType)(e);return n||!l}));l.length!==a.length&&(a=l),0===a.length&&(a=Be)}return{hasPermission:o,downloadableBlocks:a,isLoading:l(e)}}),[e]);function Ie({onSelect:e,onHover:t,hasLocalBlocks:n,isTyping:l,filterValue:r}){const{hasPermission:a,downloadableBlocks:s,isLoading:i}=Ne(r);return void 0===a||i||l?(0,o.createElement)(o.Fragment,null,a&&!n&&(0,o.createElement)(o.Fragment,null,(0,o.createElement)("p",{className:"block-directory-downloadable-blocks-panel__no-local"},(0,v.__)("No results available from your installed blocks.")),(0,o.createElement)("div",{className:"block-editor-inserter__quick-inserter-separator"})),(0,o.createElement)("div",{className:"block-directory-downloadable-blocks-panel has-blocks-loading"},(0,o.createElement)(J.Spinner,null))):!1===a||0===s.length?n?null:(0,o.createElement)(ve,null):(0,o.createElement)(ye,{downloadableItems:s,hasLocalBlocks:n},(0,o.createElement)(_e,{items:s,onSelect:e,onHover:t}))}var Te,Le=function(){const[e,t]=(0,d.useState)(""),n=(0,Q.debounce)(t,400);return(0,o.createElement)(p.__unstableInserterMenuExtension,null,(({onSelect:t,onHover:l,filterValue:r,hasItems:a})=>(e!==r&&n(r),e?(0,o.createElement)(Ie,{onSelect:t,onHover:l,filterValue:e,hasLocalBlocks:a,isTyping:r!==e}):null)))};function Se({items:e}){return e.length?(0,o.createElement)("ul",{className:"block-directory-compact-list"},e.map((({icon:e,id:t,title:n,author:l})=>(0,o.createElement)("li",{key:t,className:"block-directory-compact-list__item"},(0,o.createElement)(ie,{icon:e,title:n}),(0,o.createElement)("div",{className:"block-directory-compact-list__item-details"},(0,o.createElement)("div",{className:"block-directory-compact-list__item-title"},n),(0,o.createElement)("div",{className:"block-directory-compact-list__item-author"},(0,v.sprintf)((0,v.__)("By %s"),l))))))):null}const{PluginPrePublishPanel:Oe}=null!==(Te=window?.wp?.editPost)&&void 0!==Te?Te:{};function Ce(){const e=(0,c.useSelect)((e=>e(W).getNewBlockTypes()),[]);return e.length?(0,o.createElement)(Oe,{icon:he,title:(0,v.sprintf)((0,v._n)("Added: %d block","Added: %d blocks",e.length),e.length),initialOpen:!0},(0,o.createElement)("p",{className:"installed-blocks-pre-publish-panel__copy"},(0,v._n)("The following block has been added to your site.","The following blocks have been added to your site.",e.length)),(0,o.createElement)(Se,{items:e})):null}function Ae({attributes:e,block:t,clientId:n}){const l=(0,c.useSelect)((e=>e(W).isInstalling(t.id)),[t.id]),{installBlockType:r}=(0,c.useDispatch)(W),{replaceBlock:a}=(0,c.useDispatch)(p.store);return(0,o.createElement)(J.Button,{onClick:()=>r(t).then((l=>{if(l){const l=(0,i.getBlockType)(t.name),[r]=(0,i.parse)(e.originalContent);r&&l&&a(n,(0,i.createBlock)(l.name,r.attributes,r.innerBlocks))}})),disabled:l,isBusy:l,variant:"primary"},(0,v.sprintf)((0,v.__)("Install %s"),t.title))}const Re=({originalBlock:e,...t})=>{const{originalName:n,originalUndelimitedContent:l,clientId:r}=t.attributes,{replaceBlock:a}=(0,c.useDispatch)(p.store),s=()=>{a(t.clientId,(0,i.createBlock)("core/html",{content:l}))},u=!!l,m=(0,c.useSelect)((e=>{const{canInsertBlockType:t,getBlockRootClientId:n}=e(p.store);return t("core/html",n(r))}),[r]);let k=(0,v.sprintf)((0,v.__)("Your site doesn’t include support for the %s block. You can try installing the block or remove it entirely."),e.title||n);const b=[(0,o.createElement)(Ae,{key:"install",block:e,attributes:t.attributes,clientId:t.clientId})];return u&&m&&(k=(0,v.sprintf)((0,v.__)("Your site doesn’t include support for the %s block. You can try installing the block, convert it to a Custom HTML block, or remove it entirely."),e.title||n),b.push((0,o.createElement)(J.Button,{key:"convert",onClick:s,variant:"tertiary"},(0,v.__)("Keep as HTML")))),(0,o.createElement)("div",{...(0,p.useBlockProps)()},(0,o.createElement)(p.Warning,{actions:b},k),(0,o.createElement)(d.RawHTML,null,l))};var De=e=>t=>{const{originalName:n}=t.attributes,{block:l,hasPermission:r}=(0,c.useSelect)((e=>{const{getDownloadableBlocks:t}=e(W),l=t("block:"+n).filter((({name:e})=>n===e));return{hasPermission:e(X.store).canUser("read","block-directory/search"),block:l.length&&l[0]}}),[n]);return r&&l?(0,o.createElement)(Re,{...t,originalBlock:l}):(0,o.createElement)(e,{...t})};(0,a.registerPlugin)("block-directory",{render(){return(0,o.createElement)(o.Fragment,null,(0,o.createElement)(Z,null),(0,o.createElement)(Le,null),(0,o.createElement)(Ce,null))}}),(0,s.addFilter)("blocks.registerBlockType","block-directory/fallback",((e,t)=>("core/missing"!==t||(e.edit=De(e.edit)),e))),(window.wp=window.wp||{}).blockDirectory=t}(); \ No newline at end of file diff --git a/wp-includes/js/dist/block-editor.js b/wp-includes/js/dist/block-editor.js index 7ab05889c4..9b0faafd74 100644 --- a/wp-includes/js/dist/block-editor.js +++ b/wp-includes/js/dist/block-editor.js @@ -1418,36 +1418,56 @@ module.exports = function equal(a, b) { /***/ }), -/***/ 8575: +/***/ 2303: /***/ (function(module) { -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }) +"use strict"; + + +// do not edit .js files directly - edit src/index.jst + + + +module.exports = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + if (a.constructor !== b.constructor) return false; + + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (!equal(a[i], b[i])) return false; + return true; } - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor + + + + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + + for (i = length; i-- !== 0;) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + var key = keys[i]; + + if (!equal(a[key], b[key])) return false; } + + return true; } -} + + // true if both NaN, false otherwise + return a!==a && b!==b; +}; /***/ }), @@ -2162,6 +2182,5307 @@ normalizeWheel.getEventType = function() /*string*/ { module.exports = normalizeWheel; +/***/ }), + +/***/ 9122: +/***/ (function(module) { + +var x=String; +var create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x}}; +module.exports=create(); +module.exports.createColors = create; + + +/***/ }), + +/***/ 6807: +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ 5959: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +__webpack_require__(6807); +const postcss_1 = __importDefault(__webpack_require__(4743)); +const PostCSSPlugin_1 = __importDefault(__webpack_require__(6764)); +module.exports = (0, PostCSSPlugin_1.default)(postcss_1.default); + + +/***/ }), + +/***/ 3626: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.prefixWrapCSSSelector = exports.prefixWrapCSSRule = void 0; +const CSSSelector_1 = __webpack_require__(1146); +const prefixWrapCSSRule = (cssRule, nested, ignoredSelectors, prefixSelector, prefixRootTags) => { + // Check each rule to see if it exactly matches our prefix selector, when + // this happens, don't try to prefix that selector. + const rules = cssRule.selector + .split(",") + .filter((selector) => !(0, CSSSelector_1.cssRuleMatchesPrefixSelector)({ selector: selector }, prefixSelector)); + if (rules.length === 0) { + return; + } + cssRule.selector = rules + .map((cssSelector) => (0, exports.prefixWrapCSSSelector)(cssSelector, cssRule, nested, ignoredSelectors, prefixSelector, prefixRootTags)) + .filter(CSSSelector_1.isValidCSSSelector) + .join(", "); +}; +exports.prefixWrapCSSRule = prefixWrapCSSRule; +const prefixWrapCSSSelector = (cssSelector, cssRule, nested, ignoredSelectors, prefixSelector, prefixRootTags) => { + const cleanedSelector = (0, CSSSelector_1.cleanSelector)(cssSelector); + if (cleanedSelector === "") { + return null; + } + // Don't prefix nested selected. + if (nested !== null && cleanedSelector.startsWith(nested, 0)) { + return cleanedSelector; + } + // Do not prefix keyframes rules. + if ((0, CSSSelector_1.isKeyframes)(cssRule)) { + return cleanedSelector; + } + // Check for matching ignored selectors + if (ignoredSelectors.some((currentValue) => cleanedSelector.match(currentValue))) { + return cleanedSelector; + } + // Anything other than a root tag is always prefixed. + if ((0, CSSSelector_1.isNotRootTag)(cleanedSelector)) { + return prefixSelector + " " + cleanedSelector; + } + // Handle special case where root tags should be converted into classes + // rather than being replaced. + if (prefixRootTags) { + return prefixSelector + " ." + cleanedSelector; + } + // HTML and Body elements cannot be contained within our container so lets + // extract their styles. + return cleanedSelector.replace(/^(body|html|:root)/, prefixSelector); +}; +exports.prefixWrapCSSSelector = prefixWrapCSSSelector; + + +/***/ }), + +/***/ 1146: +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.cssRuleMatchesPrefixSelector = exports.isNotRootTag = exports.isKeyframes = exports.cleanSelector = exports.isValidCSSSelector = void 0; +const ANY_WHITESPACE_AT_BEGINNING_OR_END = /(^\s*|\s*$)/g; +const IS_ROOT_TAG = /^(body|html|:root).*$/; +const isValidCSSSelector = (cssSelector) => { + return cssSelector !== null; +}; +exports.isValidCSSSelector = isValidCSSSelector; +const cleanSelector = (cssSelector) => { + return cssSelector.replace(ANY_WHITESPACE_AT_BEGINNING_OR_END, ""); +}; +exports.cleanSelector = cleanSelector; +const isKeyframes = (cssRule) => { + const { parent } = cssRule; + const parentReal = parent; + // @see https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule + return (parent !== undefined && + parentReal.type === "atrule" && + parentReal.name !== undefined && + parentReal.name.match(/keyframes$/) !== null); +}; +exports.isKeyframes = isKeyframes; +const isNotRootTag = (cleanSelector) => { + return !cleanSelector.match(IS_ROOT_TAG); +}; +exports.isNotRootTag = isNotRootTag; +const cssRuleMatchesPrefixSelector = (cssRule, prefixSelector) => { + const escapedPrefixSelector = prefixSelector.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + // eslint-disable-next-line security-node/non-literal-reg-expr + const isPrefixSelector = new RegExp(`^${escapedPrefixSelector}$`); + return isPrefixSelector.test(cssRule.selector); +}; +exports.cssRuleMatchesPrefixSelector = cssRuleMatchesPrefixSelector; + + +/***/ }), + +/***/ 5318: +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.shouldIncludeFilePath = void 0; +const shouldIncludeFilePath = (filePath, whitelist, blacklist) => { + // If whitelist exists, check if rule is contained within it. + if (whitelist.length > 0) { + return (filePath != undefined && + whitelist.some((currentValue) => filePath.match(currentValue))); + } + // If blacklist exists, check if rule is not contained within it. + if (blacklist.length > 0) { + return !(filePath != undefined && + blacklist.some((currentValue) => filePath.match(currentValue))); + } + // In all other cases, presume rule should be prefixed. + return true; +}; +exports.shouldIncludeFilePath = shouldIncludeFilePath; + + +/***/ }), + +/***/ 504: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.asPostCSSv7PluginGenerator = void 0; +const PostCSSPrefixWrap_1 = __importStar(__webpack_require__(6483)); +const asPostCSSv7PluginGenerator = (postcss) => { + return postcss.plugin(PostCSSPrefixWrap_1.PLUGIN_NAME, (prefixSelector, options) => { + return new PostCSSPrefixWrap_1.default(prefixSelector, options).prefix(); + }); +}; +exports.asPostCSSv7PluginGenerator = asPostCSSv7PluginGenerator; + + +/***/ }), + +/***/ 2210: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.asPostCSSv8PluginGenerator = exports.isPostCSSv8 = void 0; +const PostCSSPrefixWrap_1 = __importStar(__webpack_require__(6483)); +const isPostCSSv8 = (postcss) => postcss.Root !== undefined; +exports.isPostCSSv8 = isPostCSSv8; +const asPostCSSv8PluginGenerator = () => { + return (prefixSelector, options) => { + const plugin = new PostCSSPrefixWrap_1.default(prefixSelector, options); + return { + postcssPlugin: PostCSSPrefixWrap_1.PLUGIN_NAME, + Once(root) { + plugin.prefixRoot(root); + }, + }; + }; +}; +exports.asPostCSSv8PluginGenerator = asPostCSSv8PluginGenerator; + + +/***/ }), + +/***/ 6764: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +const PostCSS8Plugin_1 = __webpack_require__(2210); +const PostCSS7Plugin_1 = __webpack_require__(504); +module.exports = (postcss) => { + if ((0, PostCSS8Plugin_1.isPostCSSv8)(postcss)) { + return (0, PostCSS8Plugin_1.asPostCSSv8PluginGenerator)(); + } + else { + return (0, PostCSS7Plugin_1.asPostCSSv7PluginGenerator)(postcss); + } +}; + + +/***/ }), + +/***/ 6483: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.PLUGIN_NAME = void 0; +const CSSRuleWrapper_1 = __webpack_require__(3626); +const FileIncludeList_1 = __webpack_require__(5318); +exports.PLUGIN_NAME = "postcss-prefixwrap"; +class PostCSSPrefixWrap { + blacklist; + ignoredSelectors; + isPrefixSelector; + prefixRootTags; + prefixSelector; + whitelist; + nested; + constructor(prefixSelector, options = {}) { + this.blacklist = options.blacklist ?? []; + this.ignoredSelectors = options.ignoredSelectors ?? []; + this.isPrefixSelector = new RegExp( + // eslint-disable-next-line security-node/non-literal-reg-expr + `^${prefixSelector.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}$`); + this.prefixRootTags = options.prefixRootTags ?? false; + this.prefixSelector = prefixSelector; + this.whitelist = options.whitelist ?? []; + this.nested = options.nested ?? null; + } + prefixRoot(css) { + if ((0, FileIncludeList_1.shouldIncludeFilePath)(css.source?.input?.file, this.whitelist, this.blacklist)) { + css.walkRules((cssRule) => { + (0, CSSRuleWrapper_1.prefixWrapCSSRule)(cssRule, this.nested, this.ignoredSelectors, this.prefixSelector, this.prefixRootTags); + }); + } + } + prefix() { + return (css) => { + this.prefixRoot(css); + }; + } +} +exports["default"] = PostCSSPrefixWrap; + + +/***/ }), + +/***/ 7036: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +const CSSValueParser = __webpack_require__(9069) + +/** + * @type {import('postcss').PluginCreator} + */ +module.exports = (opts) => { + + const DEFAULTS = { + skipHostRelativeUrls: true, + } + const config = Object.assign(DEFAULTS, opts) + + return { + postcssPlugin: 'rebaseUrl', + + Declaration(decl) { + // The faster way to find Declaration node + const parsedValue = CSSValueParser(decl.value) + + let valueChanged = false + parsedValue.walk(node => { + if (node.type !== 'function' || node.value !== 'url') { + return + } + + const urlVal = node.nodes[0].value + + // bases relative URLs with rootUrl + const basedUrl = new URL(urlVal, opts.rootUrl) + + // skip host-relative, already normalized URLs (e.g. `/images/image.jpg`, without `..`s) + if ((basedUrl.pathname === urlVal) && config.skipHostRelativeUrls) { + return false // skip this value + } + + node.nodes[0].value = basedUrl.toString() + valueChanged = true + + return false // do not walk deeper + }) + + if (valueChanged) { + decl.value = CSSValueParser.stringify(parsedValue) + } + + } + } +} + +module.exports.postcss = true + + +/***/ }), + +/***/ 9069: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parse = __webpack_require__(27); +var walk = __webpack_require__(6714); +var stringify = __webpack_require__(6895); + +function ValueParser(value) { + if (this instanceof ValueParser) { + this.nodes = parse(value); + return this; + } + return new ValueParser(value); +} + +ValueParser.prototype.toString = function() { + return Array.isArray(this.nodes) ? stringify(this.nodes) : ""; +}; + +ValueParser.prototype.walk = function(cb, bubble) { + walk(this.nodes, cb, bubble); + return this; +}; + +ValueParser.unit = __webpack_require__(2280); + +ValueParser.walk = walk; + +ValueParser.stringify = stringify; + +module.exports = ValueParser; + + +/***/ }), + +/***/ 27: +/***/ (function(module) { + +var openParentheses = "(".charCodeAt(0); +var closeParentheses = ")".charCodeAt(0); +var singleQuote = "'".charCodeAt(0); +var doubleQuote = '"'.charCodeAt(0); +var backslash = "\\".charCodeAt(0); +var slash = "/".charCodeAt(0); +var comma = ",".charCodeAt(0); +var colon = ":".charCodeAt(0); +var star = "*".charCodeAt(0); +var uLower = "u".charCodeAt(0); +var uUpper = "U".charCodeAt(0); +var plus = "+".charCodeAt(0); +var isUnicodeRange = /^[a-f0-9?-]+$/i; + +module.exports = function(input) { + var tokens = []; + var value = input; + + var next, + quote, + prev, + token, + escape, + escapePos, + whitespacePos, + parenthesesOpenPos; + var pos = 0; + var code = value.charCodeAt(pos); + var max = value.length; + var stack = [{ nodes: tokens }]; + var balanced = 0; + var parent; + + var name = ""; + var before = ""; + var after = ""; + + while (pos < max) { + // Whitespaces + if (code <= 32) { + next = pos; + do { + next += 1; + code = value.charCodeAt(next); + } while (code <= 32); + token = value.slice(pos, next); + + prev = tokens[tokens.length - 1]; + if (code === closeParentheses && balanced) { + after = token; + } else if (prev && prev.type === "div") { + prev.after = token; + prev.sourceEndIndex += token.length; + } else if ( + code === comma || + code === colon || + (code === slash && + value.charCodeAt(next + 1) !== star && + (!parent || + (parent && parent.type === "function" && parent.value !== "calc"))) + ) { + before = token; + } else { + tokens.push({ + type: "space", + sourceIndex: pos, + sourceEndIndex: next, + value: token + }); + } + + pos = next; + + // Quotes + } else if (code === singleQuote || code === doubleQuote) { + next = pos; + quote = code === singleQuote ? "'" : '"'; + token = { + type: "string", + sourceIndex: pos, + quote: quote + }; + do { + escape = false; + next = value.indexOf(quote, next + 1); + if (~next) { + escapePos = next; + while (value.charCodeAt(escapePos - 1) === backslash) { + escapePos -= 1; + escape = !escape; + } + } else { + value += quote; + next = value.length - 1; + token.unclosed = true; + } + } while (escape); + token.value = value.slice(pos + 1, next); + token.sourceEndIndex = token.unclosed ? next : next + 1; + tokens.push(token); + pos = next + 1; + code = value.charCodeAt(pos); + + // Comments + } else if (code === slash && value.charCodeAt(pos + 1) === star) { + next = value.indexOf("*/", pos); + + token = { + type: "comment", + sourceIndex: pos, + sourceEndIndex: next + 2 + }; + + if (next === -1) { + token.unclosed = true; + next = value.length; + token.sourceEndIndex = next; + } + + token.value = value.slice(pos + 2, next); + tokens.push(token); + + pos = next + 2; + code = value.charCodeAt(pos); + + // Operation within calc + } else if ( + (code === slash || code === star) && + parent && + parent.type === "function" && + parent.value === "calc" + ) { + token = value[pos]; + tokens.push({ + type: "word", + sourceIndex: pos - before.length, + sourceEndIndex: pos + token.length, + value: token + }); + pos += 1; + code = value.charCodeAt(pos); + + // Dividers + } else if (code === slash || code === comma || code === colon) { + token = value[pos]; + + tokens.push({ + type: "div", + sourceIndex: pos - before.length, + sourceEndIndex: pos + token.length, + value: token, + before: before, + after: "" + }); + before = ""; + + pos += 1; + code = value.charCodeAt(pos); + + // Open parentheses + } else if (openParentheses === code) { + // Whitespaces after open parentheses + next = pos; + do { + next += 1; + code = value.charCodeAt(next); + } while (code <= 32); + parenthesesOpenPos = pos; + token = { + type: "function", + sourceIndex: pos - name.length, + value: name, + before: value.slice(parenthesesOpenPos + 1, next) + }; + pos = next; + + if (name === "url" && code !== singleQuote && code !== doubleQuote) { + next -= 1; + do { + escape = false; + next = value.indexOf(")", next + 1); + if (~next) { + escapePos = next; + while (value.charCodeAt(escapePos - 1) === backslash) { + escapePos -= 1; + escape = !escape; + } + } else { + value += ")"; + next = value.length - 1; + token.unclosed = true; + } + } while (escape); + // Whitespaces before closed + whitespacePos = next; + do { + whitespacePos -= 1; + code = value.charCodeAt(whitespacePos); + } while (code <= 32); + if (parenthesesOpenPos < whitespacePos) { + if (pos !== whitespacePos + 1) { + token.nodes = [ + { + type: "word", + sourceIndex: pos, + sourceEndIndex: whitespacePos + 1, + value: value.slice(pos, whitespacePos + 1) + } + ]; + } else { + token.nodes = []; + } + if (token.unclosed && whitespacePos + 1 !== next) { + token.after = ""; + token.nodes.push({ + type: "space", + sourceIndex: whitespacePos + 1, + sourceEndIndex: next, + value: value.slice(whitespacePos + 1, next) + }); + } else { + token.after = value.slice(whitespacePos + 1, next); + token.sourceEndIndex = next; + } + } else { + token.after = ""; + token.nodes = []; + } + pos = next + 1; + token.sourceEndIndex = token.unclosed ? next : pos; + code = value.charCodeAt(pos); + tokens.push(token); + } else { + balanced += 1; + token.after = ""; + token.sourceEndIndex = pos + 1; + tokens.push(token); + stack.push(token); + tokens = token.nodes = []; + parent = token; + } + name = ""; + + // Close parentheses + } else if (closeParentheses === code && balanced) { + pos += 1; + code = value.charCodeAt(pos); + + parent.after = after; + parent.sourceEndIndex += after.length; + after = ""; + balanced -= 1; + stack[stack.length - 1].sourceEndIndex = pos; + stack.pop(); + parent = stack[balanced]; + tokens = parent.nodes; + + // Words + } else { + next = pos; + do { + if (code === backslash) { + next += 1; + } + next += 1; + code = value.charCodeAt(next); + } while ( + next < max && + !( + code <= 32 || + code === singleQuote || + code === doubleQuote || + code === comma || + code === colon || + code === slash || + code === openParentheses || + (code === star && + parent && + parent.type === "function" && + parent.value === "calc") || + (code === slash && + parent.type === "function" && + parent.value === "calc") || + (code === closeParentheses && balanced) + ) + ); + token = value.slice(pos, next); + + if (openParentheses === code) { + name = token; + } else if ( + (uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) && + plus === token.charCodeAt(1) && + isUnicodeRange.test(token.slice(2)) + ) { + tokens.push({ + type: "unicode-range", + sourceIndex: pos, + sourceEndIndex: next, + value: token + }); + } else { + tokens.push({ + type: "word", + sourceIndex: pos, + sourceEndIndex: next, + value: token + }); + } + + pos = next; + } + } + + for (pos = stack.length - 1; pos; pos -= 1) { + stack[pos].unclosed = true; + stack[pos].sourceEndIndex = value.length; + } + + return stack[0].nodes; +}; + + +/***/ }), + +/***/ 6895: +/***/ (function(module) { + +function stringifyNode(node, custom) { + var type = node.type; + var value = node.value; + var buf; + var customResult; + + if (custom && (customResult = custom(node)) !== undefined) { + return customResult; + } else if (type === "word" || type === "space") { + return value; + } else if (type === "string") { + buf = node.quote || ""; + return buf + value + (node.unclosed ? "" : buf); + } else if (type === "comment") { + return "/*" + value + (node.unclosed ? "" : "*/"); + } else if (type === "div") { + return (node.before || "") + value + (node.after || ""); + } else if (Array.isArray(node.nodes)) { + buf = stringify(node.nodes, custom); + if (type !== "function") { + return buf; + } + return ( + value + + "(" + + (node.before || "") + + buf + + (node.after || "") + + (node.unclosed ? "" : ")") + ); + } + return value; +} + +function stringify(nodes, custom) { + var result, i; + + if (Array.isArray(nodes)) { + result = ""; + for (i = nodes.length - 1; ~i; i -= 1) { + result = stringifyNode(nodes[i], custom) + result; + } + return result; + } + return stringifyNode(nodes, custom); +} + +module.exports = stringify; + + +/***/ }), + +/***/ 2280: +/***/ (function(module) { + +var minus = "-".charCodeAt(0); +var plus = "+".charCodeAt(0); +var dot = ".".charCodeAt(0); +var exp = "e".charCodeAt(0); +var EXP = "E".charCodeAt(0); + +// Check if three code points would start a number +// https://www.w3.org/TR/css-syntax-3/#starts-with-a-number +function likeNumber(value) { + var code = value.charCodeAt(0); + var nextCode; + + if (code === plus || code === minus) { + nextCode = value.charCodeAt(1); + + if (nextCode >= 48 && nextCode <= 57) { + return true; + } + + var nextNextCode = value.charCodeAt(2); + + if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) { + return true; + } + + return false; + } + + if (code === dot) { + nextCode = value.charCodeAt(1); + + if (nextCode >= 48 && nextCode <= 57) { + return true; + } + + return false; + } + + if (code >= 48 && code <= 57) { + return true; + } + + return false; +} + +// Consume a number +// https://www.w3.org/TR/css-syntax-3/#consume-number +module.exports = function(value) { + var pos = 0; + var length = value.length; + var code; + var nextCode; + var nextNextCode; + + if (length === 0 || !likeNumber(value)) { + return false; + } + + code = value.charCodeAt(pos); + + if (code === plus || code === minus) { + pos++; + } + + while (pos < length) { + code = value.charCodeAt(pos); + + if (code < 48 || code > 57) { + break; + } + + pos += 1; + } + + code = value.charCodeAt(pos); + nextCode = value.charCodeAt(pos + 1); + + if (code === dot && nextCode >= 48 && nextCode <= 57) { + pos += 2; + + while (pos < length) { + code = value.charCodeAt(pos); + + if (code < 48 || code > 57) { + break; + } + + pos += 1; + } + } + + code = value.charCodeAt(pos); + nextCode = value.charCodeAt(pos + 1); + nextNextCode = value.charCodeAt(pos + 2); + + if ( + (code === exp || code === EXP) && + ((nextCode >= 48 && nextCode <= 57) || + ((nextCode === plus || nextCode === minus) && + nextNextCode >= 48 && + nextNextCode <= 57)) + ) { + pos += nextCode === plus || nextCode === minus ? 3 : 2; + + while (pos < length) { + code = value.charCodeAt(pos); + + if (code < 48 || code > 57) { + break; + } + + pos += 1; + } + } + + return { + number: value.slice(0, pos), + unit: value.slice(pos) + }; +}; + + +/***/ }), + +/***/ 6714: +/***/ (function(module) { + +module.exports = function walk(nodes, cb, bubble) { + var i, max, node, result; + + for (i = 0, max = nodes.length; i < max; i += 1) { + node = nodes[i]; + if (!bubble) { + result = cb(node, i, nodes); + } + + if ( + result !== false && + node.type === "function" && + Array.isArray(node.nodes) + ) { + walk(node.nodes, cb, bubble); + } + + if (bubble) { + cb(node, i, nodes); + } + } +}; + + +/***/ }), + +/***/ 2433: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let Container = __webpack_require__(9795) + +class AtRule extends Container { + constructor(defaults) { + super(defaults) + this.type = 'atrule' + } + + append(...children) { + if (!this.proxyOf.nodes) this.nodes = [] + return super.append(...children) + } + + prepend(...children) { + if (!this.proxyOf.nodes) this.nodes = [] + return super.prepend(...children) + } +} + +module.exports = AtRule +AtRule.default = AtRule + +Container.registerAtRule(AtRule) + + +/***/ }), + +/***/ 9882: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let Node = __webpack_require__(8753) + +class Comment extends Node { + constructor(defaults) { + super(defaults) + this.type = 'comment' + } +} + +module.exports = Comment +Comment.default = Comment + + +/***/ }), + +/***/ 9795: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let { isClean, my } = __webpack_require__(3719) +let Declaration = __webpack_require__(5818) +let Comment = __webpack_require__(9882) +let Node = __webpack_require__(8753) + +let parse, Rule, AtRule, Root + +function cleanSource(nodes) { + return nodes.map(i => { + if (i.nodes) i.nodes = cleanSource(i.nodes) + delete i.source + return i + }) +} + +function markDirtyUp(node) { + node[isClean] = false + if (node.proxyOf.nodes) { + for (let i of node.proxyOf.nodes) { + markDirtyUp(i) + } + } +} + +class Container extends Node { + append(...children) { + for (let child of children) { + let nodes = this.normalize(child, this.last) + for (let node of nodes) this.proxyOf.nodes.push(node) + } + + this.markDirty() + + return this + } + + cleanRaws(keepBetween) { + super.cleanRaws(keepBetween) + if (this.nodes) { + for (let node of this.nodes) node.cleanRaws(keepBetween) + } + } + + each(callback) { + if (!this.proxyOf.nodes) return undefined + let iterator = this.getIterator() + + let index, result + while (this.indexes[iterator] < this.proxyOf.nodes.length) { + index = this.indexes[iterator] + result = callback(this.proxyOf.nodes[index], index) + if (result === false) break + + this.indexes[iterator] += 1 + } + + delete this.indexes[iterator] + return result + } + + every(condition) { + return this.nodes.every(condition) + } + + getIterator() { + if (!this.lastEach) this.lastEach = 0 + if (!this.indexes) this.indexes = {} + + this.lastEach += 1 + let iterator = this.lastEach + this.indexes[iterator] = 0 + + return iterator + } + + getProxyProcessor() { + return { + get(node, prop) { + if (prop === 'proxyOf') { + return node + } else if (!node[prop]) { + return node[prop] + } else if ( + prop === 'each' || + (typeof prop === 'string' && prop.startsWith('walk')) + ) { + return (...args) => { + return node[prop]( + ...args.map(i => { + if (typeof i === 'function') { + return (child, index) => i(child.toProxy(), index) + } else { + return i + } + }) + ) + } + } else if (prop === 'every' || prop === 'some') { + return cb => { + return node[prop]((child, ...other) => + cb(child.toProxy(), ...other) + ) + } + } else if (prop === 'root') { + return () => node.root().toProxy() + } else if (prop === 'nodes') { + return node.nodes.map(i => i.toProxy()) + } else if (prop === 'first' || prop === 'last') { + return node[prop].toProxy() + } else { + return node[prop] + } + }, + + set(node, prop, value) { + if (node[prop] === value) return true + node[prop] = value + if (prop === 'name' || prop === 'params' || prop === 'selector') { + node.markDirty() + } + return true + } + } + } + + index(child) { + if (typeof child === 'number') return child + if (child.proxyOf) child = child.proxyOf + return this.proxyOf.nodes.indexOf(child) + } + + insertAfter(exist, add) { + let existIndex = this.index(exist) + let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse() + existIndex = this.index(exist) + for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node) + + let index + for (let id in this.indexes) { + index = this.indexes[id] + if (existIndex < index) { + this.indexes[id] = index + nodes.length + } + } + + this.markDirty() + + return this + } + + insertBefore(exist, add) { + let existIndex = this.index(exist) + let type = existIndex === 0 ? 'prepend' : false + let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse() + existIndex = this.index(exist) + for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node) + + let index + for (let id in this.indexes) { + index = this.indexes[id] + if (existIndex <= index) { + this.indexes[id] = index + nodes.length + } + } + + this.markDirty() + + return this + } + + normalize(nodes, sample) { + if (typeof nodes === 'string') { + nodes = cleanSource(parse(nodes).nodes) + } else if (Array.isArray(nodes)) { + nodes = nodes.slice(0) + for (let i of nodes) { + if (i.parent) i.parent.removeChild(i, 'ignore') + } + } else if (nodes.type === 'root' && this.type !== 'document') { + nodes = nodes.nodes.slice(0) + for (let i of nodes) { + if (i.parent) i.parent.removeChild(i, 'ignore') + } + } else if (nodes.type) { + nodes = [nodes] + } else if (nodes.prop) { + if (typeof nodes.value === 'undefined') { + throw new Error('Value field is missed in node creation') + } else if (typeof nodes.value !== 'string') { + nodes.value = String(nodes.value) + } + nodes = [new Declaration(nodes)] + } else if (nodes.selector) { + nodes = [new Rule(nodes)] + } else if (nodes.name) { + nodes = [new AtRule(nodes)] + } else if (nodes.text) { + nodes = [new Comment(nodes)] + } else { + throw new Error('Unknown node type in node creation') + } + + let processed = nodes.map(i => { + /* c8 ignore next */ + if (!i[my]) Container.rebuild(i) + i = i.proxyOf + if (i.parent) i.parent.removeChild(i) + if (i[isClean]) markDirtyUp(i) + if (typeof i.raws.before === 'undefined') { + if (sample && typeof sample.raws.before !== 'undefined') { + i.raws.before = sample.raws.before.replace(/\S/g, '') + } + } + i.parent = this.proxyOf + return i + }) + + return processed + } + + prepend(...children) { + children = children.reverse() + for (let child of children) { + let nodes = this.normalize(child, this.first, 'prepend').reverse() + for (let node of nodes) this.proxyOf.nodes.unshift(node) + for (let id in this.indexes) { + this.indexes[id] = this.indexes[id] + nodes.length + } + } + + this.markDirty() + + return this + } + + push(child) { + child.parent = this + this.proxyOf.nodes.push(child) + return this + } + + removeAll() { + for (let node of this.proxyOf.nodes) node.parent = undefined + this.proxyOf.nodes = [] + + this.markDirty() + + return this + } + + removeChild(child) { + child = this.index(child) + this.proxyOf.nodes[child].parent = undefined + this.proxyOf.nodes.splice(child, 1) + + let index + for (let id in this.indexes) { + index = this.indexes[id] + if (index >= child) { + this.indexes[id] = index - 1 + } + } + + this.markDirty() + + return this + } + + replaceValues(pattern, opts, callback) { + if (!callback) { + callback = opts + opts = {} + } + + this.walkDecls(decl => { + if (opts.props && !opts.props.includes(decl.prop)) return + if (opts.fast && !decl.value.includes(opts.fast)) return + + decl.value = decl.value.replace(pattern, callback) + }) + + this.markDirty() + + return this + } + + some(condition) { + return this.nodes.some(condition) + } + + walk(callback) { + return this.each((child, i) => { + let result + try { + result = callback(child, i) + } catch (e) { + throw child.addToError(e) + } + if (result !== false && child.walk) { + result = child.walk(callback) + } + + return result + }) + } + + walkAtRules(name, callback) { + if (!callback) { + callback = name + return this.walk((child, i) => { + if (child.type === 'atrule') { + return callback(child, i) + } + }) + } + if (name instanceof RegExp) { + return this.walk((child, i) => { + if (child.type === 'atrule' && name.test(child.name)) { + return callback(child, i) + } + }) + } + return this.walk((child, i) => { + if (child.type === 'atrule' && child.name === name) { + return callback(child, i) + } + }) + } + + walkComments(callback) { + return this.walk((child, i) => { + if (child.type === 'comment') { + return callback(child, i) + } + }) + } + + walkDecls(prop, callback) { + if (!callback) { + callback = prop + return this.walk((child, i) => { + if (child.type === 'decl') { + return callback(child, i) + } + }) + } + if (prop instanceof RegExp) { + return this.walk((child, i) => { + if (child.type === 'decl' && prop.test(child.prop)) { + return callback(child, i) + } + }) + } + return this.walk((child, i) => { + if (child.type === 'decl' && child.prop === prop) { + return callback(child, i) + } + }) + } + + walkRules(selector, callback) { + if (!callback) { + callback = selector + + return this.walk((child, i) => { + if (child.type === 'rule') { + return callback(child, i) + } + }) + } + if (selector instanceof RegExp) { + return this.walk((child, i) => { + if (child.type === 'rule' && selector.test(child.selector)) { + return callback(child, i) + } + }) + } + return this.walk((child, i) => { + if (child.type === 'rule' && child.selector === selector) { + return callback(child, i) + } + }) + } + + get first() { + if (!this.proxyOf.nodes) return undefined + return this.proxyOf.nodes[0] + } + + get last() { + if (!this.proxyOf.nodes) return undefined + return this.proxyOf.nodes[this.proxyOf.nodes.length - 1] + } +} + +Container.registerParse = dependant => { + parse = dependant +} + +Container.registerRule = dependant => { + Rule = dependant +} + +Container.registerAtRule = dependant => { + AtRule = dependant +} + +Container.registerRoot = dependant => { + Root = dependant +} + +module.exports = Container +Container.default = Container + +/* c8 ignore start */ +Container.rebuild = node => { + if (node.type === 'atrule') { + Object.setPrototypeOf(node, AtRule.prototype) + } else if (node.type === 'rule') { + Object.setPrototypeOf(node, Rule.prototype) + } else if (node.type === 'decl') { + Object.setPrototypeOf(node, Declaration.prototype) + } else if (node.type === 'comment') { + Object.setPrototypeOf(node, Comment.prototype) + } else if (node.type === 'root') { + Object.setPrototypeOf(node, Root.prototype) + } + + node[my] = true + + if (node.nodes) { + node.nodes.forEach(child => { + Container.rebuild(child) + }) + } +} +/* c8 ignore stop */ + + +/***/ }), + +/***/ 8743: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let pico = __webpack_require__(9122) + +let terminalHighlight = __webpack_require__(2868) + +class CssSyntaxError extends Error { + constructor(message, line, column, source, file, plugin) { + super(message) + this.name = 'CssSyntaxError' + this.reason = message + + if (file) { + this.file = file + } + if (source) { + this.source = source + } + if (plugin) { + this.plugin = plugin + } + if (typeof line !== 'undefined' && typeof column !== 'undefined') { + if (typeof line === 'number') { + this.line = line + this.column = column + } else { + this.line = line.line + this.column = line.column + this.endLine = column.line + this.endColumn = column.column + } + } + + this.setMessage() + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, CssSyntaxError) + } + } + + setMessage() { + this.message = this.plugin ? this.plugin + ': ' : '' + this.message += this.file ? this.file : '' + if (typeof this.line !== 'undefined') { + this.message += ':' + this.line + ':' + this.column + } + this.message += ': ' + this.reason + } + + showSourceCode(color) { + if (!this.source) return '' + + let css = this.source + if (color == null) color = pico.isColorSupported + if (terminalHighlight) { + if (color) css = terminalHighlight(css) + } + + let lines = css.split(/\r?\n/) + let start = Math.max(this.line - 3, 0) + let end = Math.min(this.line + 2, lines.length) + + let maxWidth = String(end).length + + let mark, aside + if (color) { + let { bold, gray, red } = pico.createColors(true) + mark = text => bold(red(text)) + aside = text => gray(text) + } else { + mark = aside = str => str + } + + return lines + .slice(start, end) + .map((line, index) => { + let number = start + 1 + index + let gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | ' + if (number === this.line) { + let spacing = + aside(gutter.replace(/\d/g, ' ')) + + line.slice(0, this.column - 1).replace(/[^\t]/g, ' ') + return mark('>') + aside(gutter) + line + '\n ' + spacing + mark('^') + } + return ' ' + aside(gutter) + line + }) + .join('\n') + } + + toString() { + let code = this.showSourceCode() + if (code) { + code = '\n\n' + code + '\n' + } + return this.name + ': ' + this.message + code + } +} + +module.exports = CssSyntaxError +CssSyntaxError.default = CssSyntaxError + + +/***/ }), + +/***/ 5818: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let Node = __webpack_require__(8753) + +class Declaration extends Node { + constructor(defaults) { + if ( + defaults && + typeof defaults.value !== 'undefined' && + typeof defaults.value !== 'string' + ) { + defaults = { ...defaults, value: String(defaults.value) } + } + super(defaults) + this.type = 'decl' + } + + get variable() { + return this.prop.startsWith('--') || this.prop[0] === '$' + } +} + +module.exports = Declaration +Declaration.default = Declaration + + +/***/ }), + +/***/ 3866: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let Container = __webpack_require__(9795) + +let LazyResult, Processor + +class Document extends Container { + constructor(defaults) { + // type needs to be passed to super, otherwise child roots won't be normalized correctly + super({ type: 'document', ...defaults }) + + if (!this.nodes) { + this.nodes = [] + } + } + + toResult(opts = {}) { + let lazy = new LazyResult(new Processor(), this, opts) + + return lazy.stringify() + } +} + +Document.registerLazyResult = dependant => { + LazyResult = dependant +} + +Document.registerProcessor = dependant => { + Processor = dependant +} + +module.exports = Document +Document.default = Document + + +/***/ }), + +/***/ 3667: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let Declaration = __webpack_require__(5818) +let PreviousMap = __webpack_require__(2393) +let Comment = __webpack_require__(9882) +let AtRule = __webpack_require__(2433) +let Input = __webpack_require__(9961) +let Root = __webpack_require__(3823) +let Rule = __webpack_require__(5871) + +function fromJSON(json, inputs) { + if (Array.isArray(json)) return json.map(n => fromJSON(n)) + + let { inputs: ownInputs, ...defaults } = json + if (ownInputs) { + inputs = [] + for (let input of ownInputs) { + let inputHydrated = { ...input, __proto__: Input.prototype } + if (inputHydrated.map) { + inputHydrated.map = { + ...inputHydrated.map, + __proto__: PreviousMap.prototype + } + } + inputs.push(inputHydrated) + } + } + if (defaults.nodes) { + defaults.nodes = json.nodes.map(n => fromJSON(n, inputs)) + } + if (defaults.source) { + let { inputId, ...source } = defaults.source + defaults.source = source + if (inputId != null) { + defaults.source.input = inputs[inputId] + } + } + if (defaults.type === 'root') { + return new Root(defaults) + } else if (defaults.type === 'decl') { + return new Declaration(defaults) + } else if (defaults.type === 'rule') { + return new Rule(defaults) + } else if (defaults.type === 'comment') { + return new Comment(defaults) + } else if (defaults.type === 'atrule') { + return new AtRule(defaults) + } else { + throw new Error('Unknown node type: ' + json.type) + } +} + +module.exports = fromJSON +fromJSON.default = fromJSON + + +/***/ }), + +/***/ 9961: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let { SourceMapConsumer, SourceMapGenerator } = __webpack_require__(209) +let { fileURLToPath, pathToFileURL } = __webpack_require__(7414) +let { isAbsolute, resolve } = __webpack_require__(9830) +let { nanoid } = __webpack_require__(2961) + +let terminalHighlight = __webpack_require__(2868) +let CssSyntaxError = __webpack_require__(8743) +let PreviousMap = __webpack_require__(2393) + +let fromOffsetCache = Symbol('fromOffsetCache') + +let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator) +let pathAvailable = Boolean(resolve && isAbsolute) + +class Input { + constructor(css, opts = {}) { + if ( + css === null || + typeof css === 'undefined' || + (typeof css === 'object' && !css.toString) + ) { + throw new Error(`PostCSS received ${css} instead of CSS string`) + } + + this.css = css.toString() + + if (this.css[0] === '\uFEFF' || this.css[0] === '\uFFFE') { + this.hasBOM = true + this.css = this.css.slice(1) + } else { + this.hasBOM = false + } + + if (opts.from) { + if ( + !pathAvailable || + /^\w+:\/\//.test(opts.from) || + isAbsolute(opts.from) + ) { + this.file = opts.from + } else { + this.file = resolve(opts.from) + } + } + + if (pathAvailable && sourceMapAvailable) { + let map = new PreviousMap(this.css, opts) + if (map.text) { + this.map = map + let file = map.consumer().file + if (!this.file && file) this.file = this.mapResolve(file) + } + } + + if (!this.file) { + this.id = '' + } + if (this.map) this.map.file = this.from + } + + error(message, line, column, opts = {}) { + let result, endLine, endColumn + + if (line && typeof line === 'object') { + let start = line + let end = column + if (typeof start.offset === 'number') { + let pos = this.fromOffset(start.offset) + line = pos.line + column = pos.col + } else { + line = start.line + column = start.column + } + if (typeof end.offset === 'number') { + let pos = this.fromOffset(end.offset) + endLine = pos.line + endColumn = pos.col + } else { + endLine = end.line + endColumn = end.column + } + } else if (!column) { + let pos = this.fromOffset(line) + line = pos.line + column = pos.col + } + + let origin = this.origin(line, column, endLine, endColumn) + if (origin) { + result = new CssSyntaxError( + message, + origin.endLine === undefined + ? origin.line + : { column: origin.column, line: origin.line }, + origin.endLine === undefined + ? origin.column + : { column: origin.endColumn, line: origin.endLine }, + origin.source, + origin.file, + opts.plugin + ) + } else { + result = new CssSyntaxError( + message, + endLine === undefined ? line : { column, line }, + endLine === undefined ? column : { column: endColumn, line: endLine }, + this.css, + this.file, + opts.plugin + ) + } + + result.input = { column, endColumn, endLine, line, source: this.css } + if (this.file) { + if (pathToFileURL) { + result.input.url = pathToFileURL(this.file).toString() + } + result.input.file = this.file + } + + return result + } + + fromOffset(offset) { + let lastLine, lineToIndex + if (!this[fromOffsetCache]) { + let lines = this.css.split('\n') + lineToIndex = new Array(lines.length) + let prevIndex = 0 + + for (let i = 0, l = lines.length; i < l; i++) { + lineToIndex[i] = prevIndex + prevIndex += lines[i].length + 1 + } + + this[fromOffsetCache] = lineToIndex + } else { + lineToIndex = this[fromOffsetCache] + } + lastLine = lineToIndex[lineToIndex.length - 1] + + let min = 0 + if (offset >= lastLine) { + min = lineToIndex.length - 1 + } else { + let max = lineToIndex.length - 2 + let mid + while (min < max) { + mid = min + ((max - min) >> 1) + if (offset < lineToIndex[mid]) { + max = mid - 1 + } else if (offset >= lineToIndex[mid + 1]) { + min = mid + 1 + } else { + min = mid + break + } + } + } + return { + col: offset - lineToIndex[min] + 1, + line: min + 1 + } + } + + mapResolve(file) { + if (/^\w+:\/\//.test(file)) { + return file + } + return resolve(this.map.consumer().sourceRoot || this.map.root || '.', file) + } + + origin(line, column, endLine, endColumn) { + if (!this.map) return false + let consumer = this.map.consumer() + + let from = consumer.originalPositionFor({ column, line }) + if (!from.source) return false + + let to + if (typeof endLine === 'number') { + to = consumer.originalPositionFor({ column: endColumn, line: endLine }) + } + + let fromUrl + + if (isAbsolute(from.source)) { + fromUrl = pathToFileURL(from.source) + } else { + fromUrl = new URL( + from.source, + this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile) + ) + } + + let result = { + column: from.column, + endColumn: to && to.column, + endLine: to && to.line, + line: from.line, + url: fromUrl.toString() + } + + if (fromUrl.protocol === 'file:') { + if (fileURLToPath) { + result.file = fileURLToPath(fromUrl) + } else { + /* c8 ignore next 2 */ + throw new Error(`file: protocol is not available in this PostCSS build`) + } + } + + let source = consumer.sourceContentFor(from.source) + if (source) result.source = source + + return result + } + + toJSON() { + let json = {} + for (let name of ['hasBOM', 'css', 'file', 'id']) { + if (this[name] != null) { + json[name] = this[name] + } + } + if (this.map) { + json.map = { ...this.map } + if (json.map.consumerCache) { + json.map.consumerCache = undefined + } + } + return json + } + + get from() { + return this.file || this.id + } +} + +module.exports = Input +Input.default = Input + +if (terminalHighlight && terminalHighlight.registerInput) { + terminalHighlight.registerInput(Input) +} + + +/***/ }), + +/***/ 3993: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let { isClean, my } = __webpack_require__(3719) +let MapGenerator = __webpack_require__(2491) +let stringify = __webpack_require__(2530) +let Container = __webpack_require__(9795) +let Document = __webpack_require__(3866) +let warnOnce = __webpack_require__(7892) +let Result = __webpack_require__(2072) +let parse = __webpack_require__(9301) +let Root = __webpack_require__(3823) + +const TYPE_TO_CLASS_NAME = { + atrule: 'AtRule', + comment: 'Comment', + decl: 'Declaration', + document: 'Document', + root: 'Root', + rule: 'Rule' +} + +const PLUGIN_PROPS = { + AtRule: true, + AtRuleExit: true, + Comment: true, + CommentExit: true, + Declaration: true, + DeclarationExit: true, + Document: true, + DocumentExit: true, + Once: true, + OnceExit: true, + postcssPlugin: true, + prepare: true, + Root: true, + RootExit: true, + Rule: true, + RuleExit: true +} + +const NOT_VISITORS = { + Once: true, + postcssPlugin: true, + prepare: true +} + +const CHILDREN = 0 + +function isPromise(obj) { + return typeof obj === 'object' && typeof obj.then === 'function' +} + +function getEvents(node) { + let key = false + let type = TYPE_TO_CLASS_NAME[node.type] + if (node.type === 'decl') { + key = node.prop.toLowerCase() + } else if (node.type === 'atrule') { + key = node.name.toLowerCase() + } + + if (key && node.append) { + return [ + type, + type + '-' + key, + CHILDREN, + type + 'Exit', + type + 'Exit-' + key + ] + } else if (key) { + return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key] + } else if (node.append) { + return [type, CHILDREN, type + 'Exit'] + } else { + return [type, type + 'Exit'] + } +} + +function toStack(node) { + let events + if (node.type === 'document') { + events = ['Document', CHILDREN, 'DocumentExit'] + } else if (node.type === 'root') { + events = ['Root', CHILDREN, 'RootExit'] + } else { + events = getEvents(node) + } + + return { + eventIndex: 0, + events, + iterator: 0, + node, + visitorIndex: 0, + visitors: [] + } +} + +function cleanMarks(node) { + node[isClean] = false + if (node.nodes) node.nodes.forEach(i => cleanMarks(i)) + return node +} + +let postcss = {} + +class LazyResult { + constructor(processor, css, opts) { + this.stringified = false + this.processed = false + + let root + if ( + typeof css === 'object' && + css !== null && + (css.type === 'root' || css.type === 'document') + ) { + root = cleanMarks(css) + } else if (css instanceof LazyResult || css instanceof Result) { + root = cleanMarks(css.root) + if (css.map) { + if (typeof opts.map === 'undefined') opts.map = {} + if (!opts.map.inline) opts.map.inline = false + opts.map.prev = css.map + } + } else { + let parser = parse + if (opts.syntax) parser = opts.syntax.parse + if (opts.parser) parser = opts.parser + if (parser.parse) parser = parser.parse + + try { + root = parser(css, opts) + } catch (error) { + this.processed = true + this.error = error + } + + if (root && !root[my]) { + /* c8 ignore next 2 */ + Container.rebuild(root) + } + } + + this.result = new Result(processor, root, opts) + this.helpers = { ...postcss, postcss, result: this.result } + this.plugins = this.processor.plugins.map(plugin => { + if (typeof plugin === 'object' && plugin.prepare) { + return { ...plugin, ...plugin.prepare(this.result) } + } else { + return plugin + } + }) + } + + async() { + if (this.error) return Promise.reject(this.error) + if (this.processed) return Promise.resolve(this.result) + if (!this.processing) { + this.processing = this.runAsync() + } + return this.processing + } + + catch(onRejected) { + return this.async().catch(onRejected) + } + + finally(onFinally) { + return this.async().then(onFinally, onFinally) + } + + getAsyncError() { + throw new Error('Use process(css).then(cb) to work with async plugins') + } + + handleError(error, node) { + let plugin = this.result.lastPlugin + try { + if (node) node.addToError(error) + this.error = error + if (error.name === 'CssSyntaxError' && !error.plugin) { + error.plugin = plugin.postcssPlugin + error.setMessage() + } else if (plugin.postcssVersion) { + if (false) {} + } + } catch (err) { + /* c8 ignore next 3 */ + // eslint-disable-next-line no-console + if (console && console.error) console.error(err) + } + return error + } + + prepareVisitors() { + this.listeners = {} + let add = (plugin, type, cb) => { + if (!this.listeners[type]) this.listeners[type] = [] + this.listeners[type].push([plugin, cb]) + } + for (let plugin of this.plugins) { + if (typeof plugin === 'object') { + for (let event in plugin) { + if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) { + throw new Error( + `Unknown event ${event} in ${plugin.postcssPlugin}. ` + + `Try to update PostCSS (${this.processor.version} now).` + ) + } + if (!NOT_VISITORS[event]) { + if (typeof plugin[event] === 'object') { + for (let filter in plugin[event]) { + if (filter === '*') { + add(plugin, event, plugin[event][filter]) + } else { + add( + plugin, + event + '-' + filter.toLowerCase(), + plugin[event][filter] + ) + } + } + } else if (typeof plugin[event] === 'function') { + add(plugin, event, plugin[event]) + } + } + } + } + } + this.hasListener = Object.keys(this.listeners).length > 0 + } + + async runAsync() { + this.plugin = 0 + for (let i = 0; i < this.plugins.length; i++) { + let plugin = this.plugins[i] + let promise = this.runOnRoot(plugin) + if (isPromise(promise)) { + try { + await promise + } catch (error) { + throw this.handleError(error) + } + } + } + + this.prepareVisitors() + if (this.hasListener) { + let root = this.result.root + while (!root[isClean]) { + root[isClean] = true + let stack = [toStack(root)] + while (stack.length > 0) { + let promise = this.visitTick(stack) + if (isPromise(promise)) { + try { + await promise + } catch (e) { + let node = stack[stack.length - 1].node + throw this.handleError(e, node) + } + } + } + } + + if (this.listeners.OnceExit) { + for (let [plugin, visitor] of this.listeners.OnceExit) { + this.result.lastPlugin = plugin + try { + if (root.type === 'document') { + let roots = root.nodes.map(subRoot => + visitor(subRoot, this.helpers) + ) + + await Promise.all(roots) + } else { + await visitor(root, this.helpers) + } + } catch (e) { + throw this.handleError(e) + } + } + } + } + + this.processed = true + return this.stringify() + } + + runOnRoot(plugin) { + this.result.lastPlugin = plugin + try { + if (typeof plugin === 'object' && plugin.Once) { + if (this.result.root.type === 'document') { + let roots = this.result.root.nodes.map(root => + plugin.Once(root, this.helpers) + ) + + if (isPromise(roots[0])) { + return Promise.all(roots) + } + + return roots + } + + return plugin.Once(this.result.root, this.helpers) + } else if (typeof plugin === 'function') { + return plugin(this.result.root, this.result) + } + } catch (error) { + throw this.handleError(error) + } + } + + stringify() { + if (this.error) throw this.error + if (this.stringified) return this.result + this.stringified = true + + this.sync() + + let opts = this.result.opts + let str = stringify + if (opts.syntax) str = opts.syntax.stringify + if (opts.stringifier) str = opts.stringifier + if (str.stringify) str = str.stringify + + let map = new MapGenerator(str, this.result.root, this.result.opts) + let data = map.generate() + this.result.css = data[0] + this.result.map = data[1] + + return this.result + } + + sync() { + if (this.error) throw this.error + if (this.processed) return this.result + this.processed = true + + if (this.processing) { + throw this.getAsyncError() + } + + for (let plugin of this.plugins) { + let promise = this.runOnRoot(plugin) + if (isPromise(promise)) { + throw this.getAsyncError() + } + } + + this.prepareVisitors() + if (this.hasListener) { + let root = this.result.root + while (!root[isClean]) { + root[isClean] = true + this.walkSync(root) + } + if (this.listeners.OnceExit) { + if (root.type === 'document') { + for (let subRoot of root.nodes) { + this.visitSync(this.listeners.OnceExit, subRoot) + } + } else { + this.visitSync(this.listeners.OnceExit, root) + } + } + } + + return this.result + } + + then(onFulfilled, onRejected) { + if (false) {} + return this.async().then(onFulfilled, onRejected) + } + + toString() { + return this.css + } + + visitSync(visitors, node) { + for (let [plugin, visitor] of visitors) { + this.result.lastPlugin = plugin + let promise + try { + promise = visitor(node, this.helpers) + } catch (e) { + throw this.handleError(e, node.proxyOf) + } + if (node.type !== 'root' && node.type !== 'document' && !node.parent) { + return true + } + if (isPromise(promise)) { + throw this.getAsyncError() + } + } + } + + visitTick(stack) { + let visit = stack[stack.length - 1] + let { node, visitors } = visit + + if (node.type !== 'root' && node.type !== 'document' && !node.parent) { + stack.pop() + return + } + + if (visitors.length > 0 && visit.visitorIndex < visitors.length) { + let [plugin, visitor] = visitors[visit.visitorIndex] + visit.visitorIndex += 1 + if (visit.visitorIndex === visitors.length) { + visit.visitors = [] + visit.visitorIndex = 0 + } + this.result.lastPlugin = plugin + try { + return visitor(node.toProxy(), this.helpers) + } catch (e) { + throw this.handleError(e, node) + } + } + + if (visit.iterator !== 0) { + let iterator = visit.iterator + let child + while ((child = node.nodes[node.indexes[iterator]])) { + node.indexes[iterator] += 1 + if (!child[isClean]) { + child[isClean] = true + stack.push(toStack(child)) + return + } + } + visit.iterator = 0 + delete node.indexes[iterator] + } + + let events = visit.events + while (visit.eventIndex < events.length) { + let event = events[visit.eventIndex] + visit.eventIndex += 1 + if (event === CHILDREN) { + if (node.nodes && node.nodes.length) { + node[isClean] = true + visit.iterator = node.getIterator() + } + return + } else if (this.listeners[event]) { + visit.visitors = this.listeners[event] + return + } + } + stack.pop() + } + + walkSync(node) { + node[isClean] = true + let events = getEvents(node) + for (let event of events) { + if (event === CHILDREN) { + if (node.nodes) { + node.each(child => { + if (!child[isClean]) this.walkSync(child) + }) + } + } else { + let visitors = this.listeners[event] + if (visitors) { + if (this.visitSync(visitors, node.toProxy())) return + } + } + } + } + + warnings() { + return this.sync().warnings() + } + + get content() { + return this.stringify().content + } + + get css() { + return this.stringify().css + } + + get map() { + return this.stringify().map + } + + get messages() { + return this.sync().messages + } + + get opts() { + return this.result.opts + } + + get processor() { + return this.result.processor + } + + get root() { + return this.sync().root + } + + get [Symbol.toStringTag]() { + return 'LazyResult' + } +} + +LazyResult.registerPostcss = dependant => { + postcss = dependant +} + +module.exports = LazyResult +LazyResult.default = LazyResult + +Root.registerLazyResult(LazyResult) +Document.registerLazyResult(LazyResult) + + +/***/ }), + +/***/ 8446: +/***/ (function(module) { + +"use strict"; + + +let list = { + comma(string) { + return list.split(string, [','], true) + }, + + space(string) { + let spaces = [' ', '\n', '\t'] + return list.split(string, spaces) + }, + + split(string, separators, last) { + let array = [] + let current = '' + let split = false + + let func = 0 + let inQuote = false + let prevQuote = '' + let escape = false + + for (let letter of string) { + if (escape) { + escape = false + } else if (letter === '\\') { + escape = true + } else if (inQuote) { + if (letter === prevQuote) { + inQuote = false + } + } else if (letter === '"' || letter === "'") { + inQuote = true + prevQuote = letter + } else if (letter === '(') { + func += 1 + } else if (letter === ')') { + if (func > 0) func -= 1 + } else if (func === 0) { + if (separators.includes(letter)) split = true + } + + if (split) { + if (current !== '') array.push(current.trim()) + current = '' + split = false + } else { + current += letter + } + } + + if (last || current !== '') array.push(current.trim()) + return array + } +} + +module.exports = list +list.default = list + + +/***/ }), + +/***/ 2491: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let { SourceMapConsumer, SourceMapGenerator } = __webpack_require__(209) +let { dirname, relative, resolve, sep } = __webpack_require__(9830) +let { pathToFileURL } = __webpack_require__(7414) + +let Input = __webpack_require__(9961) + +let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator) +let pathAvailable = Boolean(dirname && resolve && relative && sep) + +class MapGenerator { + constructor(stringify, root, opts, cssString) { + this.stringify = stringify + this.mapOpts = opts.map || {} + this.root = root + this.opts = opts + this.css = cssString + this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute + + this.memoizedFileURLs = new Map() + this.memoizedPaths = new Map() + this.memoizedURLs = new Map() + } + + addAnnotation() { + let content + + if (this.isInline()) { + content = + 'data:application/json;base64,' + this.toBase64(this.map.toString()) + } else if (typeof this.mapOpts.annotation === 'string') { + content = this.mapOpts.annotation + } else if (typeof this.mapOpts.annotation === 'function') { + content = this.mapOpts.annotation(this.opts.to, this.root) + } else { + content = this.outputFile() + '.map' + } + let eol = '\n' + if (this.css.includes('\r\n')) eol = '\r\n' + + this.css += eol + '/*# sourceMappingURL=' + content + ' */' + } + + applyPrevMaps() { + for (let prev of this.previous()) { + let from = this.toUrl(this.path(prev.file)) + let root = prev.root || dirname(prev.file) + let map + + if (this.mapOpts.sourcesContent === false) { + map = new SourceMapConsumer(prev.text) + if (map.sourcesContent) { + map.sourcesContent = map.sourcesContent.map(() => null) + } + } else { + map = prev.consumer() + } + + this.map.applySourceMap(map, from, this.toUrl(this.path(root))) + } + } + + clearAnnotation() { + if (this.mapOpts.annotation === false) return + + if (this.root) { + let node + for (let i = this.root.nodes.length - 1; i >= 0; i--) { + node = this.root.nodes[i] + if (node.type !== 'comment') continue + if (node.text.indexOf('# sourceMappingURL=') === 0) { + this.root.removeChild(i) + } + } + } else if (this.css) { + this.css = this.css.replace(/(\n)?\/\*#[\S\s]*?\*\/$/gm, '') + } + } + + generate() { + this.clearAnnotation() + if (pathAvailable && sourceMapAvailable && this.isMap()) { + return this.generateMap() + } else { + let result = '' + this.stringify(this.root, i => { + result += i + }) + return [result] + } + } + + generateMap() { + if (this.root) { + this.generateString() + } else if (this.previous().length === 1) { + let prev = this.previous()[0].consumer() + prev.file = this.outputFile() + this.map = SourceMapGenerator.fromSourceMap(prev) + } else { + this.map = new SourceMapGenerator({ file: this.outputFile() }) + this.map.addMapping({ + generated: { column: 0, line: 1 }, + original: { column: 0, line: 1 }, + source: this.opts.from + ? this.toUrl(this.path(this.opts.from)) + : '' + }) + } + + if (this.isSourcesContent()) this.setSourcesContent() + if (this.root && this.previous().length > 0) this.applyPrevMaps() + if (this.isAnnotation()) this.addAnnotation() + + if (this.isInline()) { + return [this.css] + } else { + return [this.css, this.map] + } + } + + generateString() { + this.css = '' + this.map = new SourceMapGenerator({ file: this.outputFile() }) + + let line = 1 + let column = 1 + + let noSource = '' + let mapping = { + generated: { column: 0, line: 0 }, + original: { column: 0, line: 0 }, + source: '' + } + + let lines, last + this.stringify(this.root, (str, node, type) => { + this.css += str + + if (node && type !== 'end') { + mapping.generated.line = line + mapping.generated.column = column - 1 + if (node.source && node.source.start) { + mapping.source = this.sourcePath(node) + mapping.original.line = node.source.start.line + mapping.original.column = node.source.start.column - 1 + this.map.addMapping(mapping) + } else { + mapping.source = noSource + mapping.original.line = 1 + mapping.original.column = 0 + this.map.addMapping(mapping) + } + } + + lines = str.match(/\n/g) + if (lines) { + line += lines.length + last = str.lastIndexOf('\n') + column = str.length - last + } else { + column += str.length + } + + if (node && type !== 'start') { + let p = node.parent || { raws: {} } + let childless = + node.type === 'decl' || (node.type === 'atrule' && !node.nodes) + if (!childless || node !== p.last || p.raws.semicolon) { + if (node.source && node.source.end) { + mapping.source = this.sourcePath(node) + mapping.original.line = node.source.end.line + mapping.original.column = node.source.end.column - 1 + mapping.generated.line = line + mapping.generated.column = column - 2 + this.map.addMapping(mapping) + } else { + mapping.source = noSource + mapping.original.line = 1 + mapping.original.column = 0 + mapping.generated.line = line + mapping.generated.column = column - 1 + this.map.addMapping(mapping) + } + } + } + }) + } + + isAnnotation() { + if (this.isInline()) { + return true + } + if (typeof this.mapOpts.annotation !== 'undefined') { + return this.mapOpts.annotation + } + if (this.previous().length) { + return this.previous().some(i => i.annotation) + } + return true + } + + isInline() { + if (typeof this.mapOpts.inline !== 'undefined') { + return this.mapOpts.inline + } + + let annotation = this.mapOpts.annotation + if (typeof annotation !== 'undefined' && annotation !== true) { + return false + } + + if (this.previous().length) { + return this.previous().some(i => i.inline) + } + return true + } + + isMap() { + if (typeof this.opts.map !== 'undefined') { + return !!this.opts.map + } + return this.previous().length > 0 + } + + isSourcesContent() { + if (typeof this.mapOpts.sourcesContent !== 'undefined') { + return this.mapOpts.sourcesContent + } + if (this.previous().length) { + return this.previous().some(i => i.withContent()) + } + return true + } + + outputFile() { + if (this.opts.to) { + return this.path(this.opts.to) + } else if (this.opts.from) { + return this.path(this.opts.from) + } else { + return 'to.css' + } + } + + path(file) { + if (this.mapOpts.absolute) return file + if (file.charCodeAt(0) === 60 /* `<` */) return file + if (/^\w+:\/\//.test(file)) return file + let cached = this.memoizedPaths.get(file) + if (cached) return cached + + let from = this.opts.to ? dirname(this.opts.to) : '.' + + if (typeof this.mapOpts.annotation === 'string') { + from = dirname(resolve(from, this.mapOpts.annotation)) + } + + let path = relative(from, file) + this.memoizedPaths.set(file, path) + + return path + } + + previous() { + if (!this.previousMaps) { + this.previousMaps = [] + if (this.root) { + this.root.walk(node => { + if (node.source && node.source.input.map) { + let map = node.source.input.map + if (!this.previousMaps.includes(map)) { + this.previousMaps.push(map) + } + } + }) + } else { + let input = new Input(this.css, this.opts) + if (input.map) this.previousMaps.push(input.map) + } + } + + return this.previousMaps + } + + setSourcesContent() { + let already = {} + if (this.root) { + this.root.walk(node => { + if (node.source) { + let from = node.source.input.from + if (from && !already[from]) { + already[from] = true + let fromUrl = this.usesFileUrls + ? this.toFileUrl(from) + : this.toUrl(this.path(from)) + this.map.setSourceContent(fromUrl, node.source.input.css) + } + } + }) + } else if (this.css) { + let from = this.opts.from + ? this.toUrl(this.path(this.opts.from)) + : '' + this.map.setSourceContent(from, this.css) + } + } + + sourcePath(node) { + if (this.mapOpts.from) { + return this.toUrl(this.mapOpts.from) + } else if (this.usesFileUrls) { + return this.toFileUrl(node.source.input.from) + } else { + return this.toUrl(this.path(node.source.input.from)) + } + } + + toBase64(str) { + if (Buffer) { + return Buffer.from(str).toString('base64') + } else { + return window.btoa(unescape(encodeURIComponent(str))) + } + } + + toFileUrl(path) { + let cached = this.memoizedFileURLs.get(path) + if (cached) return cached + + if (pathToFileURL) { + let fileURL = pathToFileURL(path).toString() + this.memoizedFileURLs.set(path, fileURL) + + return fileURL + } else { + throw new Error( + '`map.absolute` option is not available in this PostCSS build' + ) + } + } + + toUrl(path) { + let cached = this.memoizedURLs.get(path) + if (cached) return cached + + if (sep === '\\') { + path = path.replace(/\\/g, '/') + } + + let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent) + this.memoizedURLs.set(path, url) + + return url + } +} + +module.exports = MapGenerator + + +/***/ }), + +/***/ 2882: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let MapGenerator = __webpack_require__(2491) +let stringify = __webpack_require__(2530) +let warnOnce = __webpack_require__(7892) +let parse = __webpack_require__(9301) +const Result = __webpack_require__(2072) + +class NoWorkResult { + constructor(processor, css, opts) { + css = css.toString() + this.stringified = false + + this._processor = processor + this._css = css + this._opts = opts + this._map = undefined + let root + + let str = stringify + this.result = new Result(this._processor, root, this._opts) + this.result.css = css + + let self = this + Object.defineProperty(this.result, 'root', { + get() { + return self.root + } + }) + + let map = new MapGenerator(str, root, this._opts, css) + if (map.isMap()) { + let [generatedCSS, generatedMap] = map.generate() + if (generatedCSS) { + this.result.css = generatedCSS + } + if (generatedMap) { + this.result.map = generatedMap + } + } + } + + async() { + if (this.error) return Promise.reject(this.error) + return Promise.resolve(this.result) + } + + catch(onRejected) { + return this.async().catch(onRejected) + } + + finally(onFinally) { + return this.async().then(onFinally, onFinally) + } + + sync() { + if (this.error) throw this.error + return this.result + } + + then(onFulfilled, onRejected) { + if (false) {} + + return this.async().then(onFulfilled, onRejected) + } + + toString() { + return this._css + } + + warnings() { + return [] + } + + get content() { + return this.result.css + } + + get css() { + return this.result.css + } + + get map() { + return this.result.map + } + + get messages() { + return [] + } + + get opts() { + return this.result.opts + } + + get processor() { + return this.result.processor + } + + get root() { + if (this._root) { + return this._root + } + + let root + let parser = parse + + try { + root = parser(this._css, this._opts) + } catch (error) { + this.error = error + } + + if (this.error) { + throw this.error + } else { + this._root = root + return root + } + } + + get [Symbol.toStringTag]() { + return 'NoWorkResult' + } +} + +module.exports = NoWorkResult +NoWorkResult.default = NoWorkResult + + +/***/ }), + +/***/ 8753: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let { isClean, my } = __webpack_require__(3719) +let CssSyntaxError = __webpack_require__(8743) +let Stringifier = __webpack_require__(3951) +let stringify = __webpack_require__(2530) + +function cloneNode(obj, parent) { + let cloned = new obj.constructor() + + for (let i in obj) { + if (!Object.prototype.hasOwnProperty.call(obj, i)) { + /* c8 ignore next 2 */ + continue + } + if (i === 'proxyCache') continue + let value = obj[i] + let type = typeof value + + if (i === 'parent' && type === 'object') { + if (parent) cloned[i] = parent + } else if (i === 'source') { + cloned[i] = value + } else if (Array.isArray(value)) { + cloned[i] = value.map(j => cloneNode(j, cloned)) + } else { + if (type === 'object' && value !== null) value = cloneNode(value) + cloned[i] = value + } + } + + return cloned +} + +class Node { + constructor(defaults = {}) { + this.raws = {} + this[isClean] = false + this[my] = true + + for (let name in defaults) { + if (name === 'nodes') { + this.nodes = [] + for (let node of defaults[name]) { + if (typeof node.clone === 'function') { + this.append(node.clone()) + } else { + this.append(node) + } + } + } else { + this[name] = defaults[name] + } + } + } + + addToError(error) { + error.postcssNode = this + if (error.stack && this.source && /\n\s{4}at /.test(error.stack)) { + let s = this.source + error.stack = error.stack.replace( + /\n\s{4}at /, + `$&${s.input.from}:${s.start.line}:${s.start.column}$&` + ) + } + return error + } + + after(add) { + this.parent.insertAfter(this, add) + return this + } + + assign(overrides = {}) { + for (let name in overrides) { + this[name] = overrides[name] + } + return this + } + + before(add) { + this.parent.insertBefore(this, add) + return this + } + + cleanRaws(keepBetween) { + delete this.raws.before + delete this.raws.after + if (!keepBetween) delete this.raws.between + } + + clone(overrides = {}) { + let cloned = cloneNode(this) + for (let name in overrides) { + cloned[name] = overrides[name] + } + return cloned + } + + cloneAfter(overrides = {}) { + let cloned = this.clone(overrides) + this.parent.insertAfter(this, cloned) + return cloned + } + + cloneBefore(overrides = {}) { + let cloned = this.clone(overrides) + this.parent.insertBefore(this, cloned) + return cloned + } + + error(message, opts = {}) { + if (this.source) { + let { end, start } = this.rangeBy(opts) + return this.source.input.error( + message, + { column: start.column, line: start.line }, + { column: end.column, line: end.line }, + opts + ) + } + return new CssSyntaxError(message) + } + + getProxyProcessor() { + return { + get(node, prop) { + if (prop === 'proxyOf') { + return node + } else if (prop === 'root') { + return () => node.root().toProxy() + } else { + return node[prop] + } + }, + + set(node, prop, value) { + if (node[prop] === value) return true + node[prop] = value + if ( + prop === 'prop' || + prop === 'value' || + prop === 'name' || + prop === 'params' || + prop === 'important' || + /* c8 ignore next */ + prop === 'text' + ) { + node.markDirty() + } + return true + } + } + } + + markDirty() { + if (this[isClean]) { + this[isClean] = false + let next = this + while ((next = next.parent)) { + next[isClean] = false + } + } + } + + next() { + if (!this.parent) return undefined + let index = this.parent.index(this) + return this.parent.nodes[index + 1] + } + + positionBy(opts, stringRepresentation) { + let pos = this.source.start + if (opts.index) { + pos = this.positionInside(opts.index, stringRepresentation) + } else if (opts.word) { + stringRepresentation = this.toString() + let index = stringRepresentation.indexOf(opts.word) + if (index !== -1) pos = this.positionInside(index, stringRepresentation) + } + return pos + } + + positionInside(index, stringRepresentation) { + let string = stringRepresentation || this.toString() + let column = this.source.start.column + let line = this.source.start.line + + for (let i = 0; i < index; i++) { + if (string[i] === '\n') { + column = 1 + line += 1 + } else { + column += 1 + } + } + + return { column, line } + } + + prev() { + if (!this.parent) return undefined + let index = this.parent.index(this) + return this.parent.nodes[index - 1] + } + + rangeBy(opts) { + let start = { + column: this.source.start.column, + line: this.source.start.line + } + let end = this.source.end + ? { + column: this.source.end.column + 1, + line: this.source.end.line + } + : { + column: start.column + 1, + line: start.line + } + + if (opts.word) { + let stringRepresentation = this.toString() + let index = stringRepresentation.indexOf(opts.word) + if (index !== -1) { + start = this.positionInside(index, stringRepresentation) + end = this.positionInside(index + opts.word.length, stringRepresentation) + } + } else { + if (opts.start) { + start = { + column: opts.start.column, + line: opts.start.line + } + } else if (opts.index) { + start = this.positionInside(opts.index) + } + + if (opts.end) { + end = { + column: opts.end.column, + line: opts.end.line + } + } else if (opts.endIndex) { + end = this.positionInside(opts.endIndex) + } else if (opts.index) { + end = this.positionInside(opts.index + 1) + } + } + + if ( + end.line < start.line || + (end.line === start.line && end.column <= start.column) + ) { + end = { column: start.column + 1, line: start.line } + } + + return { end, start } + } + + raw(prop, defaultType) { + let str = new Stringifier() + return str.raw(this, prop, defaultType) + } + + remove() { + if (this.parent) { + this.parent.removeChild(this) + } + this.parent = undefined + return this + } + + replaceWith(...nodes) { + if (this.parent) { + let bookmark = this + let foundSelf = false + for (let node of nodes) { + if (node === this) { + foundSelf = true + } else if (foundSelf) { + this.parent.insertAfter(bookmark, node) + bookmark = node + } else { + this.parent.insertBefore(bookmark, node) + } + } + + if (!foundSelf) { + this.remove() + } + } + + return this + } + + root() { + let result = this + while (result.parent && result.parent.type !== 'document') { + result = result.parent + } + return result + } + + toJSON(_, inputs) { + let fixed = {} + let emitInputs = inputs == null + inputs = inputs || new Map() + let inputsNextIndex = 0 + + for (let name in this) { + if (!Object.prototype.hasOwnProperty.call(this, name)) { + /* c8 ignore next 2 */ + continue + } + if (name === 'parent' || name === 'proxyCache') continue + let value = this[name] + + if (Array.isArray(value)) { + fixed[name] = value.map(i => { + if (typeof i === 'object' && i.toJSON) { + return i.toJSON(null, inputs) + } else { + return i + } + }) + } else if (typeof value === 'object' && value.toJSON) { + fixed[name] = value.toJSON(null, inputs) + } else if (name === 'source') { + let inputId = inputs.get(value.input) + if (inputId == null) { + inputId = inputsNextIndex + inputs.set(value.input, inputsNextIndex) + inputsNextIndex++ + } + fixed[name] = { + end: value.end, + inputId, + start: value.start + } + } else { + fixed[name] = value + } + } + + if (emitInputs) { + fixed.inputs = [...inputs.keys()].map(input => input.toJSON()) + } + + return fixed + } + + toProxy() { + if (!this.proxyCache) { + this.proxyCache = new Proxy(this, this.getProxyProcessor()) + } + return this.proxyCache + } + + toString(stringifier = stringify) { + if (stringifier.stringify) stringifier = stringifier.stringify + let result = '' + stringifier(this, i => { + result += i + }) + return result + } + + warn(result, text, opts) { + let data = { node: this } + for (let i in opts) data[i] = opts[i] + return result.warn(text, data) + } + + get proxyOf() { + return this + } +} + +module.exports = Node +Node.default = Node + + +/***/ }), + +/***/ 9301: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let Container = __webpack_require__(9795) +let Parser = __webpack_require__(3915) +let Input = __webpack_require__(9961) + +function parse(css, opts) { + let input = new Input(css, opts) + let parser = new Parser(input) + try { + parser.parse() + } catch (e) { + if (false) {} + throw e + } + + return parser.root +} + +module.exports = parse +parse.default = parse + +Container.registerParse(parse) + + +/***/ }), + +/***/ 3915: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let Declaration = __webpack_require__(5818) +let tokenizer = __webpack_require__(9215) +let Comment = __webpack_require__(9882) +let AtRule = __webpack_require__(2433) +let Root = __webpack_require__(3823) +let Rule = __webpack_require__(5871) + +const SAFE_COMMENT_NEIGHBOR = { + empty: true, + space: true +} + +function findLastWithPosition(tokens) { + for (let i = tokens.length - 1; i >= 0; i--) { + let token = tokens[i] + let pos = token[3] || token[2] + if (pos) return pos + } +} + +class Parser { + constructor(input) { + this.input = input + + this.root = new Root() + this.current = this.root + this.spaces = '' + this.semicolon = false + this.customProperty = false + + this.createTokenizer() + this.root.source = { input, start: { column: 1, line: 1, offset: 0 } } + } + + atrule(token) { + let node = new AtRule() + node.name = token[1].slice(1) + if (node.name === '') { + this.unnamedAtrule(node, token) + } + this.init(node, token[2]) + + let type + let prev + let shift + let last = false + let open = false + let params = [] + let brackets = [] + + while (!this.tokenizer.endOfFile()) { + token = this.tokenizer.nextToken() + type = token[0] + + if (type === '(' || type === '[') { + brackets.push(type === '(' ? ')' : ']') + } else if (type === '{' && brackets.length > 0) { + brackets.push('}') + } else if (type === brackets[brackets.length - 1]) { + brackets.pop() + } + + if (brackets.length === 0) { + if (type === ';') { + node.source.end = this.getPosition(token[2]) + node.source.end.offset++ + this.semicolon = true + break + } else if (type === '{') { + open = true + break + } else if (type === '}') { + if (params.length > 0) { + shift = params.length - 1 + prev = params[shift] + while (prev && prev[0] === 'space') { + prev = params[--shift] + } + if (prev) { + node.source.end = this.getPosition(prev[3] || prev[2]) + node.source.end.offset++ + } + } + this.end(token) + break + } else { + params.push(token) + } + } else { + params.push(token) + } + + if (this.tokenizer.endOfFile()) { + last = true + break + } + } + + node.raws.between = this.spacesAndCommentsFromEnd(params) + if (params.length) { + node.raws.afterName = this.spacesAndCommentsFromStart(params) + this.raw(node, 'params', params) + if (last) { + token = params[params.length - 1] + node.source.end = this.getPosition(token[3] || token[2]) + node.source.end.offset++ + this.spaces = node.raws.between + node.raws.between = '' + } + } else { + node.raws.afterName = '' + node.params = '' + } + + if (open) { + node.nodes = [] + this.current = node + } + } + + checkMissedSemicolon(tokens) { + let colon = this.colon(tokens) + if (colon === false) return + + let founded = 0 + let token + for (let j = colon - 1; j >= 0; j--) { + token = tokens[j] + if (token[0] !== 'space') { + founded += 1 + if (founded === 2) break + } + } + // If the token is a word, e.g. `!important`, `red` or any other valid property's value. + // Then we need to return the colon after that word token. [3] is the "end" colon of that word. + // And because we need it after that one we do +1 to get the next one. + throw this.input.error( + 'Missed semicolon', + token[0] === 'word' ? token[3] + 1 : token[2] + ) + } + + colon(tokens) { + let brackets = 0 + let token, type, prev + for (let [i, element] of tokens.entries()) { + token = element + type = token[0] + + if (type === '(') { + brackets += 1 + } + if (type === ')') { + brackets -= 1 + } + if (brackets === 0 && type === ':') { + if (!prev) { + this.doubleColon(token) + } else if (prev[0] === 'word' && prev[1] === 'progid') { + continue + } else { + return i + } + } + + prev = token + } + return false + } + + comment(token) { + let node = new Comment() + this.init(node, token[2]) + node.source.end = this.getPosition(token[3] || token[2]) + node.source.end.offset++ + + let text = token[1].slice(2, -2) + if (/^\s*$/.test(text)) { + node.text = '' + node.raws.left = text + node.raws.right = '' + } else { + let match = text.match(/^(\s*)([^]*\S)(\s*)$/) + node.text = match[2] + node.raws.left = match[1] + node.raws.right = match[3] + } + } + + createTokenizer() { + this.tokenizer = tokenizer(this.input) + } + + decl(tokens, customProperty) { + let node = new Declaration() + this.init(node, tokens[0][2]) + + let last = tokens[tokens.length - 1] + if (last[0] === ';') { + this.semicolon = true + tokens.pop() + } + + node.source.end = this.getPosition( + last[3] || last[2] || findLastWithPosition(tokens) + ) + node.source.end.offset++ + + while (tokens[0][0] !== 'word') { + if (tokens.length === 1) this.unknownWord(tokens) + node.raws.before += tokens.shift()[1] + } + node.source.start = this.getPosition(tokens[0][2]) + + node.prop = '' + while (tokens.length) { + let type = tokens[0][0] + if (type === ':' || type === 'space' || type === 'comment') { + break + } + node.prop += tokens.shift()[1] + } + + node.raws.between = '' + + let token + while (tokens.length) { + token = tokens.shift() + + if (token[0] === ':') { + node.raws.between += token[1] + break + } else { + if (token[0] === 'word' && /\w/.test(token[1])) { + this.unknownWord([token]) + } + node.raws.between += token[1] + } + } + + if (node.prop[0] === '_' || node.prop[0] === '*') { + node.raws.before += node.prop[0] + node.prop = node.prop.slice(1) + } + + let firstSpaces = [] + let next + while (tokens.length) { + next = tokens[0][0] + if (next !== 'space' && next !== 'comment') break + firstSpaces.push(tokens.shift()) + } + + this.precheckMissedSemicolon(tokens) + + for (let i = tokens.length - 1; i >= 0; i--) { + token = tokens[i] + if (token[1].toLowerCase() === '!important') { + node.important = true + let string = this.stringFrom(tokens, i) + string = this.spacesFromEnd(tokens) + string + if (string !== ' !important') node.raws.important = string + break + } else if (token[1].toLowerCase() === 'important') { + let cache = tokens.slice(0) + let str = '' + for (let j = i; j > 0; j--) { + let type = cache[j][0] + if (str.trim().indexOf('!') === 0 && type !== 'space') { + break + } + str = cache.pop()[1] + str + } + if (str.trim().indexOf('!') === 0) { + node.important = true + node.raws.important = str + tokens = cache + } + } + + if (token[0] !== 'space' && token[0] !== 'comment') { + break + } + } + + let hasWord = tokens.some(i => i[0] !== 'space' && i[0] !== 'comment') + + if (hasWord) { + node.raws.between += firstSpaces.map(i => i[1]).join('') + firstSpaces = [] + } + this.raw(node, 'value', firstSpaces.concat(tokens), customProperty) + + if (node.value.includes(':') && !customProperty) { + this.checkMissedSemicolon(tokens) + } + } + + doubleColon(token) { + throw this.input.error( + 'Double colon', + { offset: token[2] }, + { offset: token[2] + token[1].length } + ) + } + + emptyRule(token) { + let node = new Rule() + this.init(node, token[2]) + node.selector = '' + node.raws.between = '' + this.current = node + } + + end(token) { + if (this.current.nodes && this.current.nodes.length) { + this.current.raws.semicolon = this.semicolon + } + this.semicolon = false + + this.current.raws.after = (this.current.raws.after || '') + this.spaces + this.spaces = '' + + if (this.current.parent) { + this.current.source.end = this.getPosition(token[2]) + this.current.source.end.offset++ + this.current = this.current.parent + } else { + this.unexpectedClose(token) + } + } + + endFile() { + if (this.current.parent) this.unclosedBlock() + if (this.current.nodes && this.current.nodes.length) { + this.current.raws.semicolon = this.semicolon + } + this.current.raws.after = (this.current.raws.after || '') + this.spaces + this.root.source.end = this.getPosition(this.tokenizer.position()) + } + + freeSemicolon(token) { + this.spaces += token[1] + if (this.current.nodes) { + let prev = this.current.nodes[this.current.nodes.length - 1] + if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) { + prev.raws.ownSemicolon = this.spaces + this.spaces = '' + } + } + } + + // Helpers + + getPosition(offset) { + let pos = this.input.fromOffset(offset) + return { + column: pos.col, + line: pos.line, + offset + } + } + + init(node, offset) { + this.current.push(node) + node.source = { + input: this.input, + start: this.getPosition(offset) + } + node.raws.before = this.spaces + this.spaces = '' + if (node.type !== 'comment') this.semicolon = false + } + + other(start) { + let end = false + let type = null + let colon = false + let bracket = null + let brackets = [] + let customProperty = start[1].startsWith('--') + + let tokens = [] + let token = start + while (token) { + type = token[0] + tokens.push(token) + + if (type === '(' || type === '[') { + if (!bracket) bracket = token + brackets.push(type === '(' ? ')' : ']') + } else if (customProperty && colon && type === '{') { + if (!bracket) bracket = token + brackets.push('}') + } else if (brackets.length === 0) { + if (type === ';') { + if (colon) { + this.decl(tokens, customProperty) + return + } else { + break + } + } else if (type === '{') { + this.rule(tokens) + return + } else if (type === '}') { + this.tokenizer.back(tokens.pop()) + end = true + break + } else if (type === ':') { + colon = true + } + } else if (type === brackets[brackets.length - 1]) { + brackets.pop() + if (brackets.length === 0) bracket = null + } + + token = this.tokenizer.nextToken() + } + + if (this.tokenizer.endOfFile()) end = true + if (brackets.length > 0) this.unclosedBracket(bracket) + + if (end && colon) { + if (!customProperty) { + while (tokens.length) { + token = tokens[tokens.length - 1][0] + if (token !== 'space' && token !== 'comment') break + this.tokenizer.back(tokens.pop()) + } + } + this.decl(tokens, customProperty) + } else { + this.unknownWord(tokens) + } + } + + parse() { + let token + while (!this.tokenizer.endOfFile()) { + token = this.tokenizer.nextToken() + + switch (token[0]) { + case 'space': + this.spaces += token[1] + break + + case ';': + this.freeSemicolon(token) + break + + case '}': + this.end(token) + break + + case 'comment': + this.comment(token) + break + + case 'at-word': + this.atrule(token) + break + + case '{': + this.emptyRule(token) + break + + default: + this.other(token) + break + } + } + this.endFile() + } + + precheckMissedSemicolon(/* tokens */) { + // Hook for Safe Parser + } + + raw(node, prop, tokens, customProperty) { + let token, type + let length = tokens.length + let value = '' + let clean = true + let next, prev + + for (let i = 0; i < length; i += 1) { + token = tokens[i] + type = token[0] + if (type === 'space' && i === length - 1 && !customProperty) { + clean = false + } else if (type === 'comment') { + prev = tokens[i - 1] ? tokens[i - 1][0] : 'empty' + next = tokens[i + 1] ? tokens[i + 1][0] : 'empty' + if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) { + if (value.slice(-1) === ',') { + clean = false + } else { + value += token[1] + } + } else { + clean = false + } + } else { + value += token[1] + } + } + if (!clean) { + let raw = tokens.reduce((all, i) => all + i[1], '') + node.raws[prop] = { raw, value } + } + node[prop] = value + } + + rule(tokens) { + tokens.pop() + + let node = new Rule() + this.init(node, tokens[0][2]) + + node.raws.between = this.spacesAndCommentsFromEnd(tokens) + this.raw(node, 'selector', tokens) + this.current = node + } + + spacesAndCommentsFromEnd(tokens) { + let lastTokenType + let spaces = '' + while (tokens.length) { + lastTokenType = tokens[tokens.length - 1][0] + if (lastTokenType !== 'space' && lastTokenType !== 'comment') break + spaces = tokens.pop()[1] + spaces + } + return spaces + } + + // Errors + + spacesAndCommentsFromStart(tokens) { + let next + let spaces = '' + while (tokens.length) { + next = tokens[0][0] + if (next !== 'space' && next !== 'comment') break + spaces += tokens.shift()[1] + } + return spaces + } + + spacesFromEnd(tokens) { + let lastTokenType + let spaces = '' + while (tokens.length) { + lastTokenType = tokens[tokens.length - 1][0] + if (lastTokenType !== 'space') break + spaces = tokens.pop()[1] + spaces + } + return spaces + } + + stringFrom(tokens, from) { + let result = '' + for (let i = from; i < tokens.length; i++) { + result += tokens[i][1] + } + tokens.splice(from, tokens.length - from) + return result + } + + unclosedBlock() { + let pos = this.current.source.start + throw this.input.error('Unclosed block', pos.line, pos.column) + } + + unclosedBracket(bracket) { + throw this.input.error( + 'Unclosed bracket', + { offset: bracket[2] }, + { offset: bracket[2] + 1 } + ) + } + + unexpectedClose(token) { + throw this.input.error( + 'Unexpected }', + { offset: token[2] }, + { offset: token[2] + 1 } + ) + } + + unknownWord(tokens) { + throw this.input.error( + 'Unknown word', + { offset: tokens[0][2] }, + { offset: tokens[0][2] + tokens[0][1].length } + ) + } + + unnamedAtrule(node, token) { + throw this.input.error( + 'At-rule without name', + { offset: token[2] }, + { offset: token[2] + token[1].length } + ) + } +} + +module.exports = Parser + + +/***/ }), + +/***/ 4743: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let CssSyntaxError = __webpack_require__(8743) +let Declaration = __webpack_require__(5818) +let LazyResult = __webpack_require__(3993) +let Container = __webpack_require__(9795) +let Processor = __webpack_require__(5937) +let stringify = __webpack_require__(2530) +let fromJSON = __webpack_require__(3667) +let Document = __webpack_require__(3866) +let Warning = __webpack_require__(9871) +let Comment = __webpack_require__(9882) +let AtRule = __webpack_require__(2433) +let Result = __webpack_require__(2072) +let Input = __webpack_require__(9961) +let parse = __webpack_require__(9301) +let list = __webpack_require__(8446) +let Rule = __webpack_require__(5871) +let Root = __webpack_require__(3823) +let Node = __webpack_require__(8753) + +function postcss(...plugins) { + if (plugins.length === 1 && Array.isArray(plugins[0])) { + plugins = plugins[0] + } + return new Processor(plugins) +} + +postcss.plugin = function plugin(name, initializer) { + let warningPrinted = false + function creator(...args) { + // eslint-disable-next-line no-console + if (console && console.warn && !warningPrinted) { + warningPrinted = true + // eslint-disable-next-line no-console + console.warn( + name + + ': postcss.plugin was deprecated. Migration guide:\n' + + 'https://evilmartians.com/chronicles/postcss-8-plugin-migration' + ) + if (process.env.LANG && process.env.LANG.startsWith('cn')) { + /* c8 ignore next 7 */ + // eslint-disable-next-line no-console + console.warn( + name + + ': 里面 postcss.plugin 被弃用. 迁移指南:\n' + + 'https://www.w3ctech.com/topic/2226' + ) + } + } + let transformer = initializer(...args) + transformer.postcssPlugin = name + transformer.postcssVersion = new Processor().version + return transformer + } + + let cache + Object.defineProperty(creator, 'postcss', { + get() { + if (!cache) cache = creator() + return cache + } + }) + + creator.process = function (css, processOpts, pluginOpts) { + return postcss([creator(pluginOpts)]).process(css, processOpts) + } + + return creator +} + +postcss.stringify = stringify +postcss.parse = parse +postcss.fromJSON = fromJSON +postcss.list = list + +postcss.comment = defaults => new Comment(defaults) +postcss.atRule = defaults => new AtRule(defaults) +postcss.decl = defaults => new Declaration(defaults) +postcss.rule = defaults => new Rule(defaults) +postcss.root = defaults => new Root(defaults) +postcss.document = defaults => new Document(defaults) + +postcss.CssSyntaxError = CssSyntaxError +postcss.Declaration = Declaration +postcss.Container = Container +postcss.Processor = Processor +postcss.Document = Document +postcss.Comment = Comment +postcss.Warning = Warning +postcss.AtRule = AtRule +postcss.Result = Result +postcss.Input = Input +postcss.Rule = Rule +postcss.Root = Root +postcss.Node = Node + +LazyResult.registerPostcss(postcss) + +module.exports = postcss +postcss.default = postcss + + +/***/ }), + +/***/ 2393: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let { SourceMapConsumer, SourceMapGenerator } = __webpack_require__(209) +let { existsSync, readFileSync } = __webpack_require__(4777) +let { dirname, join } = __webpack_require__(9830) + +function fromBase64(str) { + if (Buffer) { + return Buffer.from(str, 'base64').toString() + } else { + /* c8 ignore next 2 */ + return window.atob(str) + } +} + +class PreviousMap { + constructor(css, opts) { + if (opts.map === false) return + this.loadAnnotation(css) + this.inline = this.startWith(this.annotation, 'data:') + + let prev = opts.map ? opts.map.prev : undefined + let text = this.loadMap(opts.from, prev) + if (!this.mapFile && opts.from) { + this.mapFile = opts.from + } + if (this.mapFile) this.root = dirname(this.mapFile) + if (text) this.text = text + } + + consumer() { + if (!this.consumerCache) { + this.consumerCache = new SourceMapConsumer(this.text) + } + return this.consumerCache + } + + decodeInline(text) { + let baseCharsetUri = /^data:application\/json;charset=utf-?8;base64,/ + let baseUri = /^data:application\/json;base64,/ + let charsetUri = /^data:application\/json;charset=utf-?8,/ + let uri = /^data:application\/json,/ + + if (charsetUri.test(text) || uri.test(text)) { + return decodeURIComponent(text.substr(RegExp.lastMatch.length)) + } + + if (baseCharsetUri.test(text) || baseUri.test(text)) { + return fromBase64(text.substr(RegExp.lastMatch.length)) + } + + let encoding = text.match(/data:application\/json;([^,]+),/)[1] + throw new Error('Unsupported source map encoding ' + encoding) + } + + getAnnotationURL(sourceMapString) { + return sourceMapString.replace(/^\/\*\s*# sourceMappingURL=/, '').trim() + } + + isMap(map) { + if (typeof map !== 'object') return false + return ( + typeof map.mappings === 'string' || + typeof map._mappings === 'string' || + Array.isArray(map.sections) + ) + } + + loadAnnotation(css) { + let comments = css.match(/\/\*\s*# sourceMappingURL=/gm) + if (!comments) return + + // sourceMappingURLs from comments, strings, etc. + let start = css.lastIndexOf(comments.pop()) + let end = css.indexOf('*/', start) + + if (start > -1 && end > -1) { + // Locate the last sourceMappingURL to avoid pickin + this.annotation = this.getAnnotationURL(css.substring(start, end)) + } + } + + loadFile(path) { + this.root = dirname(path) + if (existsSync(path)) { + this.mapFile = path + return readFileSync(path, 'utf-8').toString().trim() + } + } + + loadMap(file, prev) { + if (prev === false) return false + + if (prev) { + if (typeof prev === 'string') { + return prev + } else if (typeof prev === 'function') { + let prevPath = prev(file) + if (prevPath) { + let map = this.loadFile(prevPath) + if (!map) { + throw new Error( + 'Unable to load previous source map: ' + prevPath.toString() + ) + } + return map + } + } else if (prev instanceof SourceMapConsumer) { + return SourceMapGenerator.fromSourceMap(prev).toString() + } else if (prev instanceof SourceMapGenerator) { + return prev.toString() + } else if (this.isMap(prev)) { + return JSON.stringify(prev) + } else { + throw new Error( + 'Unsupported previous source map format: ' + prev.toString() + ) + } + } else if (this.inline) { + return this.decodeInline(this.annotation) + } else if (this.annotation) { + let map = this.annotation + if (file) map = join(dirname(file), map) + return this.loadFile(map) + } + } + + startWith(string, start) { + if (!string) return false + return string.substr(0, start.length) === start + } + + withContent() { + return !!( + this.consumer().sourcesContent && + this.consumer().sourcesContent.length > 0 + ) + } +} + +module.exports = PreviousMap +PreviousMap.default = PreviousMap + + +/***/ }), + +/***/ 5937: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let NoWorkResult = __webpack_require__(2882) +let LazyResult = __webpack_require__(3993) +let Document = __webpack_require__(3866) +let Root = __webpack_require__(3823) + +class Processor { + constructor(plugins = []) { + this.version = '8.4.31' + this.plugins = this.normalize(plugins) + } + + normalize(plugins) { + let normalized = [] + for (let i of plugins) { + if (i.postcss === true) { + i = i() + } else if (i.postcss) { + i = i.postcss + } + + if (typeof i === 'object' && Array.isArray(i.plugins)) { + normalized = normalized.concat(i.plugins) + } else if (typeof i === 'object' && i.postcssPlugin) { + normalized.push(i) + } else if (typeof i === 'function') { + normalized.push(i) + } else if (typeof i === 'object' && (i.parse || i.stringify)) { + if (false) {} + } else { + throw new Error(i + ' is not a PostCSS plugin') + } + } + return normalized + } + + process(css, opts = {}) { + if ( + this.plugins.length === 0 && + typeof opts.parser === 'undefined' && + typeof opts.stringifier === 'undefined' && + typeof opts.syntax === 'undefined' + ) { + return new NoWorkResult(this, css, opts) + } else { + return new LazyResult(this, css, opts) + } + } + + use(plugin) { + this.plugins = this.plugins.concat(this.normalize([plugin])) + return this + } +} + +module.exports = Processor +Processor.default = Processor + +Root.registerProcessor(Processor) +Document.registerProcessor(Processor) + + +/***/ }), + +/***/ 2072: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let Warning = __webpack_require__(9871) + +class Result { + constructor(processor, root, opts) { + this.processor = processor + this.messages = [] + this.root = root + this.opts = opts + this.css = undefined + this.map = undefined + } + + toString() { + return this.css + } + + warn(text, opts = {}) { + if (!opts.plugin) { + if (this.lastPlugin && this.lastPlugin.postcssPlugin) { + opts.plugin = this.lastPlugin.postcssPlugin + } + } + + let warning = new Warning(text, opts) + this.messages.push(warning) + + return warning + } + + warnings() { + return this.messages.filter(i => i.type === 'warning') + } + + get content() { + return this.css + } +} + +module.exports = Result +Result.default = Result + + +/***/ }), + +/***/ 3823: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let Container = __webpack_require__(9795) + +let LazyResult, Processor + +class Root extends Container { + constructor(defaults) { + super(defaults) + this.type = 'root' + if (!this.nodes) this.nodes = [] + } + + normalize(child, sample, type) { + let nodes = super.normalize(child) + + if (sample) { + if (type === 'prepend') { + if (this.nodes.length > 1) { + sample.raws.before = this.nodes[1].raws.before + } else { + delete sample.raws.before + } + } else if (this.first !== sample) { + for (let node of nodes) { + node.raws.before = sample.raws.before + } + } + } + + return nodes + } + + removeChild(child, ignore) { + let index = this.index(child) + + if (!ignore && index === 0 && this.nodes.length > 1) { + this.nodes[1].raws.before = this.nodes[index].raws.before + } + + return super.removeChild(child) + } + + toResult(opts = {}) { + let lazy = new LazyResult(new Processor(), this, opts) + return lazy.stringify() + } +} + +Root.registerLazyResult = dependant => { + LazyResult = dependant +} + +Root.registerProcessor = dependant => { + Processor = dependant +} + +module.exports = Root +Root.default = Root + +Container.registerRoot(Root) + + +/***/ }), + +/***/ 5871: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let Container = __webpack_require__(9795) +let list = __webpack_require__(8446) + +class Rule extends Container { + constructor(defaults) { + super(defaults) + this.type = 'rule' + if (!this.nodes) this.nodes = [] + } + + get selectors() { + return list.comma(this.selector) + } + + set selectors(values) { + let match = this.selector ? this.selector.match(/,\s*/) : null + let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen') + this.selector = values.join(sep) + } +} + +module.exports = Rule +Rule.default = Rule + +Container.registerRule(Rule) + + +/***/ }), + +/***/ 3951: +/***/ (function(module) { + +"use strict"; + + +const DEFAULT_RAW = { + after: '\n', + beforeClose: '\n', + beforeComment: '\n', + beforeDecl: '\n', + beforeOpen: ' ', + beforeRule: '\n', + colon: ': ', + commentLeft: ' ', + commentRight: ' ', + emptyBody: '', + indent: ' ', + semicolon: false +} + +function capitalize(str) { + return str[0].toUpperCase() + str.slice(1) +} + +class Stringifier { + constructor(builder) { + this.builder = builder + } + + atrule(node, semicolon) { + let name = '@' + node.name + let params = node.params ? this.rawValue(node, 'params') : '' + + if (typeof node.raws.afterName !== 'undefined') { + name += node.raws.afterName + } else if (params) { + name += ' ' + } + + if (node.nodes) { + this.block(node, name + params) + } else { + let end = (node.raws.between || '') + (semicolon ? ';' : '') + this.builder(name + params + end, node) + } + } + + beforeAfter(node, detect) { + let value + if (node.type === 'decl') { + value = this.raw(node, null, 'beforeDecl') + } else if (node.type === 'comment') { + value = this.raw(node, null, 'beforeComment') + } else if (detect === 'before') { + value = this.raw(node, null, 'beforeRule') + } else { + value = this.raw(node, null, 'beforeClose') + } + + let buf = node.parent + let depth = 0 + while (buf && buf.type !== 'root') { + depth += 1 + buf = buf.parent + } + + if (value.includes('\n')) { + let indent = this.raw(node, null, 'indent') + if (indent.length) { + for (let step = 0; step < depth; step++) value += indent + } + } + + return value + } + + block(node, start) { + let between = this.raw(node, 'between', 'beforeOpen') + this.builder(start + between + '{', node, 'start') + + let after + if (node.nodes && node.nodes.length) { + this.body(node) + after = this.raw(node, 'after') + } else { + after = this.raw(node, 'after', 'emptyBody') + } + + if (after) this.builder(after) + this.builder('}', node, 'end') + } + + body(node) { + let last = node.nodes.length - 1 + while (last > 0) { + if (node.nodes[last].type !== 'comment') break + last -= 1 + } + + let semicolon = this.raw(node, 'semicolon') + for (let i = 0; i < node.nodes.length; i++) { + let child = node.nodes[i] + let before = this.raw(child, 'before') + if (before) this.builder(before) + this.stringify(child, last !== i || semicolon) + } + } + + comment(node) { + let left = this.raw(node, 'left', 'commentLeft') + let right = this.raw(node, 'right', 'commentRight') + this.builder('/*' + left + node.text + right + '*/', node) + } + + decl(node, semicolon) { + let between = this.raw(node, 'between', 'colon') + let string = node.prop + between + this.rawValue(node, 'value') + + if (node.important) { + string += node.raws.important || ' !important' + } + + if (semicolon) string += ';' + this.builder(string, node) + } + + document(node) { + this.body(node) + } + + raw(node, own, detect) { + let value + if (!detect) detect = own + + // Already had + if (own) { + value = node.raws[own] + if (typeof value !== 'undefined') return value + } + + let parent = node.parent + + if (detect === 'before') { + // Hack for first rule in CSS + if (!parent || (parent.type === 'root' && parent.first === node)) { + return '' + } + + // `root` nodes in `document` should use only their own raws + if (parent && parent.type === 'document') { + return '' + } + } + + // Floating child without parent + if (!parent) return DEFAULT_RAW[detect] + + // Detect style by other nodes + let root = node.root() + if (!root.rawCache) root.rawCache = {} + if (typeof root.rawCache[detect] !== 'undefined') { + return root.rawCache[detect] + } + + if (detect === 'before' || detect === 'after') { + return this.beforeAfter(node, detect) + } else { + let method = 'raw' + capitalize(detect) + if (this[method]) { + value = this[method](root, node) + } else { + root.walk(i => { + value = i.raws[own] + if (typeof value !== 'undefined') return false + }) + } + } + + if (typeof value === 'undefined') value = DEFAULT_RAW[detect] + + root.rawCache[detect] = value + return value + } + + rawBeforeClose(root) { + let value + root.walk(i => { + if (i.nodes && i.nodes.length > 0) { + if (typeof i.raws.after !== 'undefined') { + value = i.raws.after + if (value.includes('\n')) { + value = value.replace(/[^\n]+$/, '') + } + return false + } + } + }) + if (value) value = value.replace(/\S/g, '') + return value + } + + rawBeforeComment(root, node) { + let value + root.walkComments(i => { + if (typeof i.raws.before !== 'undefined') { + value = i.raws.before + if (value.includes('\n')) { + value = value.replace(/[^\n]+$/, '') + } + return false + } + }) + if (typeof value === 'undefined') { + value = this.raw(node, null, 'beforeDecl') + } else if (value) { + value = value.replace(/\S/g, '') + } + return value + } + + rawBeforeDecl(root, node) { + let value + root.walkDecls(i => { + if (typeof i.raws.before !== 'undefined') { + value = i.raws.before + if (value.includes('\n')) { + value = value.replace(/[^\n]+$/, '') + } + return false + } + }) + if (typeof value === 'undefined') { + value = this.raw(node, null, 'beforeRule') + } else if (value) { + value = value.replace(/\S/g, '') + } + return value + } + + rawBeforeOpen(root) { + let value + root.walk(i => { + if (i.type !== 'decl') { + value = i.raws.between + if (typeof value !== 'undefined') return false + } + }) + return value + } + + rawBeforeRule(root) { + let value + root.walk(i => { + if (i.nodes && (i.parent !== root || root.first !== i)) { + if (typeof i.raws.before !== 'undefined') { + value = i.raws.before + if (value.includes('\n')) { + value = value.replace(/[^\n]+$/, '') + } + return false + } + } + }) + if (value) value = value.replace(/\S/g, '') + return value + } + + rawColon(root) { + let value + root.walkDecls(i => { + if (typeof i.raws.between !== 'undefined') { + value = i.raws.between.replace(/[^\s:]/g, '') + return false + } + }) + return value + } + + rawEmptyBody(root) { + let value + root.walk(i => { + if (i.nodes && i.nodes.length === 0) { + value = i.raws.after + if (typeof value !== 'undefined') return false + } + }) + return value + } + + rawIndent(root) { + if (root.raws.indent) return root.raws.indent + let value + root.walk(i => { + let p = i.parent + if (p && p !== root && p.parent && p.parent === root) { + if (typeof i.raws.before !== 'undefined') { + let parts = i.raws.before.split('\n') + value = parts[parts.length - 1] + value = value.replace(/\S/g, '') + return false + } + } + }) + return value + } + + rawSemicolon(root) { + let value + root.walk(i => { + if (i.nodes && i.nodes.length && i.last.type === 'decl') { + value = i.raws.semicolon + if (typeof value !== 'undefined') return false + } + }) + return value + } + + rawValue(node, prop) { + let value = node[prop] + let raw = node.raws[prop] + if (raw && raw.value === value) { + return raw.raw + } + + return value + } + + root(node) { + this.body(node) + if (node.raws.after) this.builder(node.raws.after) + } + + rule(node) { + this.block(node, this.rawValue(node, 'selector')) + if (node.raws.ownSemicolon) { + this.builder(node.raws.ownSemicolon, node, 'end') + } + } + + stringify(node, semicolon) { + /* c8 ignore start */ + if (!this[node.type]) { + throw new Error( + 'Unknown AST node type ' + + node.type + + '. ' + + 'Maybe you need to change PostCSS stringifier.' + ) + } + /* c8 ignore stop */ + this[node.type](node, semicolon) + } +} + +module.exports = Stringifier +Stringifier.default = Stringifier + + +/***/ }), + +/***/ 2530: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let Stringifier = __webpack_require__(3951) + +function stringify(node, builder) { + let str = new Stringifier(builder) + str.stringify(node) +} + +module.exports = stringify +stringify.default = stringify + + +/***/ }), + +/***/ 3719: +/***/ (function(module) { + +"use strict"; + + +module.exports.isClean = Symbol('isClean') + +module.exports.my = Symbol('my') + + +/***/ }), + +/***/ 9215: +/***/ (function(module) { + +"use strict"; + + +const SINGLE_QUOTE = "'".charCodeAt(0) +const DOUBLE_QUOTE = '"'.charCodeAt(0) +const BACKSLASH = '\\'.charCodeAt(0) +const SLASH = '/'.charCodeAt(0) +const NEWLINE = '\n'.charCodeAt(0) +const SPACE = ' '.charCodeAt(0) +const FEED = '\f'.charCodeAt(0) +const TAB = '\t'.charCodeAt(0) +const CR = '\r'.charCodeAt(0) +const OPEN_SQUARE = '['.charCodeAt(0) +const CLOSE_SQUARE = ']'.charCodeAt(0) +const OPEN_PARENTHESES = '('.charCodeAt(0) +const CLOSE_PARENTHESES = ')'.charCodeAt(0) +const OPEN_CURLY = '{'.charCodeAt(0) +const CLOSE_CURLY = '}'.charCodeAt(0) +const SEMICOLON = ';'.charCodeAt(0) +const ASTERISK = '*'.charCodeAt(0) +const COLON = ':'.charCodeAt(0) +const AT = '@'.charCodeAt(0) + +const RE_AT_END = /[\t\n\f\r "#'()/;[\\\]{}]/g +const RE_WORD_END = /[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g +const RE_BAD_BRACKET = /.[\r\n"'(/\\]/ +const RE_HEX_ESCAPE = /[\da-f]/i + +module.exports = function tokenizer(input, options = {}) { + let css = input.css.valueOf() + let ignore = options.ignoreErrors + + let code, next, quote, content, escape + let escaped, escapePos, prev, n, currentToken + + let length = css.length + let pos = 0 + let buffer = [] + let returned = [] + + function position() { + return pos + } + + function unclosed(what) { + throw input.error('Unclosed ' + what, pos) + } + + function endOfFile() { + return returned.length === 0 && pos >= length + } + + function nextToken(opts) { + if (returned.length) return returned.pop() + if (pos >= length) return + + let ignoreUnclosed = opts ? opts.ignoreUnclosed : false + + code = css.charCodeAt(pos) + + switch (code) { + case NEWLINE: + case SPACE: + case TAB: + case CR: + case FEED: { + next = pos + do { + next += 1 + code = css.charCodeAt(next) + } while ( + code === SPACE || + code === NEWLINE || + code === TAB || + code === CR || + code === FEED + ) + + currentToken = ['space', css.slice(pos, next)] + pos = next - 1 + break + } + + case OPEN_SQUARE: + case CLOSE_SQUARE: + case OPEN_CURLY: + case CLOSE_CURLY: + case COLON: + case SEMICOLON: + case CLOSE_PARENTHESES: { + let controlChar = String.fromCharCode(code) + currentToken = [controlChar, controlChar, pos] + break + } + + case OPEN_PARENTHESES: { + prev = buffer.length ? buffer.pop()[1] : '' + n = css.charCodeAt(pos + 1) + if ( + prev === 'url' && + n !== SINGLE_QUOTE && + n !== DOUBLE_QUOTE && + n !== SPACE && + n !== NEWLINE && + n !== TAB && + n !== FEED && + n !== CR + ) { + next = pos + do { + escaped = false + next = css.indexOf(')', next + 1) + if (next === -1) { + if (ignore || ignoreUnclosed) { + next = pos + break + } else { + unclosed('bracket') + } + } + escapePos = next + while (css.charCodeAt(escapePos - 1) === BACKSLASH) { + escapePos -= 1 + escaped = !escaped + } + } while (escaped) + + currentToken = ['brackets', css.slice(pos, next + 1), pos, next] + + pos = next + } else { + next = css.indexOf(')', pos + 1) + content = css.slice(pos, next + 1) + + if (next === -1 || RE_BAD_BRACKET.test(content)) { + currentToken = ['(', '(', pos] + } else { + currentToken = ['brackets', content, pos, next] + pos = next + } + } + + break + } + + case SINGLE_QUOTE: + case DOUBLE_QUOTE: { + quote = code === SINGLE_QUOTE ? "'" : '"' + next = pos + do { + escaped = false + next = css.indexOf(quote, next + 1) + if (next === -1) { + if (ignore || ignoreUnclosed) { + next = pos + 1 + break + } else { + unclosed('string') + } + } + escapePos = next + while (css.charCodeAt(escapePos - 1) === BACKSLASH) { + escapePos -= 1 + escaped = !escaped + } + } while (escaped) + + currentToken = ['string', css.slice(pos, next + 1), pos, next] + pos = next + break + } + + case AT: { + RE_AT_END.lastIndex = pos + 1 + RE_AT_END.test(css) + if (RE_AT_END.lastIndex === 0) { + next = css.length - 1 + } else { + next = RE_AT_END.lastIndex - 2 + } + + currentToken = ['at-word', css.slice(pos, next + 1), pos, next] + + pos = next + break + } + + case BACKSLASH: { + next = pos + escape = true + while (css.charCodeAt(next + 1) === BACKSLASH) { + next += 1 + escape = !escape + } + code = css.charCodeAt(next + 1) + if ( + escape && + code !== SLASH && + code !== SPACE && + code !== NEWLINE && + code !== TAB && + code !== CR && + code !== FEED + ) { + next += 1 + if (RE_HEX_ESCAPE.test(css.charAt(next))) { + while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) { + next += 1 + } + if (css.charCodeAt(next + 1) === SPACE) { + next += 1 + } + } + } + + currentToken = ['word', css.slice(pos, next + 1), pos, next] + + pos = next + break + } + + default: { + if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) { + next = css.indexOf('*/', pos + 2) + 1 + if (next === 0) { + if (ignore || ignoreUnclosed) { + next = css.length + } else { + unclosed('comment') + } + } + + currentToken = ['comment', css.slice(pos, next + 1), pos, next] + pos = next + } else { + RE_WORD_END.lastIndex = pos + 1 + RE_WORD_END.test(css) + if (RE_WORD_END.lastIndex === 0) { + next = css.length - 1 + } else { + next = RE_WORD_END.lastIndex - 2 + } + + currentToken = ['word', css.slice(pos, next + 1), pos, next] + buffer.push(currentToken) + pos = next + } + + break + } + } + + pos++ + return currentToken + } + + function back(token) { + returned.push(token) + } + + return { + back, + endOfFile, + nextToken, + position + } +} + + +/***/ }), + +/***/ 7892: +/***/ (function(module) { + +"use strict"; +/* eslint-disable no-console */ + + +let printed = {} + +module.exports = function warnOnce(message) { + if (printed[message]) return + printed[message] = true + + if (typeof console !== 'undefined' && console.warn) { + console.warn(message) + } +} + + +/***/ }), + +/***/ 9871: +/***/ (function(module) { + +"use strict"; + + +class Warning { + constructor(text, opts = {}) { + this.type = 'warning' + this.text = text + + if (opts.node && opts.node.source) { + let range = opts.node.rangeBy(opts) + this.line = range.start.line + this.column = range.start.column + this.endLine = range.end.line + this.endColumn = range.end.column + } + + for (let opt in opts) this[opt] = opts[opt] + } + + toString() { + if (this.node) { + return this.node.error(this.text, { + index: this.index, + plugin: this.plugin, + word: this.word + }).message + } + + if (this.plugin) { + return this.plugin + ': ' + this.text + } + + return this.text + } +} + +module.exports = Warning +Warning.default = Warning + + /***/ }), /***/ 5372: @@ -2909,325 +8230,6 @@ module.exports.has = hasAccents; module.exports.remove = removeAccents; -/***/ }), - -/***/ 3124: -/***/ (function(module) { - -"use strict"; - - -// TODO: use call-bind, is-date, is-regex, is-string, is-boolean-object, is-number-object -function toS(obj) { return Object.prototype.toString.call(obj); } -function isDate(obj) { return toS(obj) === '[object Date]'; } -function isRegExp(obj) { return toS(obj) === '[object RegExp]'; } -function isError(obj) { return toS(obj) === '[object Error]'; } -function isBoolean(obj) { return toS(obj) === '[object Boolean]'; } -function isNumber(obj) { return toS(obj) === '[object Number]'; } -function isString(obj) { return toS(obj) === '[object String]'; } - -// TODO: use isarray -var isArray = Array.isArray || function isArray(xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; -}; - -// TODO: use for-each? -function forEach(xs, fn) { - if (xs.forEach) { return xs.forEach(fn); } - for (var i = 0; i < xs.length; i++) { - fn(xs[i], i, xs); - } - return void undefined; -} - -// TODO: use object-keys -var objectKeys = Object.keys || function keys(obj) { - var res = []; - for (var key in obj) { res.push(key); } // eslint-disable-line no-restricted-syntax - return res; -}; - -// TODO: use object.hasown -var hasOwnProperty = Object.prototype.hasOwnProperty || function (obj, key) { - return key in obj; -}; - -function copy(src) { - if (typeof src === 'object' && src !== null) { - var dst; - - if (isArray(src)) { - dst = []; - } else if (isDate(src)) { - dst = new Date(src.getTime ? src.getTime() : src); - } else if (isRegExp(src)) { - dst = new RegExp(src); - } else if (isError(src)) { - dst = { message: src.message }; - } else if (isBoolean(src) || isNumber(src) || isString(src)) { - dst = Object(src); - } else if (Object.create && Object.getPrototypeOf) { - dst = Object.create(Object.getPrototypeOf(src)); - } else if (src.constructor === Object) { - dst = {}; - } else { - var proto = (src.constructor && src.constructor.prototype) - || src.__proto__ - || {}; - var T = function T() {}; // eslint-disable-line func-style, func-name-matching - T.prototype = proto; - dst = new T(); - } - - forEach(objectKeys(src), function (key) { - dst[key] = src[key]; - }); - return dst; - } - return src; -} - -function walk(root, cb, immutable) { - var path = []; - var parents = []; - var alive = true; - - return (function walker(node_) { - var node = immutable ? copy(node_) : node_; - var modifiers = {}; - - var keepGoing = true; - - var state = { - node: node, - node_: node_, - path: [].concat(path), - parent: parents[parents.length - 1], - parents: parents, - key: path[path.length - 1], - isRoot: path.length === 0, - level: path.length, - circular: null, - update: function (x, stopHere) { - if (!state.isRoot) { - state.parent.node[state.key] = x; - } - state.node = x; - if (stopHere) { keepGoing = false; } - }, - delete: function (stopHere) { - delete state.parent.node[state.key]; - if (stopHere) { keepGoing = false; } - }, - remove: function (stopHere) { - if (isArray(state.parent.node)) { - state.parent.node.splice(state.key, 1); - } else { - delete state.parent.node[state.key]; - } - if (stopHere) { keepGoing = false; } - }, - keys: null, - before: function (f) { modifiers.before = f; }, - after: function (f) { modifiers.after = f; }, - pre: function (f) { modifiers.pre = f; }, - post: function (f) { modifiers.post = f; }, - stop: function () { alive = false; }, - block: function () { keepGoing = false; }, - }; - - if (!alive) { return state; } - - function updateState() { - if (typeof state.node === 'object' && state.node !== null) { - if (!state.keys || state.node_ !== state.node) { - state.keys = objectKeys(state.node); - } - - state.isLeaf = state.keys.length === 0; - - for (var i = 0; i < parents.length; i++) { - if (parents[i].node_ === node_) { - state.circular = parents[i]; - break; // eslint-disable-line no-restricted-syntax - } - } - } else { - state.isLeaf = true; - state.keys = null; - } - - state.notLeaf = !state.isLeaf; - state.notRoot = !state.isRoot; - } - - updateState(); - - // use return values to update if defined - var ret = cb.call(state, state.node); - if (ret !== undefined && state.update) { state.update(ret); } - - if (modifiers.before) { modifiers.before.call(state, state.node); } - - if (!keepGoing) { return state; } - - if ( - typeof state.node === 'object' - && state.node !== null - && !state.circular - ) { - parents.push(state); - - updateState(); - - forEach(state.keys, function (key, i) { - path.push(key); - - if (modifiers.pre) { modifiers.pre.call(state, state.node[key], key); } - - var child = walker(state.node[key]); - if (immutable && hasOwnProperty.call(state.node, key)) { - state.node[key] = child.node; - } - - child.isLast = i === state.keys.length - 1; - child.isFirst = i === 0; - - if (modifiers.post) { modifiers.post.call(state, child); } - - path.pop(); - }); - parents.pop(); - } - - if (modifiers.after) { modifiers.after.call(state, state.node); } - - return state; - }(root)).node; -} - -function Traverse(obj) { - this.value = obj; -} - -Traverse.prototype.get = function (ps) { - var node = this.value; - for (var i = 0; i < ps.length; i++) { - var key = ps[i]; - if (!node || !hasOwnProperty.call(node, key)) { - return void undefined; - } - node = node[key]; - } - return node; -}; - -Traverse.prototype.has = function (ps) { - var node = this.value; - for (var i = 0; i < ps.length; i++) { - var key = ps[i]; - if (!node || !hasOwnProperty.call(node, key)) { - return false; - } - node = node[key]; - } - return true; -}; - -Traverse.prototype.set = function (ps, value) { - var node = this.value; - for (var i = 0; i < ps.length - 1; i++) { - var key = ps[i]; - if (!hasOwnProperty.call(node, key)) { node[key] = {}; } - node = node[key]; - } - node[ps[i]] = value; - return value; -}; - -Traverse.prototype.map = function (cb) { - return walk(this.value, cb, true); -}; - -Traverse.prototype.forEach = function (cb) { - this.value = walk(this.value, cb, false); - return this.value; -}; - -Traverse.prototype.reduce = function (cb, init) { - var skip = arguments.length === 1; - var acc = skip ? this.value : init; - this.forEach(function (x) { - if (!this.isRoot || !skip) { - acc = cb.call(this, acc, x); - } - }); - return acc; -}; - -Traverse.prototype.paths = function () { - var acc = []; - this.forEach(function () { - acc.push(this.path); - }); - return acc; -}; - -Traverse.prototype.nodes = function () { - var acc = []; - this.forEach(function () { - acc.push(this.node); - }); - return acc; -}; - -Traverse.prototype.clone = function () { - var parents = []; - var nodes = []; - - return (function clone(src) { - for (var i = 0; i < parents.length; i++) { - if (parents[i] === src) { - return nodes[i]; - } - } - - if (typeof src === 'object' && src !== null) { - var dst = copy(src); - - parents.push(src); - nodes.push(dst); - - forEach(objectKeys(src), function (key) { - dst[key] = clone(src[key]); - }); - - parents.pop(); - nodes.pop(); - return dst; - } - - return src; - - }(this.value)); -}; - -function traverse(obj) { - return new Traverse(obj); -} - -// TODO: replace with object.assign? -forEach(objectKeys(Traverse.prototype), function (key) { - traverse[key] = function (obj) { - var args = [].slice.call(arguments, 1); - var t = new Traverse(obj); - return t[key].apply(t, args); - }; -}); - -module.exports = traverse; - - /***/ }), /***/ 9196: @@ -3236,6 +8238,69 @@ module.exports = traverse; "use strict"; module.exports = window["React"]; +/***/ }), + +/***/ 2868: +/***/ (function() { + +/* (ignored) */ + +/***/ }), + +/***/ 4777: +/***/ (function() { + +/* (ignored) */ + +/***/ }), + +/***/ 9830: +/***/ (function() { + +/* (ignored) */ + +/***/ }), + +/***/ 209: +/***/ (function() { + +/* (ignored) */ + +/***/ }), + +/***/ 7414: +/***/ (function() { + +/* (ignored) */ + +/***/ }), + +/***/ 2961: +/***/ (function(module) { + +let urlAlphabet = + 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict' +let customAlphabet = (alphabet, defaultSize = 21) => { + return (size = defaultSize) => { + let id = '' + let i = size + while (i--) { + id += alphabet[(Math.random() * alphabet.length) | 0] + } + return id + } +} +let nanoid = (size = 21) => { + let id = '' + let i = size + while (i--) { + id += urlAlphabet[(Math.random() * 64) | 0] + } + return id +} +module.exports = { nanoid, customAlphabet } + + /***/ }) /******/ }); @@ -3340,7 +8405,7 @@ __webpack_require__.d(__webpack_exports__, { BlockSettingsMenuControls: function() { return /* reexport */ block_settings_menu_controls; }, BlockStyles: function() { return /* reexport */ block_styles; }, BlockTitle: function() { return /* reexport */ BlockTitle; }, - BlockToolbar: function() { return /* reexport */ block_toolbar; }, + BlockToolbar: function() { return /* reexport */ BlockToolbar; }, BlockTools: function() { return /* reexport */ BlockTools; }, BlockVerticalAlignmentControl: function() { return /* reexport */ BlockVerticalAlignmentControl; }, BlockVerticalAlignmentToolbar: function() { return /* reexport */ BlockVerticalAlignmentToolbar; }, @@ -3349,7 +8414,7 @@ __webpack_require__.d(__webpack_exports__, { ColorPalette: function() { return /* reexport */ color_palette; }, ColorPaletteControl: function() { return /* reexport */ ColorPaletteControl; }, ContrastChecker: function() { return /* reexport */ contrast_checker; }, - CopyHandler: function() { return /* reexport */ copy_handler; }, + CopyHandler: function() { return /* reexport */ CopyHandler; }, DefaultBlockAppender: function() { return /* reexport */ default_block_appender; }, FontSizePicker: function() { return /* reexport */ font_size_picker; }, HeadingLevelDropdown: function() { return /* reexport */ HeadingLevelDropdown; }, @@ -3366,10 +8431,11 @@ __webpack_require__.d(__webpack_exports__, { MediaUpload: function() { return /* reexport */ media_upload; }, MediaUploadCheck: function() { return /* reexport */ check; }, MultiSelectScrollIntoView: function() { return /* reexport */ MultiSelectScrollIntoView; }, - NavigableToolbar: function() { return /* reexport */ navigable_toolbar; }, + NavigableToolbar: function() { return /* reexport */ NavigableToolbar; }, ObserveTyping: function() { return /* reexport */ observe_typing; }, PanelColorSettings: function() { return /* reexport */ panel_color_settings; }, PlainText: function() { return /* reexport */ plain_text; }, + RecursionProvider: function() { return /* reexport */ RecursionProvider; }, ReusableBlocksRenameHint: function() { return /* reexport */ ReusableBlocksRenameHint; }, RichText: function() { return /* reexport */ rich_text; }, RichTextShortcut: function() { return /* reexport */ RichTextShortcut; }, @@ -3402,7 +8468,7 @@ __webpack_require__.d(__webpack_exports__, { __experimentalGetGapCSSValue: function() { return /* reexport */ getGapCSSValue; }, __experimentalGetGradientClass: function() { return /* reexport */ __experimentalGetGradientClass; }, __experimentalGetGradientObjectByGradientValue: function() { return /* reexport */ __experimentalGetGradientObjectByGradientValue; }, - __experimentalGetMatchingVariation: function() { return /* reexport */ __experimentalGetMatchingVariation; }, + __experimentalGetShadowClassesAndStyles: function() { return /* reexport */ getShadowClassesAndStyles; }, __experimentalGetSpacingClassesAndStyles: function() { return /* reexport */ getSpacingClassesAndStyles; }, __experimentalImageEditor: function() { return /* reexport */ ImageEditor; }, __experimentalImageSizeControl: function() { return /* reexport */ ImageSizeControl; }, @@ -3418,7 +8484,7 @@ __webpack_require__.d(__webpack_exports__, { __experimentalPanelColorGradientSettings: function() { return /* reexport */ panel_color_gradient_settings; }, __experimentalPreviewOptions: function() { return /* reexport */ PreviewOptions; }, __experimentalPublishDateTimePicker: function() { return /* reexport */ publish_date_time_picker; }, - __experimentalRecursionProvider: function() { return /* reexport */ RecursionProvider; }, + __experimentalRecursionProvider: function() { return /* reexport */ DeprecatedExperimentalRecursionProvider; }, __experimentalResponsiveBlockControl: function() { return /* reexport */ responsive_block_control; }, __experimentalSpacingSizesControl: function() { return /* reexport */ SpacingSizesControl; }, __experimentalTextDecorationControl: function() { return /* reexport */ TextDecorationControl; }, @@ -3430,9 +8496,10 @@ __webpack_require__.d(__webpack_exports__, { __experimentalUseColorProps: function() { return /* reexport */ useColorProps; }, __experimentalUseCustomSides: function() { return /* reexport */ useCustomSides; }, __experimentalUseGradient: function() { return /* reexport */ __experimentalUseGradient; }, - __experimentalUseHasRecursion: function() { return /* reexport */ useHasRecursion; }, + __experimentalUseHasRecursion: function() { return /* reexport */ DeprecatedExperimentalUseHasRecursion; }, __experimentalUseMultipleOriginColorsAndGradients: function() { return /* reexport */ useMultipleOriginColorsAndGradients; }, __experimentalUseResizeCanvas: function() { return /* reexport */ useResizeCanvas; }, + __experimentalUseShadowProps: function() { return /* reexport */ useShadowProps; }, __experimentalWritingModeControl: function() { return /* reexport */ WritingModeControl; }, __unstableBlockNameContext: function() { return /* reexport */ block_name_context; }, __unstableBlockSettingsMenuFirstItem: function() { return /* reexport */ block_settings_menu_first_item; }, @@ -3442,7 +8509,7 @@ __webpack_require__.d(__webpack_exports__, { __unstableInserterMenuExtension: function() { return /* reexport */ inserter_menu_extension; }, __unstableRichTextInputEvent: function() { return /* reexport */ __unstableRichTextInputEvent; }, __unstableUseBlockSelectionClearer: function() { return /* reexport */ useBlockSelectionClearer; }, - __unstableUseClipboardHandler: function() { return /* reexport */ useClipboardHandler; }, + __unstableUseClipboardHandler: function() { return /* reexport */ __unstableUseClipboardHandler; }, __unstableUseMouseMoveTypingReset: function() { return /* reexport */ useMouseMoveTypingReset; }, __unstableUseTypewriter: function() { return /* reexport */ useTypewriter; }, __unstableUseTypingObserver: function() { return /* reexport */ useTypingObserver; }, @@ -3457,7 +8524,7 @@ __webpack_require__.d(__webpack_exports__, { getFontSizeObjectByValue: function() { return /* reexport */ utils_getFontSizeObjectByValue; }, getGradientSlugByValue: function() { return /* reexport */ getGradientSlugByValue; }, getGradientValueBySlug: function() { return /* reexport */ getGradientValueBySlug; }, - getPxFromCssUnit: function() { return /* reexport */ parse_css_unit_to_px; }, + getPxFromCssUnit: function() { return /* reexport */ get_px_from_css_unit; }, getSpacingPresetCssVar: function() { return /* reexport */ getSpacingPresetCssVar; }, getTypographyClassesAndStyles: function() { return /* reexport */ getTypographyClassesAndStyles; }, isValueSpacingPreset: function() { return /* reexport */ isValueSpacingPreset; }, @@ -3469,10 +8536,12 @@ __webpack_require__.d(__webpack_exports__, { useBlockDisplayInformation: function() { return /* reexport */ useBlockDisplayInformation; }, useBlockEditContext: function() { return /* reexport */ useBlockEditContext; }, useBlockEditingMode: function() { return /* reexport */ useBlockEditingMode; }, - useBlockProps: function() { return /* reexport */ useBlockProps; }, + useBlockProps: function() { return /* reexport */ use_block_props_useBlockProps; }, useCachedTruthy: function() { return /* reexport */ useCachedTruthy; }, + useHasRecursion: function() { return /* reexport */ useHasRecursion; }, useInnerBlocksProps: function() { return /* reexport */ useInnerBlocksProps; }, - useSetting: function() { return /* reexport */ use_setting_useSetting; }, + useSetting: function() { return /* reexport */ useSetting; }, + useSettings: function() { return /* reexport */ use_settings_useSettings; }, withColorContext: function() { return /* reexport */ with_color_context; }, withColors: function() { return /* reexport */ withColors; }, withFontSizes: function() { return /* reexport */ with_font_sizes; } @@ -3493,7 +8562,6 @@ __webpack_require__.d(selectors_namespaceObject, { __experimentalGetPatternTransformItems: function() { return __experimentalGetPatternTransformItems; }, __experimentalGetPatternsByBlockTypes: function() { return __experimentalGetPatternsByBlockTypes; }, __experimentalGetReusableBlockTitle: function() { return __experimentalGetReusableBlockTitle; }, - __experimentalUserPatternCategories: function() { return __experimentalUserPatternCategories; }, __unstableGetBlockWithoutInnerBlocks: function() { return __unstableGetBlockWithoutInnerBlocks; }, __unstableGetClientIdWithClientIdsTree: function() { return __unstableGetClientIdWithClientIdsTree; }, __unstableGetClientIdsTree: function() { return __unstableGetClientIdsTree; }, @@ -3501,6 +8569,7 @@ __webpack_require__.d(selectors_namespaceObject, { __unstableGetEditorMode: function() { return __unstableGetEditorMode; }, __unstableGetSelectedBlocksWithPartialSelection: function() { return __unstableGetSelectedBlocksWithPartialSelection; }, __unstableGetTemporarilyEditingAsBlocks: function() { return __unstableGetTemporarilyEditingAsBlocks; }, + __unstableGetTemporarilyEditingFocusModeToRevert: function() { return __unstableGetTemporarilyEditingFocusModeToRevert; }, __unstableGetVisibleBlocks: function() { return __unstableGetVisibleBlocks; }, __unstableHasActiveBlockOverlayActive: function() { return __unstableHasActiveBlockOverlayActive; }, __unstableIsFullySelected: function() { return __unstableIsFullySelected; }, @@ -3541,6 +8610,7 @@ __webpack_require__.d(selectors_namespaceObject, { getBlockTransformItems: function() { return getBlockTransformItems; }, getBlocks: function() { return getBlocks; }, getBlocksByClientId: function() { return getBlocksByClientId; }, + getBlocksByName: function() { return getBlocksByName; }, getClientIdsOfDescendants: function() { return getClientIdsOfDescendants; }, getClientIdsWithDescendants: function() { return getClientIdsWithDescendants; }, getDirectInsertBlock: function() { return getDirectInsertBlock; }, @@ -3607,29 +8677,46 @@ __webpack_require__.d(private_actions_namespaceObject, { ensureDefaultBlock: function() { return ensureDefaultBlock; }, hideBlockInterface: function() { return hideBlockInterface; }, privateRemoveBlocks: function() { return privateRemoveBlocks; }, + registerBlockBindingsSource: function() { return registerBlockBindingsSource; }, setBlockRemovalRules: function() { return setBlockRemovalRules; }, + setLastFocus: function() { return setLastFocus; }, setOpenedBlockSettingsMenu: function() { return setOpenedBlockSettingsMenu; }, setStyleOverride: function() { return setStyleOverride; }, - showBlockInterface: function() { return showBlockInterface; } + showBlockInterface: function() { return showBlockInterface; }, + stopEditingAsBlocks: function() { return stopEditingAsBlocks; }, + syncDerivedUpdates: function() { return syncDerivedUpdates; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-editor/build-module/store/private-selectors.js var private_selectors_namespaceObject = {}; __webpack_require__.r(private_selectors_namespaceObject); __webpack_require__.d(private_selectors_namespaceObject, { + getAllBlockBindingsSources: function() { return getAllBlockBindingsSources; }, + getAllPatterns: function() { return getAllPatterns; }, + getBlockBindingsSource: function() { return getBlockBindingsSource; }, getBlockRemovalRules: function() { return getBlockRemovalRules; }, getEnabledBlockParents: function() { return getEnabledBlockParents; }, getEnabledClientIdsTree: function() { return getEnabledClientIdsTree; }, + getFetchedPatterns: function() { return getFetchedPatterns; }, getInserterMediaCategories: function() { return getInserterMediaCategories; }, + getLastFocus: function() { return getLastFocus; }, getLastInsertedBlocksClientIds: function() { return getLastInsertedBlocksClientIds; }, getOpenedBlockSettingsMenu: function() { return getOpenedBlockSettingsMenu; }, getRegisteredInserterMediaCategories: function() { return getRegisteredInserterMediaCategories; }, getRemovalPromptData: function() { return getRemovalPromptData; }, getStyleOverrides: function() { return getStyleOverrides; }, + hasAllowedPatterns: function() { return hasAllowedPatterns; }, isBlockInterfaceHidden: function() { return private_selectors_isBlockInterfaceHidden; }, isBlockSubtreeDisabled: function() { return isBlockSubtreeDisabled; } }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-editor/build-module/store/resolvers.js +var resolvers_namespaceObject = {}; +__webpack_require__.r(resolvers_namespaceObject); +__webpack_require__.d(resolvers_namespaceObject, { + getFetchedPatterns: function() { return resolvers_getFetchedPatterns; } +}); + // NAMESPACE OBJECT: ./node_modules/@wordpress/block-editor/build-module/store/actions.js var actions_namespaceObject = {}; __webpack_require__.r(actions_namespaceObject); @@ -3713,6 +8800,7 @@ __webpack_require__.d(global_styles_namespaceObject, { TypographyPanel: function() { return TypographyPanel; }, areGlobalStyleConfigsEqual: function() { return areGlobalStyleConfigsEqual; }, getBlockCSSSelector: function() { return getBlockCSSSelector; }, + getGlobalStylesChanges: function() { return getGlobalStylesChanges; }, getLayoutStyles: function() { return getLayoutStyles; }, useGlobalSetting: function() { return useGlobalSetting; }, useGlobalStyle: function() { return useGlobalStyle; }, @@ -3729,57 +8817,49 @@ __webpack_require__.d(global_styles_namespaceObject, { useSettingsForBlockElement: function() { return useSettingsForBlockElement; } }); +// EXTERNAL MODULE: external "React" +var external_React_ = __webpack_require__(9196); +var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); ;// CONCATENATED MODULE: external ["wp","blocks"] var external_wp_blocks_namespaceObject = window["wp"]["blocks"]; -;// CONCATENATED MODULE: external ["wp","hooks"] -var external_wp_hooks_namespaceObject = window["wp"]["hooks"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/compat.js -/** - * WordPress dependencies - */ - - -function migrateLightBlockWrapper(settings) { - const { - apiVersion = 1 - } = settings; - if (apiVersion < 2 && (0,external_wp_blocks_namespaceObject.hasBlockSupport)(settings, 'lightBlockWrapper', false)) { - settings.apiVersion = 2; - } - return settings; -} -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/compat/migrateLightBlockWrapper', migrateLightBlockWrapper); - ;// CONCATENATED MODULE: external ["wp","element"] var external_wp_element_namespaceObject = window["wp"]["element"]; -// EXTERNAL MODULE: ./node_modules/classnames/index.js -var classnames = __webpack_require__(4403); -var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); -;// CONCATENATED MODULE: external ["wp","compose"] -var external_wp_compose_namespaceObject = window["wp"]["compose"]; -;// CONCATENATED MODULE: external ["wp","components"] -var external_wp_components_namespaceObject = window["wp"]["components"]; ;// CONCATENATED MODULE: external ["wp","data"] var external_wp_data_namespaceObject = window["wp"]["data"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/groups.js +;// CONCATENATED MODULE: external ["wp","compose"] +var external_wp_compose_namespaceObject = window["wp"]["compose"]; +;// CONCATENATED MODULE: external ["wp","hooks"] +var external_wp_hooks_namespaceObject = window["wp"]["hooks"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/context.js /** * WordPress dependencies */ -const BlockControlsDefault = (0,external_wp_components_namespaceObject.createSlotFill)('BlockControls'); -const BlockControlsBlock = (0,external_wp_components_namespaceObject.createSlotFill)('BlockControlsBlock'); -const BlockControlsInline = (0,external_wp_components_namespaceObject.createSlotFill)('BlockFormatControls'); -const BlockControlsOther = (0,external_wp_components_namespaceObject.createSlotFill)('BlockControlsOther'); -const BlockControlsParent = (0,external_wp_components_namespaceObject.createSlotFill)('BlockControlsParent'); -const groups = { - default: BlockControlsDefault, - block: BlockControlsBlock, - inline: BlockControlsInline, - other: BlockControlsOther, - parent: BlockControlsParent +const mayDisplayControlsKey = Symbol('mayDisplayControls'); +const mayDisplayParentControlsKey = Symbol('mayDisplayParentControls'); +const blockEditingModeKey = Symbol('blockEditingMode'); +const DEFAULT_BLOCK_EDIT_CONTEXT = { + name: '', + isSelected: false }; -/* harmony default export */ var block_controls_groups = (groups); +const Context = (0,external_wp_element_namespaceObject.createContext)(DEFAULT_BLOCK_EDIT_CONTEXT); +const { + Provider +} = Context; + +/** + * A hook that returns the block edit context. + * + * @return {Object} Block edit context + */ +function useBlockEditContext() { + return (0,external_wp_element_namespaceObject.useContext)(Context); +} + +;// CONCATENATED MODULE: external ["wp","deprecated"] +var external_wp_deprecated_namespaceObject = window["wp"]["deprecated"]; +var external_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_wp_deprecated_namespaceObject); // EXTERNAL MODULE: ./node_modules/fast-deep-equal/es6/index.js var es6 = __webpack_require__(5619); var es6_default = /*#__PURE__*/__webpack_require__.n(es6); @@ -4326,6 +9406,7 @@ const withBlockTree = reducer => (state = {}, action) => { }); updateParentInnerBlocksInTree(newState, [action.clientId], false); break; + case 'SYNC_DERIVED_BLOCK_ATTRIBUTES': case 'UPDATE_BLOCK_ATTRIBUTES': { newState.tree = new Map(newState.tree); @@ -4433,16 +9514,30 @@ const withBlockTree = reducer => (state = {}, action) => { function withPersistentBlockChange(reducer) { let lastAction; let markNextChangeAsNotPersistent = false; + let explicitPersistent; return (state, action) => { let nextState = reducer(state, action); + let nextIsPersistentChange; + if (action.type === 'SET_EXPLICIT_PERSISTENT') { + var _state$isPersistentCh; + explicitPersistent = action.isPersistentChange; + nextIsPersistentChange = (_state$isPersistentCh = state.isPersistentChange) !== null && _state$isPersistentCh !== void 0 ? _state$isPersistentCh : true; + } + if (explicitPersistent !== undefined) { + nextIsPersistentChange = explicitPersistent; + return nextIsPersistentChange === nextState.isPersistentChange ? nextState : { + ...nextState, + isPersistentChange: nextIsPersistentChange + }; + } const isExplicitPersistentChange = action.type === 'MARK_LAST_CHANGE_AS_PERSISTENT' || markNextChangeAsNotPersistent; // Defer to previous state value (or default) unless changing or // explicitly marking as persistent. if (state === nextState && !isExplicitPersistentChange) { - var _state$isPersistentCh; + var _state$isPersistentCh2; markNextChangeAsNotPersistent = action.type === 'MARK_NEXT_CHANGE_AS_NOT_PERSISTENT'; - const nextIsPersistentChange = (_state$isPersistentCh = state?.isPersistentChange) !== null && _state$isPersistentCh !== void 0 ? _state$isPersistentCh : true; + nextIsPersistentChange = (_state$isPersistentCh2 = state?.isPersistentChange) !== null && _state$isPersistentCh2 !== void 0 ? _state$isPersistentCh2 : true; if (state.isPersistentChange === nextIsPersistentChange) { return state; } @@ -4805,6 +9900,7 @@ withBlockReset, withPersistentBlockChange, withIgnoredBlockChange, withResetCont }); return newState; } + case 'SYNC_DERIVED_BLOCK_ATTRIBUTES': case 'UPDATE_BLOCK_ATTRIBUTES': { // Avoid a state change if none of the block IDs are known. @@ -5433,13 +10529,15 @@ function insertionPoint(state = null, action) { rootClientId, index, __unstableWithInserter, - operation + operation, + nearestSide } = action; const nextState = { rootClientId, index, __unstableWithInserter, - operation + operation, + nearestSide }; // Bail out updates if the states are the same. @@ -5724,6 +10822,21 @@ function temporarilyEditingAsBlocks(state = '', action) { return state; } +/** + * Reducer returning the focus mode that should be used when temporarily edit as blocks finishes. + * + * @param {Object} state Current state. + * @param {Object} action Dispatched action. + * + * @return {Object} Updated state. + */ +function temporarilyEditingFocusModeRevert(state = '', action) { + if (action.type === 'SET_TEMPORARILY_EDITING_AS_BLOCKS') { + return action.focusModeToRevert; + } + return state; +} + /** * Reducer returning a map of block client IDs to block editing modes. * @@ -5803,6 +10916,42 @@ function registeredInserterMediaCategories(state = [], action) { } return state; } + +/** + * Reducer setting last focused element + * + * @param {boolean} state Current state. + * @param {Object} action Dispatched action. + * + * @return {boolean} Updated state. + */ +function lastFocus(state = false, action) { + switch (action.type) { + case 'LAST_FOCUS': + return action.lastFocus; + } + return state; +} +function blockBindingsSources(state = {}, action) { + if (action.type === 'REGISTER_BLOCK_BINDINGS_SOURCE') { + return { + ...state, + [action.sourceName]: { + label: action.sourceLabel, + useSource: action.useSource, + lockAttributesEditing: action.lockAttributesEditing + } + }; + } + return state; +} +function blockPatterns(state = [], action) { + switch (action.type) { + case 'RECEIVE_BLOCK_PATTERNS': + return action.patterns; + } + return state; +} const combinedReducers = (0,external_wp_data_namespaceObject.combineReducers)({ blocks, isTyping, @@ -5819,18 +10968,22 @@ const combinedReducers = (0,external_wp_data_namespaceObject.combineReducers)({ settings, preferences, lastBlockAttributesChange, + lastFocus, editorMode, hasBlockMovingClientId, highlightedBlock, lastBlockInserted, temporarilyEditingAsBlocks, + temporarilyEditingFocusModeRevert, blockVisibility, blockEditingModes, styleOverrides, removalPromptData, blockRemovalRules, openedBlockSettingsMenu, - registeredInserterMediaCategories + registeredInserterMediaCategories, + blockBindingsSources, + blockPatterns }); function withAutomaticChangeReset(reducer) { return (state, action) => { @@ -6180,35 +11333,52 @@ var external_wp_primitives_namespaceObject = window["wp"]["primitives"]; * WordPress dependencies */ -const symbol = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const symbol = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z" })); /* harmony default export */ var library_symbol = (symbol); ;// CONCATENATED MODULE: external ["wp","richText"] var external_wp_richText_namespaceObject = window["wp"]["richText"]; -;// CONCATENATED MODULE: external ["wp","deprecated"] -var external_wp_deprecated_namespaceObject = window["wp"]["deprecated"]; -var external_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_wp_deprecated_namespaceObject); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/utils.js -/** - * Helper function that maps attribute definition properties to the - * ones used by RichText utils like `create, toHTMLString, etc..`. - * - * @param {Object} attributeDefinition A block's attribute definition object. - * @return {Object} The mapped object. - */ -function mapRichTextSettings(attributeDefinition) { - const { - __unstablePreserveWhiteSpace: preserveWhiteSpace - } = attributeDefinition; - return { - preserveWhiteSpace - }; -} +const checkAllowList = (list, item, defaultResult = null) => { + if (typeof list === 'boolean') { + return list; + } + if (Array.isArray(list)) { + // TODO: when there is a canonical way to detect that we are editing a post + // the following check should be changed to something like: + // if ( list.includes( 'core/post-content' ) && getEditorMode() === 'post-content' && item === null ) + if (list.includes('core/post-content') && item === null) { + return true; + } + return list.includes(item); + } + return defaultResult; +}; +const checkAllowListRecursive = (blocks, allowedBlockTypes) => { + if (typeof allowedBlockTypes === 'boolean') { + return allowedBlockTypes; + } + const blocksQueue = [...blocks]; + while (blocksQueue.length > 0) { + const block = blocksQueue.shift(); + const isAllowed = checkAllowList(allowedBlockTypes, block.name || block.blockName, true); + if (!isAllowed) { + return false; + } + block.innerBlocks?.forEach(innerBlock => { + blocksQueue.push(innerBlock); + }); + } + return true; +}; +const getAllPatternsDependants = state => { + return [state.settings.__experimentalBlockPatterns, state.settings.__experimentalUserPatternCategories, state.settings.__experimentalReusableBlocks, state.settings.__experimentalFetchBlockPatterns, state.blockPatterns]; +}; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/sorting.js /** @@ -6262,6 +11432,21 @@ function orderBy(items, field, order = 'asc') { return items.concat().sort(comparator(field, items, order)); } +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/constants.js +const STORE_NAME = 'core/block-editor'; + +;// CONCATENATED MODULE: external ["wp","privateApis"] +var external_wp_privateApis_namespaceObject = window["wp"]["privateApis"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/lock-unlock.js +/** + * WordPress dependencies + */ + +const { + lock, + unlock +} = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.', '@wordpress/block-editor'); + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/selectors.js /** * External dependencies @@ -6285,6 +11470,8 @@ function orderBy(items, field, order = 'asc') { + + /** * A block selection object. * @@ -6528,14 +11715,14 @@ const getGlobalBlockCount = rememo((state, blockName) => { }, state => [state.blocks.order, state.blocks.byClientId]); /** - * Returns all global blocks that match a blockName. Results include nested blocks. + * Returns all blocks that match a blockName. Results include nested blocks. * * @param {Object} state Global application state. * @param {?string} blockName Optional block name, if not specified, returns an empty array. * * @return {Array} Array of clientIds of blocks with name equal to blockName. */ -const __experimentalGetGlobalBlocksByName = rememo((state, blockName) => { +const getBlocksByName = rememo((state, blockName) => { if (!blockName) { return EMPTY_ARRAY; } @@ -6548,6 +11735,24 @@ const __experimentalGetGlobalBlocksByName = rememo((state, blockName) => { return foundBlocks.length > 0 ? foundBlocks : EMPTY_ARRAY; }, state => [state.blocks.order, state.blocks.byClientId]); +/** + * Returns all global blocks that match a blockName. Results include nested blocks. + * + * @deprecated + * + * @param {Object} state Global application state. + * @param {?string} blockName Optional block name, if not specified, returns an empty array. + * + * @return {Array} Array of clientIds of blocks with name equal to blockName. + */ +function __experimentalGetGlobalBlocksByName(state, blockName) { + external_wp_deprecated_default()("wp.data.select( 'core/block-editor' ).__experimentalGetGlobalBlocksByName", { + since: '6.5', + alternative: `wp.data.select( 'core/block-editor' ).getBlocksByName` + }); + return getBlocksByName(state, blockName); +} + /** * Given an array of block client IDs, returns the corresponding array of block * objects. @@ -7208,20 +12413,14 @@ const __unstableGetSelectedBlocksWithPartialSelection = state => { // Reassign selection start and end based on order. const [selectionStart, selectionEnd] = anchorIndex > focusIndex ? [selectionFocus, selectionAnchor] : [selectionAnchor, selectionFocus]; const blockA = getBlock(state, selectionStart.clientId); - const blockAType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockA.name); const blockB = getBlock(state, selectionEnd.clientId); - const blockBType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockB.name); const htmlA = blockA.attributes[selectionStart.attributeKey]; const htmlB = blockB.attributes[selectionEnd.attributeKey]; - const attributeDefinitionA = blockAType.attributes[selectionStart.attributeKey]; - const attributeDefinitionB = blockBType.attributes[selectionEnd.attributeKey]; let valueA = (0,external_wp_richText_namespaceObject.create)({ - html: htmlA, - ...mapRichTextSettings(attributeDefinitionA) + html: htmlA }); let valueB = (0,external_wp_richText_namespaceObject.create)({ - html: htmlB, - ...mapRichTextSettings(attributeDefinitionB) + html: htmlB }); valueA = (0,external_wp_richText_namespaceObject.remove)(valueA, 0, selectionStart.offset); valueB = (0,external_wp_richText_namespaceObject.remove)(valueB, selectionEnd.offset, valueB.text.length); @@ -7230,8 +12429,7 @@ const __unstableGetSelectedBlocksWithPartialSelection = state => { attributes: { ...blockA.attributes, [selectionStart.attributeKey]: (0,external_wp_richText_namespaceObject.toHTMLString)({ - value: valueA, - ...mapRichTextSettings(attributeDefinitionA) + value: valueA }) } }, { @@ -7239,8 +12437,7 @@ const __unstableGetSelectedBlocksWithPartialSelection = state => { attributes: { ...blockB.attributes, [selectionEnd.attributeKey]: (0,external_wp_richText_namespaceObject.toHTMLString)({ - value: valueB, - ...mapRichTextSettings(attributeDefinitionB) + value: valueB }) } }]; @@ -7562,21 +12759,6 @@ function getTemplateLock(state, rootClientId) { } return (_getBlockListSettings = getBlockListSettings(state, rootClientId)?.templateLock) !== null && _getBlockListSettings !== void 0 ? _getBlockListSettings : false; } -const checkAllowList = (list, item, defaultResult = null) => { - if (typeof list === 'boolean') { - return list; - } - if (Array.isArray(list)) { - // TODO: when there is a canonical way to detect that we are editing a post - // the following check should be changed to something like: - // if ( list.includes( 'core/post-content' ) && getEditorMode() === 'post-content' && item === null ) - if (list.includes('core/post-content') && item === null) { - return true; - } - return list.includes(item); - } - return defaultResult; -}; /** * Determines if the given block type is allowed to be inserted into the block list. @@ -7989,7 +13171,7 @@ const getInserterItems = rememo((state, rootClientId = null) => { utility: 1, // Deprecated. frecency, - content: reusableBlock.content.raw, + content: reusableBlock.content?.raw, syncStatus: reusableBlock.wp_pattern_sync_status }; }; @@ -8038,7 +13220,7 @@ const getInserterItems = rememo((state, rootClientId = null) => { }); const sortedBlockTypes = [...coreItems, ...nonCoreItems]; return [...sortedBlockTypes, ...syncedPatternInserterItems]; -}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.blocks.order, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0,external_wp_blocks_namespaceObject.getBlockTypes)()]); +}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.blocks.order, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0,external_wp_blocks_namespaceObject.getBlockTypes)()]); /** * Determines the items that appear in the available block transforms list. @@ -8080,7 +13262,7 @@ const getBlockTransformItems = rememo((state, blocks, rootClientId = null) => { return accumulator; }, []); return orderBy(possibleTransforms, block => itemsByName[block.name].frecency, 'desc'); -}, (state, blocks, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, (0,external_wp_blocks_namespaceObject.getBlockTypes)()]); +}, (state, blocks, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, (0,external_wp_blocks_namespaceObject.getBlockTypes)()]); /** * Determines whether there are items to show in the inserter. @@ -8097,7 +13279,7 @@ const hasInserterItems = rememo((state, rootClientId = null) => { } const hasReusableBlock = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId) && getReusableBlocks(state).length > 0; return hasReusableBlock; -}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0,external_wp_blocks_namespaceObject.getBlockTypes)()]); +}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0,external_wp_blocks_namespaceObject.getBlockTypes)()]); /** * Returns the list of allowed inserter blocks for inner blocks children. @@ -8113,8 +13295,11 @@ const getAllowedBlocks = rememo((state, rootClientId = null) => { } const blockTypes = (0,external_wp_blocks_namespaceObject.getBlockTypes)().filter(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId)); const hasReusableBlock = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId) && getReusableBlocks(state).length > 0; - return [...blockTypes, ...(hasReusableBlock ? ['core/block'] : [])]; -}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0,external_wp_blocks_namespaceObject.getBlockTypes)()]); + if (hasReusableBlock) { + blockTypes.push('core/block'); + } + return blockTypes; +}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0,external_wp_blocks_namespaceObject.getBlockTypes)()]); const __experimentalGetAllowedBlocks = rememo((state, rootClientId = null) => { external_wp_deprecated_default()('wp.data.select( "core/block-editor" ).__experimentalGetAllowedBlocks', { alternative: 'wp.data.select( "core/block-editor" ).getAllowedBlocks', @@ -8159,48 +13344,12 @@ const __experimentalGetDirectInsertBlock = rememo((state, rootClientId = null) = }); return getDirectInsertBlock(state, rootClientId); }, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.tree.get(rootClientId)]); -const checkAllowListRecursive = (blocks, allowedBlockTypes) => { - if (typeof allowedBlockTypes === 'boolean') { - return allowedBlockTypes; - } - const blocksQueue = [...blocks]; - while (blocksQueue.length > 0) { - const block = blocksQueue.shift(); - const isAllowed = checkAllowList(allowedBlockTypes, block.name || block.blockName, true); - if (!isAllowed) { - return false; - } - block.innerBlocks?.forEach(innerBlock => { - blocksQueue.push(innerBlock); - }); - } - return true; -}; -function getUserPatterns(state) { - var _state$settings$__exp, _state$settings$__exp2; - const userPatterns = (_state$settings$__exp = state?.settings?.__experimentalReusableBlocks) !== null && _state$settings$__exp !== void 0 ? _state$settings$__exp : EMPTY_ARRAY; - const userPatternCategories = (_state$settings$__exp2 = state?.settings?.__experimentalUserPatternCategories) !== null && _state$settings$__exp2 !== void 0 ? _state$settings$__exp2 : []; - const categories = new Map(); - userPatternCategories.forEach(userCategory => categories.set(userCategory.id, userCategory)); - return userPatterns.map(userPattern => { - return { - name: `core/block/${userPattern.id}`, - id: userPattern.id, - type: 'user', - title: userPattern.title.raw, - categories: userPattern.wp_pattern_category.map(catId => categories && categories.get(catId) ? categories.get(catId).slug : catId), - content: userPattern.content.raw, - syncStatus: userPattern.wp_pattern_sync_status - }; - }); -} -const __experimentalUserPatternCategories = rememo(state => { - return state?.settings?.__experimentalUserPatternCategories; -}, state => [state.settings.__experimentalUserPatternCategories]); -const __experimentalGetParsedPattern = rememo((state, patternName) => { - const patterns = state.settings.__experimentalBlockPatterns; - const userPatterns = getUserPatterns(state); - const pattern = [...patterns, ...userPatterns].find(({ +const __experimentalGetParsedPattern = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => rememo((state, patternName) => { + const { + getAllPatterns + } = unlock(select(STORE_NAME)); + const patterns = getAllPatterns(); + const pattern = patterns.find(({ name }) => name === patternName); if (!pattern) { @@ -8212,23 +13361,10 @@ const __experimentalGetParsedPattern = rememo((state, patternName) => { __unstableSkipMigrationLogs: true }) }; -}, state => [state.settings.__experimentalBlockPatterns, state.settings.__experimentalReusableBlocks, state?.settings?.__experimentalUserPatternCategories]); -const getAllAllowedPatterns = rememo(state => { - const patterns = state.settings.__experimentalBlockPatterns; - const userPatterns = getUserPatterns(state); - const { - allowedBlockTypes - } = getSettings(state); - const parsedPatterns = [...userPatterns, ...patterns].filter(({ - inserter = true - }) => !!inserter).map(({ - name - }) => __experimentalGetParsedPattern(state, name)); - const allowedPatterns = parsedPatterns.filter(({ - blocks - }) => checkAllowListRecursive(blocks, allowedBlockTypes)); - return allowedPatterns; -}, state => [state.settings.__experimentalBlockPatterns, state.settings.__experimentalReusableBlocks, state.settings.allowedBlockTypes, state?.settings?.__experimentalUserPatternCategories]); +}, getAllPatternsDependants)); +const getAllowedPatternsDependants = (state, rootClientId) => { + return [...getAllPatternsDependants(state), state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId)]; +}; /** * Returns the list of allowed patterns for inner blocks children. @@ -8238,15 +13374,32 @@ const getAllAllowedPatterns = rememo(state => { * * @return {Array?} The list of allowed patterns. */ -const __experimentalGetAllowedPatterns = rememo((state, rootClientId = null) => { - const availableParsedPatterns = getAllAllowedPatterns(state); - const patternsAllowed = availableParsedPatterns.filter(({ - blocks - }) => blocks.every(({ - name - }) => canInsertBlockType(state, name, rootClientId))); - return patternsAllowed; -}, (state, rootClientId) => [state.settings.__experimentalBlockPatterns, state.settings.__experimentalReusableBlocks, state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId)]); +const __experimentalGetAllowedPatterns = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => { + return rememo((state, rootClientId = null) => { + const { + getAllPatterns, + __experimentalGetParsedPattern: getParsedPattern + } = unlock(select(STORE_NAME)); + const patterns = getAllPatterns(); + const { + allowedBlockTypes + } = getSettings(state); + const parsedPatterns = patterns.filter(({ + inserter = true + }) => !!inserter).map(({ + name + }) => getParsedPattern(name)); + const availableParsedPatterns = parsedPatterns.filter(({ + blocks + }) => checkAllowListRecursive(blocks, allowedBlockTypes)); + const patternsAllowed = availableParsedPatterns.filter(({ + blocks + }) => blocks.every(({ + name + }) => canInsertBlockType(state, name, rootClientId))); + return patternsAllowed; + }, getAllowedPatternsDependants); +}); /** * Returns the list of patterns based on their declared `blockTypes` @@ -8261,24 +13414,24 @@ const __experimentalGetAllowedPatterns = rememo((state, rootClientId = null) => * * @return {Array} The list of matched block patterns based on declared `blockTypes` and block name. */ -const getPatternsByBlockTypes = rememo((state, blockNames, rootClientId = null) => { +const getPatternsByBlockTypes = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => rememo((state, blockNames, rootClientId = null) => { if (!blockNames) return EMPTY_ARRAY; - const patterns = __experimentalGetAllowedPatterns(state, rootClientId); + const patterns = select(STORE_NAME).__experimentalGetAllowedPatterns(rootClientId); const normalizedBlockNames = Array.isArray(blockNames) ? blockNames : [blockNames]; const filteredPatterns = patterns.filter(pattern => pattern?.blockTypes?.some?.(blockName => normalizedBlockNames.includes(blockName))); if (filteredPatterns.length === 0) { return EMPTY_ARRAY; } return filteredPatterns; -}, (state, blockNames, rootClientId) => [...__experimentalGetAllowedPatterns.getDependants(state, rootClientId)]); -const __experimentalGetPatternsByBlockTypes = rememo((state, blockNames, rootClientId = null) => { +}, (state, blockNames, rootClientId) => getAllowedPatternsDependants(state, rootClientId))); +const __experimentalGetPatternsByBlockTypes = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => { external_wp_deprecated_default()('wp.data.select( "core/block-editor" ).__experimentalGetPatternsByBlockTypes', { alternative: 'wp.data.select( "core/block-editor" ).getPatternsByBlockTypes', since: '6.2', version: '6.4' }); - return getPatternsByBlockTypes(state, blockNames, rootClientId); -}, (state, blockNames, rootClientId) => [...__experimentalGetAllowedPatterns.getDependants(state, rootClientId)]); + return select(STORE_NAME).getPatternsByBlockTypes; +}); /** * Determines the items that appear in the available pattern transforms list. @@ -8297,7 +13450,7 @@ const __experimentalGetPatternsByBlockTypes = rememo((state, blockNames, rootCli * * @return {WPBlockPattern[]} Items that are eligible for a pattern transformation. */ -const __experimentalGetPatternTransformItems = rememo((state, blocks, rootClientId = null) => { +const __experimentalGetPatternTransformItems = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => rememo((state, blocks, rootClientId = null) => { if (!blocks) return EMPTY_ARRAY; /** * For now we only handle blocks without InnerBlocks and take into account @@ -8323,8 +13476,8 @@ const __experimentalGetPatternTransformItems = rememo((state, blocks, rootClient * block pattern's blocks and try to find matches from the selected blocks. * Now this happens in the consumer to avoid heavy operations in the selector. */ - return getPatternsByBlockTypes(state, selectedBlockNames, rootClientId); -}, (state, blocks, rootClientId) => [...getPatternsByBlockTypes.getDependants(state, rootClientId)]); + return select(STORE_NAME).getPatternsByBlockTypes(selectedBlockNames, rootClientId); +}, (state, blocks, rootClientId) => getAllowedPatternsDependants(state, rootClientId))); /** * Returns the Block List settings of a block, if any exist. @@ -8438,8 +13591,8 @@ function __experimentalGetLastBlockAttributeChanges(state) { * @return {Array} Reusable blocks */ function getReusableBlocks(state) { - var _state$settings$__exp3; - return (_state$settings$__exp3 = state?.settings?.__experimentalReusableBlocks) !== null && _state$settings$__exp3 !== void 0 ? _state$settings$__exp3 : EMPTY_ARRAY; + var _state$settings$__exp; + return (_state$settings$__exp = state.settings.__experimentalReusableBlocks) !== null && _state$settings$__exp !== void 0 ? _state$settings$__exp : EMPTY_ARRAY; } /** @@ -8590,7 +13743,7 @@ const __unstableGetContentLockingParent = rememo((state, clientId) => { let result; while (state.blocks.parents.has(current)) { current = state.blocks.parents.get(current); - if (current && getTemplateLock(state, current) === 'contentOnly') { + if (current && getBlockName(state, current) === 'core/block' || current && getTemplateLock(state, current) === 'contentOnly') { result = current; } } @@ -8607,6 +13760,17 @@ const __unstableGetContentLockingParent = rememo((state, clientId) => { function __unstableGetTemporarilyEditingAsBlocks(state) { return state.temporarilyEditingAsBlocks; } + +/** + * DO-NOT-USE in production. + * This selector is created for internal/experimental only usage and may be + * removed anytime without any warning, causing breakage on any plugin or theme invoking it. + * + * @param {Object} state Global application state. + */ +function __unstableGetTemporarilyEditingFocusModeToRevert(state) { + return state.temporarilyEditingFocusModeRevert; +} function __unstableHasActiveBlockOverlayActive(state, clientId) { // Prevent overlay on blocks with a non-default editing mode. If the mdoe is // 'disabled' then the overlay is redundant since the block can't be @@ -8744,11 +13908,22 @@ const isGroupable = (0,external_wp_data_namespaceObject.createRegistrySelector)( return _isGroupable && canRemoveBlocks(state, _clientIds, rootClientId); }); +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/undo-ignore.js +// Keep track of the blocks that should not be pushing an additional +// undo stack when editing the entity. +// See the implementation of `syncDerivedUpdates` and `useBlockSync`. +const undoIgnoreBlocks = new WeakSet(); + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/private-actions.js /** * WordPress dependencies */ + +/** + * Internal dependencies + */ + const castArray = maybeArray => Array.isArray(maybeArray) ? maybeArray : [maybeArray]; /** @@ -9022,17 +14197,162 @@ function deleteStyleOverride(id) { }; } +/** + * A higher-order action that mark every change inside a callback as "non-persistent" + * and ignore pushing to the undo history stack. It's primarily used for synchronized + * derived updates from the block editor without affecting the undo history. + * + * @param {() => void} callback The synchronous callback to derive updates. + */ +function syncDerivedUpdates(callback) { + return ({ + dispatch, + select, + registry + }) => { + registry.batch(() => { + // Mark every change in the `callback` as non-persistent. + dispatch({ + type: 'SET_EXPLICIT_PERSISTENT', + isPersistentChange: false + }); + callback(); + dispatch({ + type: 'SET_EXPLICIT_PERSISTENT', + isPersistentChange: undefined + }); + + // Ignore pushing undo stack for the updated blocks. + const updatedBlocks = select.getBlocks(); + undoIgnoreBlocks.add(updatedBlocks); + }); + }; +} + +/** + * Action that sets the element that had focus when focus leaves the editor canvas. + * + * @param {Object} lastFocus The last focused element. + * + * + * @return {Object} Action object. + */ +function setLastFocus(lastFocus = null) { + return { + type: 'LAST_FOCUS', + lastFocus + }; +} + +/** + * Action that stops temporarily editing as blocks. + * + * @param {string} clientId The block's clientId. + */ +function stopEditingAsBlocks(clientId) { + return ({ + select, + dispatch + }) => { + const focusModeToRevert = select.__unstableGetTemporarilyEditingFocusModeToRevert(); + dispatch.__unstableMarkNextChangeAsNotPersistent(); + dispatch.updateBlockAttributes(clientId, { + templateLock: 'contentOnly' + }); + dispatch.updateBlockListSettings(clientId, { + ...select.getBlockListSettings(clientId), + templateLock: 'contentOnly' + }); + dispatch.updateSettings({ + focusMode: focusModeToRevert + }); + dispatch.__unstableSetTemporarilyEditingAsBlocks(); + }; +} +function registerBlockBindingsSource(source) { + return { + type: 'REGISTER_BLOCK_BINDINGS_SOURCE', + sourceName: source.name, + sourceLabel: source.label, + useSource: source.useSource, + lockAttributesEditing: source.lockAttributesEditing + }; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-tab/utils.js +/** + * WordPress dependencies + */ + + +const INSERTER_PATTERN_TYPES = { + user: 'user', + theme: 'theme', + directory: 'directory' +}; +const INSERTER_SYNC_TYPES = { + full: 'fully', + unsynced: 'unsynced' +}; +const allPatternsCategory = { + name: 'allPatterns', + label: (0,external_wp_i18n_namespaceObject.__)('All') +}; +const myPatternsCategory = { + name: 'myPatterns', + label: (0,external_wp_i18n_namespaceObject.__)('My patterns') +}; +function isPatternFiltered(pattern, sourceFilter, syncFilter) { + const isUserPattern = pattern.name.startsWith('core/block'); + const isDirectoryPattern = pattern.source === 'core' || pattern.source?.startsWith('pattern-directory'); + + // If theme source selected, filter out user created patterns and those from + // the core patterns directory. + if (sourceFilter === INSERTER_PATTERN_TYPES.theme && (isUserPattern || isDirectoryPattern)) { + return true; + } + + // If the directory source is selected, filter out user created patterns + // and those bundled with the theme. + if (sourceFilter === INSERTER_PATTERN_TYPES.directory && (isUserPattern || !isDirectoryPattern)) { + return true; + } + + // If user source selected, filter out theme patterns. + if (sourceFilter === INSERTER_PATTERN_TYPES.user && pattern.type !== INSERTER_PATTERN_TYPES.user) { + return true; + } + + // Filter by sync status. + if (syncFilter === INSERTER_SYNC_TYPES.full && pattern.syncStatus !== '') { + return true; + } + if (syncFilter === INSERTER_SYNC_TYPES.unsynced && pattern.syncStatus !== 'unsynced' && isUserPattern) { + return true; + } + return false; +} + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/private-selectors.js /** * External dependencies */ +/** + * WordPress dependencies + */ + + /** * Internal dependencies */ + + + + /** * Returns true if the block interface is hidden, or false otherwise. * @@ -9201,10 +14521,115 @@ const getInserterMediaCategories = rememo(state => { return Object.values(allowedMimeTypes).some(mimeType => mimeType.startsWith(`${category.mediaType}/`)); }); }, state => [state.settings.inserterMediaCategories, state.settings.allowedMimeTypes, state.settings.enableOpenverseMediaCategory, state.registeredInserterMediaCategories]); +function getFetchedPatterns(state) { + return state.blockPatterns; +} + +/** + * Returns whether there is at least one allowed pattern for inner blocks children. + * This is useful for deferring the parsing of all patterns until needed. + * + * @param {Object} state Editor state. + * @param {string} [rootClientId=null] Target root client ID. + * + * @return {boolean} If there is at least one allowed pattern. + */ +const hasAllowedPatterns = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => rememo((state, rootClientId = null) => { + const { + getAllPatterns, + __experimentalGetParsedPattern + } = unlock(select(store)); + const patterns = getAllPatterns(); + const { + allowedBlockTypes + } = getSettings(state); + return patterns.some(({ + name, + inserter = true + }) => { + if (!inserter) { + return false; + } + const { + blocks + } = __experimentalGetParsedPattern(name); + return checkAllowListRecursive(blocks, allowedBlockTypes) && blocks.every(({ + name: blockName + }) => canInsertBlockType(state, blockName, rootClientId)); + }); +}, (state, rootClientId) => [getAllPatternsDependants(state), state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId)])); +const getAllPatterns = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => rememo(state => { + // This setting is left for back compat. + const { + __experimentalBlockPatterns = [], + __experimentalUserPatternCategories = [], + __experimentalReusableBlocks = [] + } = state.settings; + const userPatterns = (__experimentalReusableBlocks !== null && __experimentalReusableBlocks !== void 0 ? __experimentalReusableBlocks : []).map(userPattern => { + return { + name: `core/block/${userPattern.id}`, + id: userPattern.id, + type: INSERTER_PATTERN_TYPES.user, + title: userPattern.title.raw, + categories: userPattern.wp_pattern_category.map(catId => { + const category = (__experimentalUserPatternCategories !== null && __experimentalUserPatternCategories !== void 0 ? __experimentalUserPatternCategories : []).find(({ + id + }) => id === catId); + return category ? category.slug : catId; + }), + content: userPattern.content.raw, + syncStatus: userPattern.wp_pattern_sync_status + }; + }); + return [...userPatterns, ...__experimentalBlockPatterns, ...unlock(select(store)).getFetchedPatterns()].filter((x, index, arr) => index === arr.findIndex(y => x.name === y.name)); +}, getAllPatternsDependants)); + +/** + * Returns the element of the last element that had focus when focus left the editor canvas. + * + * @param {Object} state Block editor state. + * + * @return {Object} Element. + */ +function getLastFocus(state) { + return state.lastFocus; +} +function getAllBlockBindingsSources(state) { + return state.blockBindingsSources; +} +function getBlockBindingsSource(state, sourceName) { + return state.blockBindingsSources[sourceName]; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/resolvers.js +const resolvers_getFetchedPatterns = () => async ({ + dispatch, + select +}) => { + const { + __experimentalFetchBlockPatterns + } = select.getSettings(); + if (!__experimentalFetchBlockPatterns) { + return []; + } + const patterns = await __experimentalFetchBlockPatterns(); + dispatch({ + type: 'RECEIVE_BLOCK_PATTERNS', + patterns + }); +}; +resolvers_getFetchedPatterns.shouldInvalidate = action => { + return action.type === 'UPDATE_SETTINGS' && !!action.settings.__experimentalFetchBlockPatterns; +}; ;// CONCATENATED MODULE: external ["wp","a11y"] var external_wp_a11y_namespaceObject = window["wp"]["a11y"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/selection.js +/** + * WordPress dependencies + */ + + /** * A robust way to retain selection position through various * transforms is to insert a special character at the position and @@ -9224,7 +14649,10 @@ function retrieveSelectedAttribute(blockAttributes) { } return Object.keys(blockAttributes).find(name => { const value = blockAttributes[name]; - return typeof value === 'string' && value.indexOf(START_OF_SELECTED_AREA) !== -1; + return (typeof value === 'string' || value instanceof external_wp_richText_namespaceObject.RichTextData) && + // To do: refactor this to use rich text's selection instead, so we + // no longer have to use on this hack inserting a special character. + value.toString().indexOf(START_OF_SELECTED_AREA) !== -1; }); } @@ -9245,7 +14673,6 @@ function retrieveSelectedAttribute(blockAttributes) { - /** @typedef {import('../components/use-on-block-drop/types').WPDropOperation} WPDropOperation */ const actions_castArray = maybeArray => Array.isArray(maybeArray) ? maybeArray : [maybeArray]; @@ -9782,14 +15209,16 @@ const insertBlocks = (blocks, index, rootClientId, updateSelection = true, initi function showInsertionPoint(rootClientId, index, __unstableOptions = {}) { const { __unstableWithInserter, - operation + operation, + nearestSide } = __unstableOptions; return { type: 'SHOW_INSERTION_POINT', rootClientId, index, __unstableWithInserter, - operation + operation, + nearestSide }; } /** @@ -9885,20 +15314,14 @@ const __unstableDeleteSelection = isForward => ({ const selectionA = selectionStart; const selectionB = selectionEnd; const blockA = select.getBlock(selectionA.clientId); - const blockAType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockA.name); const blockB = select.getBlock(selectionB.clientId); - const blockBType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockB.name); const htmlA = blockA.attributes[selectionA.attributeKey]; const htmlB = blockB.attributes[selectionB.attributeKey]; - const attributeDefinitionA = blockAType.attributes[selectionA.attributeKey]; - const attributeDefinitionB = blockBType.attributes[selectionB.attributeKey]; let valueA = (0,external_wp_richText_namespaceObject.create)({ - html: htmlA, - ...mapRichTextSettings(attributeDefinitionA) + html: htmlA }); let valueB = (0,external_wp_richText_namespaceObject.create)({ - html: htmlB, - ...mapRichTextSettings(attributeDefinitionB) + html: htmlB }); valueA = (0,external_wp_richText_namespaceObject.remove)(valueA, selectionA.offset, valueA.text.length); valueB = (0,external_wp_richText_namespaceObject.insert)(valueB, START_OF_SELECTED_AREA, 0, selectionB.offset); @@ -9906,14 +15329,12 @@ const __unstableDeleteSelection = isForward => ({ // Clone the blocks so we don't manipulate the original. const cloneA = (0,external_wp_blocks_namespaceObject.cloneBlock)(blockA, { [selectionA.attributeKey]: (0,external_wp_richText_namespaceObject.toHTMLString)({ - value: valueA, - ...mapRichTextSettings(attributeDefinitionA) + value: valueA }) }); const cloneB = (0,external_wp_blocks_namespaceObject.cloneBlock)(blockB, { [selectionB.attributeKey]: (0,external_wp_richText_namespaceObject.toHTMLString)({ - value: valueB, - ...mapRichTextSettings(attributeDefinitionB) + value: valueB }) }); const followingBlock = isForward ? cloneA : cloneB; @@ -9937,14 +15358,12 @@ const __unstableDeleteSelection = isForward => ({ const newAttributeKey = retrieveSelectedAttribute(updatedAttributes); const convertedHtml = updatedAttributes[newAttributeKey]; const convertedValue = (0,external_wp_richText_namespaceObject.create)({ - html: convertedHtml, - ...mapRichTextSettings(targetBlockType.attributes[newAttributeKey]) + html: convertedHtml }); const newOffset = convertedValue.text.indexOf(START_OF_SELECTED_AREA); const newValue = (0,external_wp_richText_namespaceObject.remove)(convertedValue, newOffset, newOffset + 1); const newHtml = (0,external_wp_richText_namespaceObject.toHTMLString)({ - value: newValue, - ...mapRichTextSettings(targetBlockType.attributes[newAttributeKey]) + value: newValue }); updatedAttributes[newAttributeKey] = newHtml; const selectedBlockClientIds = select.getSelectedBlockClientIds(); @@ -10001,20 +15420,14 @@ const __unstableSplitSelection = () => ({ const selectionA = selectionStart; const selectionB = selectionEnd; const blockA = select.getBlock(selectionA.clientId); - const blockAType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockA.name); const blockB = select.getBlock(selectionB.clientId); - const blockBType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockB.name); const htmlA = blockA.attributes[selectionA.attributeKey]; const htmlB = blockB.attributes[selectionB.attributeKey]; - const attributeDefinitionA = blockAType.attributes[selectionA.attributeKey]; - const attributeDefinitionB = blockBType.attributes[selectionB.attributeKey]; let valueA = (0,external_wp_richText_namespaceObject.create)({ - html: htmlA, - ...mapRichTextSettings(attributeDefinitionA) + html: htmlA }); let valueB = (0,external_wp_richText_namespaceObject.create)({ - html: htmlB, - ...mapRichTextSettings(attributeDefinitionB) + html: htmlB }); valueA = (0,external_wp_richText_namespaceObject.remove)(valueA, selectionA.offset, valueA.text.length); valueB = (0,external_wp_richText_namespaceObject.remove)(valueB, 0, selectionB.offset); @@ -10024,8 +15437,7 @@ const __unstableSplitSelection = () => ({ attributes: { ...blockA.attributes, [selectionA.attributeKey]: (0,external_wp_richText_namespaceObject.toHTMLString)({ - value: valueA, - ...mapRichTextSettings(attributeDefinitionA) + value: valueA }) } }, { @@ -10034,8 +15446,7 @@ const __unstableSplitSelection = () => ({ attributes: { ...blockB.attributes, [selectionB.attributeKey]: (0,external_wp_richText_namespaceObject.toHTMLString)({ - value: valueB, - ...mapRichTextSettings(attributeDefinitionB) + value: valueB }) } }]); @@ -10080,12 +15491,8 @@ const mergeBlocks = (firstBlockClientId, secondBlockClientId) => ({ const blockA = select.getBlock(clientIdA); const blockAType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockA.name); if (!blockAType) return; - if (!blockAType.merge && !(0,external_wp_blocks_namespaceObject.getBlockSupport)(blockA.name, '__experimentalOnMerge')) { - dispatch.selectBlock(blockA.clientId); - return; - } const blockB = select.getBlock(clientIdB); - if (!blockAType.merge) { + if (!blockAType.merge && (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockA.name, '__experimentalOnMerge')) { // If there's no merge function defined, attempt merging inner // blocks. const blocksWithTheSameType = (0,external_wp_blocks_namespaceObject.switchToBlockType)(blockB, blockAType.name); @@ -10122,6 +15529,18 @@ const mergeBlocks = (firstBlockClientId, secondBlockClientId) => ({ }); return; } + if ((0,external_wp_blocks_namespaceObject.isUnmodifiedDefaultBlock)(blockA)) { + dispatch.removeBlock(clientIdA, select.isBlockSelected(clientIdA)); + return; + } + if ((0,external_wp_blocks_namespaceObject.isUnmodifiedDefaultBlock)(blockB)) { + dispatch.removeBlock(clientIdB, select.isBlockSelected(clientIdB)); + return; + } + if (!blockAType.merge) { + dispatch.selectBlock(blockA.clientId); + return; + } const blockBType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockB.name); const { clientId, @@ -10151,12 +15570,10 @@ const mergeBlocks = (firstBlockClientId, secondBlockClientId) => ({ const selectedBlock = clientId === clientIdA ? cloneA : cloneB; const html = selectedBlock.attributes[attributeKey]; const value = (0,external_wp_richText_namespaceObject.insert)((0,external_wp_richText_namespaceObject.create)({ - html, - ...mapRichTextSettings(attributeDefinition) + html }), START_OF_SELECTED_AREA, offset, offset); selectedBlock.attributes[attributeKey] = (0,external_wp_richText_namespaceObject.toHTMLString)({ - value, - ...mapRichTextSettings(attributeDefinition) + value }); } @@ -10175,14 +15592,12 @@ const mergeBlocks = (firstBlockClientId, secondBlockClientId) => ({ const newAttributeKey = retrieveSelectedAttribute(updatedAttributes); const convertedHtml = updatedAttributes[newAttributeKey]; const convertedValue = (0,external_wp_richText_namespaceObject.create)({ - html: convertedHtml, - ...mapRichTextSettings(blockAType.attributes[newAttributeKey]) + html: convertedHtml }); const newOffset = convertedValue.text.indexOf(START_OF_SELECTED_AREA); const newValue = (0,external_wp_richText_namespaceObject.remove)(convertedValue, newOffset, newOffset + 1); const newHtml = (0,external_wp_richText_namespaceObject.toHTMLString)({ - value: newValue, - ...mapRichTextSettings(blockAType.attributes[newAttributeKey]) + value: newValue }); updatedAttributes[newAttributeKey] = newHtml; dispatch.selectionChange(blockA.clientId, newAttributeKey, newOffset, newOffset); @@ -10670,18 +16085,20 @@ function setBlockVisibility(updates) { } /** - * Action that sets whether a block is being temporaritly edited as blocks. + * Action that sets whether a block is being temporarily edited as blocks. * * DO-NOT-USE in production. * This action is created for internal/experimental only usage and may be * removed anytime without any warning, causing breakage on any plugin or theme invoking it. * - * @param {?string} temporarilyEditingAsBlocks The block's clientId being temporaritly edited as blocks. + * @param {?string} temporarilyEditingAsBlocks The block's clientId being temporarily edited as blocks. + * @param {?string} focusModeToRevert The focus mode to revert after temporarily edit as blocks finishes. */ -function __unstableSetTemporarilyEditingAsBlocks(temporarilyEditingAsBlocks) { +function __unstableSetTemporarilyEditingAsBlocks(temporarilyEditingAsBlocks, focusModeToRevert) { return { type: 'SET_TEMPORARILY_EDITING_AS_BLOCKS', - temporarilyEditingAsBlocks + temporarilyEditingAsBlocks, + focusModeToRevert }; } @@ -10898,21 +16315,6 @@ function unsetBlockEditingMode(clientId = '') { }; } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/constants.js -const STORE_NAME = 'core/block-editor'; - -;// CONCATENATED MODULE: external ["wp","privateApis"] -var external_wp_privateApis_namespaceObject = window["wp"]["privateApis"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/lock-unlock.js -/** - * WordPress dependencies - */ - -const { - lock, - unlock -} = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.', '@wordpress/block-editor'); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js /** * WordPress dependencies @@ -10930,6 +16332,7 @@ const { + /** * Block editor data store configuration. * @@ -10938,6 +16341,7 @@ const { const storeConfig = { reducer: reducer, selectors: selectors_namespaceObject, + resolvers: resolvers_namespaceObject, actions: actions_namespaceObject }; @@ -10970,96 +16374,1712 @@ unlock(registeredStore).registerPrivateSelectors(private_selectors_namespaceObje unlock(store).registerPrivateActions(private_actions_namespaceObject); unlock(store).registerPrivateSelectors(private_selectors_namespaceObject); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/context.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/object.js /** - * WordPress dependencies - */ - -const DEFAULT_BLOCK_EDIT_CONTEXT = { - name: '', - isSelected: false -}; -const Context = (0,external_wp_element_namespaceObject.createContext)(DEFAULT_BLOCK_EDIT_CONTEXT); -const { - Provider -} = Context; - - -/** - * A hook that returns the block edit context. + * Immutably sets a value inside an object. Like `lodash#set`, but returning a + * new object. Treats nullish initial values as empty objects. Clones any + * nested objects. Supports arrays, too. * - * @return {Object} Block edit context + * @param {Object} object Object to set a value in. + * @param {number|string|Array} path Path in the object to modify. + * @param {*} value New value to set. + * @return {Object} Cloned object with the new value set. */ -function useBlockEditContext() { - return (0,external_wp_element_namespaceObject.useContext)(Context); +function setImmutably(object, path, value) { + // Normalize path + path = Array.isArray(path) ? [...path] : [path]; + + // Shallowly clone the base of the object + object = Array.isArray(object) ? [...object] : { + ...object + }; + const leaf = path.pop(); + + // Traverse object from root to leaf, shallowly cloning at each level + let prev = object; + for (const key of path) { + const lvl = prev[key]; + prev = prev[key] = Array.isArray(lvl) ? [...lvl] : { + ...lvl + }; + } + prev[leaf] = value; + return object; } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-display-block-controls/index.js +/** + * Helper util to return a value from a certain path of the object. + * Path is specified as either: + * - a string of properties, separated by dots, for example: "x.y". + * - an array of properties, for example `[ 'x', 'y' ]`. + * You can also specify a default value in case the result is nullish. + * + * @param {Object} object Input object. + * @param {string|Array} path Path to the object property. + * @param {*} defaultValue Default value if the value at the specified path is nullish. + * @return {*} Value of the object property at the specified path. + */ +const getValueFromObjectPath = (object, path, defaultValue) => { + var _value; + const arrayPath = Array.isArray(path) ? path : path.split('.'); + let value = object; + arrayPath.forEach(fieldName => { + value = value?.[fieldName]; + }); + return (_value = value) !== null && _value !== void 0 ? _value : defaultValue; +}; + +/** + * Helper util to filter out objects with duplicate values for a given property. + * + * @param {Object[]} array Array of objects to filter. + * @param {string} property Property to filter unique values by. + * + * @return {Object[]} Array of objects with unique values for the specified property. + */ +function uniqByProperty(array, property) { + const seen = new Set(); + return array.filter(item => { + const value = item[property]; + return seen.has(value) ? false : seen.add(value); + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-settings/index.js /** * WordPress dependencies */ + + + + +/** + * Internal dependencies + */ + + + +const blockedPaths = ['color', 'border', 'dimensions', 'typography', 'spacing']; +const deprecatedFlags = { + 'color.palette': settings => settings.colors, + 'color.gradients': settings => settings.gradients, + 'color.custom': settings => settings.disableCustomColors === undefined ? undefined : !settings.disableCustomColors, + 'color.customGradient': settings => settings.disableCustomGradients === undefined ? undefined : !settings.disableCustomGradients, + 'typography.fontSizes': settings => settings.fontSizes, + 'typography.customFontSize': settings => settings.disableCustomFontSizes === undefined ? undefined : !settings.disableCustomFontSizes, + 'typography.lineHeight': settings => settings.enableCustomLineHeight, + 'spacing.units': settings => { + if (settings.enableCustomUnits === undefined) { + return; + } + if (settings.enableCustomUnits === true) { + return ['px', 'em', 'rem', 'vh', 'vw', '%']; + } + return settings.enableCustomUnits; + }, + 'spacing.padding': settings => settings.enableCustomSpacing +}; +const prefixedFlags = { + /* + * These were only available in the plugin + * and can be removed when the minimum WordPress version + * for the plugin is 5.9. + */ + 'border.customColor': 'border.color', + 'border.customStyle': 'border.style', + 'border.customWidth': 'border.width', + 'typography.customFontStyle': 'typography.fontStyle', + 'typography.customFontWeight': 'typography.fontWeight', + 'typography.customLetterSpacing': 'typography.letterSpacing', + 'typography.customTextDecorations': 'typography.textDecoration', + 'typography.customTextTransforms': 'typography.textTransform', + /* + * These were part of WordPress 5.8 and we need to keep them. + */ + 'border.customRadius': 'border.radius', + 'spacing.customMargin': 'spacing.margin', + 'spacing.customPadding': 'spacing.padding', + 'typography.customLineHeight': 'typography.lineHeight' +}; + +/** + * Remove `custom` prefixes for flags that did not land in 5.8. + * + * This provides continued support for `custom` prefixed properties. It will + * be removed once third party devs have had sufficient time to update themes, + * plugins, etc. + * + * @see https://github.com/WordPress/gutenberg/pull/34485 + * + * @param {string} path Path to desired value in settings. + * @return {string} The value for defined setting. + */ +const removeCustomPrefixes = path => { + return prefixedFlags[path] || path; +}; + +/** + * For settings like `color.palette`, which have a value that is an object + * with `default`, `theme`, `custom`, with field values that are arrays of + * items, merge these three arrays into one and return it. The calculation + * is memoized so that identical input values produce identical output. + * @param {Object} value Object to merge + * @return {Array} Array of merged items + */ +function mergeOrigins(value) { + let result = mergeCache.get(value); + if (!result) { + result = ['default', 'theme', 'custom'].flatMap(key => { + var _value$key; + return (_value$key = value[key]) !== null && _value$key !== void 0 ? _value$key : []; + }); + mergeCache.set(value, result); + } + return result; +} +const mergeCache = new WeakMap(); + +/** + * For settings like `color.palette`, which have a value that is an object + * with `default`, `theme`, `custom`, with field values that are arrays of + * items, see if any of the three origins have values. + * + * @param {Object} value Object to check + * @return {boolean} Whether the object has values in any of the three origins + */ +function hasMergedOrigins(value) { + return ['default', 'theme', 'custom'].some(key => value?.[key]?.length); +} + +/** + * Hook that retrieves the given settings for the block instance in use. + * + * It looks up the settings first in the block instance hierarchy. + * If none are found, it'll look them up in the block editor settings. + * + * @param {string[]} paths The paths to the settings. + * @return {any[]} Returns the values defined for the settings. + * @example + * ```js + * const [ fixed, sticky ] = useSettings( 'position.fixed', 'position.sticky' ); + * ``` + */ +function use_settings_useSettings(...paths) { + const { + name: blockName, + clientId = null + } = useBlockEditContext(); + + // eslint-disable-next-line react-hooks/exhaustive-deps + paths = (0,external_wp_element_namespaceObject.useMemo)(() => paths, paths); + return (0,external_wp_data_namespaceObject.useSelect)(select => { + const candidates = clientId ? [clientId, ...select(store).getBlockParents(clientId, /* ascending */true)].filter(candidateClientId => { + const candidateBlockName = select(store).getBlockName(candidateClientId); + return (0,external_wp_blocks_namespaceObject.hasBlockSupport)(candidateBlockName, '__experimentalSettings', false); + }) : []; + return paths.map(path => { + if (blockedPaths.includes(path)) { + // eslint-disable-next-line no-console + console.warn('Top level useSetting paths are disabled. Please use a subpath to query the information needed.'); + return undefined; + } + + // 0. Allow third parties to filter the block's settings at runtime. + let result = (0,external_wp_hooks_namespaceObject.applyFilters)('blockEditor.useSetting.before', undefined, path, clientId, blockName); + if (undefined !== result) { + return result; + } + const normalizedPath = removeCustomPrefixes(path); + + // 1. Take settings from the block instance or its ancestors. + // Start from the current block and work our way up the ancestors. + for (const candidateClientId of candidates) { + var _getValueFromObjectPa; + const candidateAtts = select(store).getBlockAttributes(candidateClientId); + result = (_getValueFromObjectPa = getValueFromObjectPath(candidateAtts.settings?.blocks?.[blockName], normalizedPath)) !== null && _getValueFromObjectPa !== void 0 ? _getValueFromObjectPa : getValueFromObjectPath(candidateAtts.settings, normalizedPath); + if (result !== undefined) { + // Stop the search for more distant ancestors and move on. + break; + } + } + + // 2. Fall back to the settings from the block editor store (__experimentalFeatures). + const settings = select(store).getSettings(); + if (result === undefined && blockName) { + result = getValueFromObjectPath(settings.__experimentalFeatures?.blocks?.[blockName], normalizedPath); + } + if (result === undefined) { + result = getValueFromObjectPath(settings.__experimentalFeatures, normalizedPath); + } + + // Return if the setting was found in either the block instance or the store. + if (result !== undefined) { + if (external_wp_blocks_namespaceObject.__EXPERIMENTAL_PATHS_WITH_MERGE[normalizedPath]) { + return mergeOrigins(result); + } + return result; + } + + // 3. Otherwise, use deprecated settings. + const deprecatedSettingsValue = deprecatedFlags[normalizedPath]?.(settings); + if (deprecatedSettingsValue !== undefined) { + return deprecatedSettingsValue; + } + + // 4. Fallback for typography.dropCap: + // This is only necessary to support typography.dropCap. + // when __experimentalFeatures are not present (core without plugin). + // To remove when __experimentalFeatures are ported to core. + return normalizedPath === 'typography.dropCap' ? true : undefined; + }); + }, [blockName, clientId, paths]); +} + +/** + * Hook that retrieves the given setting for the block instance in use. + * + * It looks up the setting first in the block instance hierarchy. + * If none is found, it'll look it up in the block editor settings. + * + * @param {string} path The path to the setting. + * @return {any} Returns the value defined for the setting. + * @deprecated 6.5.0 Use useSettings instead. + * @example + * ```js + * const isEnabled = useSetting( 'typography.dropCap' ); + * ``` + */ +function useSetting(path) { + external_wp_deprecated_default()('wp.blockEditor.useSetting', { + since: '6.5', + alternative: 'wp.blockEditor.useSettings', + note: 'The new useSettings function can retrieve multiple settings at once, with better performance.' + }); + const [value] = use_settings_useSettings(path); + return value; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/fluid-utils.js +/** + * The fluid utilities must match the backend equivalent. + * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php + * --------------------------------------------------------------- + */ + +// Defaults. +const DEFAULT_MAXIMUM_VIEWPORT_WIDTH = '1600px'; +const DEFAULT_MINIMUM_VIEWPORT_WIDTH = '320px'; +const DEFAULT_SCALE_FACTOR = 1; +const DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN = 0.25; +const DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX = 0.75; +const DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px'; + +/** + * Computes a fluid font-size value that uses clamp(). A minimum and maximum + * font size OR a single font size can be specified. + * + * If a single font size is specified, it is scaled up and down using a logarithmic scale. + * + * @example + * ```js + * // Calculate fluid font-size value from a minimum and maximum value. + * const fontSize = getComputedFluidTypographyValue( { + * minimumFontSize: '20px', + * maximumFontSize: '45px' + * } ); + * // Calculate fluid font-size value from a single font size. + * const fontSize = getComputedFluidTypographyValue( { + * fontSize: '30px', + * } ); + * ``` + * + * @param {Object} args + * @param {?string} args.minimumViewportWidth Minimum viewport size from which type will have fluidity. Optional if fontSize is specified. + * @param {?string} args.maximumViewportWidth Maximum size up to which type will have fluidity. Optional if fontSize is specified. + * @param {string|number} [args.fontSize] Size to derive maximumFontSize and minimumFontSize from, if necessary. Optional if minimumFontSize and maximumFontSize are specified. + * @param {?string} args.maximumFontSize Maximum font size for any clamp() calculation. Optional. + * @param {?string} args.minimumFontSize Minimum font size for any clamp() calculation. Optional. + * @param {?number} args.scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional. + * @param {?string} args.minimumFontSizeLimit The smallest a calculated font size may be. Optional. + * + * @return {string|null} A font-size value using clamp(). + */ +function getComputedFluidTypographyValue({ + minimumFontSize, + maximumFontSize, + fontSize, + minimumViewportWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH, + maximumViewportWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH, + scaleFactor = DEFAULT_SCALE_FACTOR, + minimumFontSizeLimit +}) { + // Validate incoming settings and set defaults. + minimumFontSizeLimit = !!getTypographyValueAndUnit(minimumFontSizeLimit) ? minimumFontSizeLimit : DEFAULT_MINIMUM_FONT_SIZE_LIMIT; + + /* + * Calculates missing minimumFontSize and maximumFontSize from + * defaultFontSize if provided. + */ + if (fontSize) { + // Parses default font size. + const fontSizeParsed = getTypographyValueAndUnit(fontSize); + + // Protect against invalid units. + if (!fontSizeParsed?.unit) { + return null; + } + + // Parses the minimum font size limit, so we can perform checks using it. + const minimumFontSizeLimitParsed = getTypographyValueAndUnit(minimumFontSizeLimit, { + coerceTo: fontSizeParsed.unit + }); + + // Don't enforce minimum font size if a font size has explicitly set a min and max value. + if (!!minimumFontSizeLimitParsed?.value && !minimumFontSize && !maximumFontSize) { + /* + * If a minimum size was not passed to this function + * and the user-defined font size is lower than $minimum_font_size_limit, + * do not calculate a fluid value. + */ + if (fontSizeParsed?.value <= minimumFontSizeLimitParsed?.value) { + return null; + } + } + + // If no fluid max font size is available use the incoming value. + if (!maximumFontSize) { + maximumFontSize = `${fontSizeParsed.value}${fontSizeParsed.unit}`; + } + + /* + * If no minimumFontSize is provided, create one using + * the given font size multiplied by the min font size scale factor. + */ + if (!minimumFontSize) { + const fontSizeValueInPx = fontSizeParsed.unit === 'px' ? fontSizeParsed.value : fontSizeParsed.value * 16; + + /* + * The scale factor is a multiplier that affects how quickly the curve will move towards the minimum, + * that is, how quickly the size factor reaches 0 given increasing font size values. + * For a - b * log2(), lower values of b will make the curve move towards the minimum faster. + * The scale factor is constrained between min and max values. + */ + const minimumFontSizeFactor = Math.min(Math.max(1 - 0.075 * Math.log2(fontSizeValueInPx), DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN), DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX); + + // Calculates the minimum font size. + const calculatedMinimumFontSize = roundToPrecision(fontSizeParsed.value * minimumFontSizeFactor, 3); + + // Only use calculated min font size if it's > $minimum_font_size_limit value. + if (!!minimumFontSizeLimitParsed?.value && calculatedMinimumFontSize < minimumFontSizeLimitParsed?.value) { + minimumFontSize = `${minimumFontSizeLimitParsed.value}${minimumFontSizeLimitParsed.unit}`; + } else { + minimumFontSize = `${calculatedMinimumFontSize}${fontSizeParsed.unit}`; + } + } + } + + // Grab the minimum font size and normalize it in order to use the value for calculations. + const minimumFontSizeParsed = getTypographyValueAndUnit(minimumFontSize); + + // We get a 'preferred' unit to keep units consistent when calculating, + // otherwise the result will not be accurate. + const fontSizeUnit = minimumFontSizeParsed?.unit || 'rem'; + + // Grabs the maximum font size and normalize it in order to use the value for calculations. + const maximumFontSizeParsed = getTypographyValueAndUnit(maximumFontSize, { + coerceTo: fontSizeUnit + }); + + // Checks for mandatory min and max sizes, and protects against unsupported units. + if (!minimumFontSizeParsed || !maximumFontSizeParsed) { + return null; + } + + // Uses rem for accessible fluid target font scaling. + const minimumFontSizeRem = getTypographyValueAndUnit(minimumFontSize, { + coerceTo: 'rem' + }); + + // Viewport widths defined for fluid typography. Normalize units + const maximumViewportWidthParsed = getTypographyValueAndUnit(maximumViewportWidth, { + coerceTo: fontSizeUnit + }); + const minimumViewportWidthParsed = getTypographyValueAndUnit(minimumViewportWidth, { + coerceTo: fontSizeUnit + }); + + // Protect against unsupported units. + if (!maximumViewportWidthParsed || !minimumViewportWidthParsed || !minimumFontSizeRem) { + return null; + } + + // Calculates the linear factor denominator. If it's 0, we cannot calculate a fluid value. + const linearDenominator = maximumViewportWidthParsed.value - minimumViewportWidthParsed.value; + if (!linearDenominator) { + return null; + } + + // Build CSS rule. + // Borrowed from https://websemantics.uk/tools/responsive-font-calculator/. + const minViewportWidthOffsetValue = roundToPrecision(minimumViewportWidthParsed.value / 100, 3); + const viewportWidthOffset = roundToPrecision(minViewportWidthOffsetValue, 3) + fontSizeUnit; + const linearFactor = 100 * ((maximumFontSizeParsed.value - minimumFontSizeParsed.value) / linearDenominator); + const linearFactorScaled = roundToPrecision((linearFactor || 1) * scaleFactor, 3); + const fluidTargetFontSize = `${minimumFontSizeRem.value}${minimumFontSizeRem.unit} + ((1vw - ${viewportWidthOffset}) * ${linearFactorScaled})`; + return `clamp(${minimumFontSize}, ${fluidTargetFontSize}, ${maximumFontSize})`; +} + +/** + * Internal method that checks a string for a unit and value and returns an array consisting of `'value'` and `'unit'`, e.g., [ '42', 'rem' ]. + * A raw font size of `value + unit` is expected. If the value is an integer, it will convert to `value + 'px'`. + * + * @param {string|number} rawValue Raw size value from theme.json. + * @param {Object|undefined} options Calculation options. + * + * @return {{ unit: string, value: number }|null} An object consisting of `'value'` and `'unit'` properties. + */ +function getTypographyValueAndUnit(rawValue, options = {}) { + if (typeof rawValue !== 'string' && typeof rawValue !== 'number') { + return null; + } + + // Converts numeric values to pixel values by default. + if (isFinite(rawValue)) { + rawValue = `${rawValue}px`; + } + const { + coerceTo, + rootSizeValue, + acceptableUnits + } = { + coerceTo: '', + // Default browser font size. Later we could inject some JS to compute this `getComputedStyle( document.querySelector( "html" ) ).fontSize`. + rootSizeValue: 16, + acceptableUnits: ['rem', 'px', 'em'], + ...options + }; + const acceptableUnitsGroup = acceptableUnits?.join('|'); + const regexUnits = new RegExp(`^(\\d*\\.?\\d+)(${acceptableUnitsGroup}){1,1}$`); + const matches = rawValue.match(regexUnits); + + // We need a number value and a unit. + if (!matches || matches.length < 3) { + return null; + } + let [, value, unit] = matches; + let returnValue = parseFloat(value); + if ('px' === coerceTo && ('em' === unit || 'rem' === unit)) { + returnValue = returnValue * rootSizeValue; + unit = coerceTo; + } + if ('px' === unit && ('em' === coerceTo || 'rem' === coerceTo)) { + returnValue = returnValue / rootSizeValue; + unit = coerceTo; + } + + /* + * No calculation is required if swapping between em and rem yet, + * since we assume a root size value. Later we might like to differentiate between + * :root font size (rem) and parent element font size (em) relativity. + */ + if (('em' === coerceTo || 'rem' === coerceTo) && ('em' === unit || 'rem' === unit)) { + unit = coerceTo; + } + return { + value: roundToPrecision(returnValue, 3), + unit + }; +} + +/** + * Returns a value rounded to defined precision. + * Returns `undefined` if the value is not a valid finite number. + * + * @param {number} value Raw value. + * @param {number} digits The number of digits to appear after the decimal point + * + * @return {number|undefined} Value rounded to standard precision. + */ +function roundToPrecision(value, digits = 3) { + const base = Math.pow(10, digits); + return Number.isFinite(value) ? parseFloat(Math.round(value * base) / base) : undefined; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/typography-utils.js +/** + * The fluid utilities must match the backend equivalent. + * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php + * --------------------------------------------------------------- + */ + +/** + * Internal dependencies + */ + + +/** + * @typedef {Object} FluidPreset + * @property {string|undefined} max A maximum font size value. + * @property {?string|undefined} min A minimum font size value. + */ + +/** + * @typedef {Object} Preset + * @property {?string|?number} size A default font size. + * @property {string} name A font size name, displayed in the UI. + * @property {string} slug A font size slug + * @property {boolean|FluidPreset|undefined} fluid Specifies the minimum and maximum font size value of a fluid font size. + */ + +/** + * @typedef {Object} TypographySettings + * @property {?string} minViewportWidth Minimum viewport size from which type will have fluidity. Optional if size is specified. + * @property {?string} maxViewportWidth Maximum size up to which type will have fluidity. Optional if size is specified. + * @property {?number} scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional. + * @property {?number} minFontSizeFactor How much to scale defaultFontSize by to derive minimumFontSize. Optional. + * @property {?string} minFontSize The smallest a calculated font size may be. Optional. + */ + +/** + * Returns a font-size value based on a given font-size preset. + * Takes into account fluid typography parameters and attempts to return a css formula depending on available, valid values. + * + * @param {Preset} preset + * @param {Object} typographyOptions + * @param {boolean|TypographySettings} typographyOptions.fluid Whether fluid typography is enabled, and, optionally, fluid font size options. + * + * @return {string|*} A font-size value or the value of preset.size. + */ +function getTypographyFontSizeValue(preset, typographyOptions) { + const { + size: defaultSize + } = preset; + if (!isFluidTypographyEnabled(typographyOptions)) { + return defaultSize; + } + /* + * Checks whether a font size has explicitly bypassed fluid calculations. + * Also catches falsy values and 0/'0'. + * Fluid calculations cannot be performed on `0`. + */ + if (!defaultSize || '0' === defaultSize || false === preset?.fluid) { + return defaultSize; + } + const fluidTypographySettings = typeof typographyOptions?.fluid === 'object' ? typographyOptions?.fluid : {}; + const fluidFontSizeValue = getComputedFluidTypographyValue({ + minimumFontSize: preset?.fluid?.min, + maximumFontSize: preset?.fluid?.max, + fontSize: defaultSize, + minimumFontSizeLimit: fluidTypographySettings?.minFontSize, + maximumViewportWidth: fluidTypographySettings?.maxViewportWidth, + minimumViewportWidth: fluidTypographySettings?.minViewportWidth + }); + if (!!fluidFontSizeValue) { + return fluidFontSizeValue; + } + return defaultSize; +} +function isFluidTypographyEnabled(typographySettings) { + const fluidSettings = typographySettings?.fluid; + return true === fluidSettings || fluidSettings && typeof fluidSettings === 'object' && Object.keys(fluidSettings).length > 0; +} + +/** + * Returns fluid typography settings from theme.json setting object. + * + * @param {Object} settings Theme.json settings + * @param {Object} settings.typography Theme.json typography settings + * @param {Object} settings.layout Theme.json layout settings + * @return {TypographySettings} Fluid typography settings + */ +function getFluidTypographyOptionsFromSettings(settings) { + const typographySettings = settings?.typography; + const layoutSettings = settings?.layout; + const defaultMaxViewportWidth = getTypographyValueAndUnit(layoutSettings?.wideSize) ? layoutSettings?.wideSize : null; + return isFluidTypographyEnabled(typographySettings) && defaultMaxViewportWidth ? { + fluid: { + maxViewportWidth: defaultMaxViewportWidth, + ...typographySettings.fluid + } + } : { + fluid: typographySettings?.fluid + }; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/utils.js +/** + * External dependencies + */ + + /** * Internal dependencies */ -function useDisplayBlockControls() { - const { - isSelected, - clientId, - name - } = useBlockEditContext(); - return (0,external_wp_data_namespaceObject.useSelect)(select => { - if (isSelected) { - return true; + +/* Supporting data. */ +const ROOT_BLOCK_NAME = 'root'; +const ROOT_BLOCK_SELECTOR = 'body'; +const ROOT_BLOCK_SUPPORTS = (/* unused pure expression or super */ null && (['background', 'backgroundColor', 'color', 'linkColor', 'captionColor', 'buttonColor', 'headingColor', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'lineHeight', 'textDecoration', 'textTransform', 'padding'])); +const PRESET_METADATA = [{ + path: ['color', 'palette'], + valueKey: 'color', + cssVarInfix: 'color', + classes: [{ + classSuffix: 'color', + propertyName: 'color' + }, { + classSuffix: 'background-color', + propertyName: 'background-color' + }, { + classSuffix: 'border-color', + propertyName: 'border-color' + }] +}, { + path: ['color', 'gradients'], + valueKey: 'gradient', + cssVarInfix: 'gradient', + classes: [{ + classSuffix: 'gradient-background', + propertyName: 'background' + }] +}, { + path: ['color', 'duotone'], + valueKey: 'colors', + cssVarInfix: 'duotone', + valueFunc: ({ + slug + }) => `url( '#wp-duotone-${slug}' )`, + classes: [] +}, { + path: ['shadow', 'presets'], + valueKey: 'shadow', + cssVarInfix: 'shadow', + classes: [] +}, { + path: ['typography', 'fontSizes'], + valueFunc: (preset, settings) => getTypographyFontSizeValue(preset, getFluidTypographyOptionsFromSettings(settings)), + valueKey: 'size', + cssVarInfix: 'font-size', + classes: [{ + classSuffix: 'font-size', + propertyName: 'font-size' + }] +}, { + path: ['typography', 'fontFamilies'], + valueKey: 'fontFamily', + cssVarInfix: 'font-family', + classes: [{ + classSuffix: 'font-family', + propertyName: 'font-family' + }] +}, { + path: ['spacing', 'spacingSizes'], + valueKey: 'size', + cssVarInfix: 'spacing', + valueFunc: ({ + size + }) => size, + classes: [] +}]; +const STYLE_PATH_TO_CSS_VAR_INFIX = { + 'color.background': 'color', + 'color.text': 'color', + 'filter.duotone': 'duotone', + 'elements.link.color.text': 'color', + 'elements.link.:hover.color.text': 'color', + 'elements.link.typography.fontFamily': 'font-family', + 'elements.link.typography.fontSize': 'font-size', + 'elements.button.color.text': 'color', + 'elements.button.color.background': 'color', + 'elements.caption.color.text': 'color', + 'elements.button.typography.fontFamily': 'font-family', + 'elements.button.typography.fontSize': 'font-size', + 'elements.heading.color': 'color', + 'elements.heading.color.background': 'color', + 'elements.heading.typography.fontFamily': 'font-family', + 'elements.heading.gradient': 'gradient', + 'elements.heading.color.gradient': 'gradient', + 'elements.h1.color': 'color', + 'elements.h1.color.background': 'color', + 'elements.h1.typography.fontFamily': 'font-family', + 'elements.h1.color.gradient': 'gradient', + 'elements.h2.color': 'color', + 'elements.h2.color.background': 'color', + 'elements.h2.typography.fontFamily': 'font-family', + 'elements.h2.color.gradient': 'gradient', + 'elements.h3.color': 'color', + 'elements.h3.color.background': 'color', + 'elements.h3.typography.fontFamily': 'font-family', + 'elements.h3.color.gradient': 'gradient', + 'elements.h4.color': 'color', + 'elements.h4.color.background': 'color', + 'elements.h4.typography.fontFamily': 'font-family', + 'elements.h4.color.gradient': 'gradient', + 'elements.h5.color': 'color', + 'elements.h5.color.background': 'color', + 'elements.h5.typography.fontFamily': 'font-family', + 'elements.h5.color.gradient': 'gradient', + 'elements.h6.color': 'color', + 'elements.h6.color.background': 'color', + 'elements.h6.typography.fontFamily': 'font-family', + 'elements.h6.color.gradient': 'gradient', + 'color.gradient': 'gradient', + shadow: 'shadow', + 'typography.fontSize': 'font-size', + 'typography.fontFamily': 'font-family' +}; + +// A static list of block attributes that store global style preset slugs. +const STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE = { + 'color.background': 'backgroundColor', + 'color.text': 'textColor', + 'color.gradient': 'gradient', + 'typography.fontSize': 'fontSize', + 'typography.fontFamily': 'fontFamily' +}; +const TOOLSPANEL_DROPDOWNMENU_PROPS = { + popoverProps: { + placement: 'left-start', + offset: 259 // Inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px) + } +}; + +function findInPresetsBy(features, blockName, presetPath, presetProperty, presetValueValue) { + // Block presets take priority above root level presets. + const orderedPresetsByOrigin = [getValueFromObjectPath(features, ['blocks', blockName, ...presetPath]), getValueFromObjectPath(features, presetPath)]; + for (const presetByOrigin of orderedPresetsByOrigin) { + if (presetByOrigin) { + // Preset origins ordered by priority. + const origins = ['custom', 'theme', 'default']; + for (const origin of origins) { + const presets = presetByOrigin[origin]; + if (presets) { + const presetObject = presets.find(preset => preset[presetProperty] === presetValueValue); + if (presetObject) { + if (presetProperty === 'slug') { + return presetObject; + } + // If there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored. + const highestPresetObjectWithSameSlug = findInPresetsBy(features, blockName, presetPath, 'slug', presetObject.slug); + if (highestPresetObjectWithSameSlug[presetProperty] === presetObject[presetProperty]) { + return presetObject; + } + return undefined; + } + } + } } - const { - getBlockName, - isFirstMultiSelectedBlock, - getMultiSelectedBlockClientIds - } = select(store); - if (isFirstMultiSelectedBlock(clientId)) { - return getMultiSelectedBlockClientIds().every(id => getBlockName(id) === name); - } - return false; - }, [clientId, isSelected, name]); + } } +function getPresetVariableFromValue(features, blockName, variableStylePath, presetPropertyValue) { + if (!presetPropertyValue) { + return presetPropertyValue; + } + const cssVarInfix = STYLE_PATH_TO_CSS_VAR_INFIX[variableStylePath]; + const metadata = PRESET_METADATA.find(data => data.cssVarInfix === cssVarInfix); + if (!metadata) { + // The property doesn't have preset data + // so the value should be returned as it is. + return presetPropertyValue; + } + const { + valueKey, + path + } = metadata; + const presetObject = findInPresetsBy(features, blockName, path, valueKey, presetPropertyValue); + if (!presetObject) { + // Value wasn't found in the presets, + // so it must be a custom value. + return presetPropertyValue; + } + return `var:preset|${cssVarInfix}|${presetObject.slug}`; +} +function getValueFromPresetVariable(features, blockName, variable, [presetType, slug]) { + const metadata = PRESET_METADATA.find(data => data.cssVarInfix === presetType); + if (!metadata) { + return variable; + } + const presetObject = findInPresetsBy(features.settings, blockName, metadata.path, 'slug', slug); + if (presetObject) { + const { + valueKey + } = metadata; + const result = presetObject[valueKey]; + return getValueFromVariable(features, blockName, result); + } + return variable; +} +function getValueFromCustomVariable(features, blockName, variable, path) { + var _getValueFromObjectPa; + const result = (_getValueFromObjectPa = getValueFromObjectPath(features.settings, ['blocks', blockName, 'custom', ...path])) !== null && _getValueFromObjectPa !== void 0 ? _getValueFromObjectPa : getValueFromObjectPath(features.settings, ['custom', ...path]); + if (!result) { + return variable; + } + // A variable may reference another variable so we need recursion until we find the value. + return getValueFromVariable(features, blockName, result); +} + +/** + * Attempts to fetch the value of a theme.json CSS variable. + * + * @param {Object} features GlobalStylesContext config, e.g., user, base or merged. Represents the theme.json tree. + * @param {string} blockName The name of a block as represented in the styles property. E.g., 'root' for root-level, and 'core/${blockName}' for blocks. + * @param {string|*} variable An incoming style value. A CSS var value is expected, but it could be any value. + * @return {string|*|{ref}} The value of the CSS var, if found. If not found, the passed variable argument. + */ +function getValueFromVariable(features, blockName, variable) { + if (!variable || typeof variable !== 'string') { + if (variable?.ref && typeof variable?.ref === 'string') { + const refPath = variable.ref.split('.'); + variable = getValueFromObjectPath(features, refPath); + // Presence of another ref indicates a reference to another dynamic value. + // Pointing to another dynamic value is not supported. + if (!variable || !!variable?.ref) { + return variable; + } + } else { + return variable; + } + } + const USER_VALUE_PREFIX = 'var:'; + const THEME_VALUE_PREFIX = 'var(--wp--'; + const THEME_VALUE_SUFFIX = ')'; + let parsedVar; + if (variable.startsWith(USER_VALUE_PREFIX)) { + parsedVar = variable.slice(USER_VALUE_PREFIX.length).split('|'); + } else if (variable.startsWith(THEME_VALUE_PREFIX) && variable.endsWith(THEME_VALUE_SUFFIX)) { + parsedVar = variable.slice(THEME_VALUE_PREFIX.length, -THEME_VALUE_SUFFIX.length).split('--'); + } else { + // We don't know how to parse the value: either is raw of uses complex CSS such as `calc(1px * var(--wp--variable) )` + return variable; + } + const [type, ...path] = parsedVar; + if (type === 'preset') { + return getValueFromPresetVariable(features, blockName, variable, path); + } + if (type === 'custom') { + return getValueFromCustomVariable(features, blockName, variable, path); + } + return variable; +} + +/** + * Function that scopes a selector with another one. This works a bit like + * SCSS nesting except the `&` operator isn't supported. + * + * @example + * ```js + * const scope = '.a, .b .c'; + * const selector = '> .x, .y'; + * const merged = scopeSelector( scope, selector ); + * // merged is '.a > .x, .a .y, .b .c > .x, .b .c .y' + * ``` + * + * @param {string} scope Selector to scope to. + * @param {string} selector Original selector. + * + * @return {string} Scoped selector. + */ +function scopeSelector(scope, selector) { + const scopes = scope.split(','); + const selectors = selector.split(','); + const selectorsScoped = []; + scopes.forEach(outer => { + selectors.forEach(inner => { + selectorsScoped.push(`${outer.trim()} ${inner.trim()}`); + }); + }); + return selectorsScoped.join(', '); +} + +/** + * Appends a sub-selector to an existing one. + * + * Given the compounded `selector` "h1, h2, h3" + * and the `toAppend` selector ".some-class" the result will be + * "h1.some-class, h2.some-class, h3.some-class". + * + * @param {string} selector Original selector. + * @param {string} toAppend Selector to append. + * + * @return {string} The new selector. + */ +function appendToSelector(selector, toAppend) { + if (!selector.includes(',')) { + return selector + toAppend; + } + const selectors = selector.split(','); + const newSelectors = selectors.map(sel => sel + toAppend); + return newSelectors.join(','); +} + +/** + * Compares global style variations according to their styles and settings properties. + * + * @example + * ```js + * const globalStyles = { styles: { typography: { fontSize: '10px' } }, settings: {} }; + * const variation = { styles: { typography: { fontSize: '10000px' } }, settings: {} }; + * const isEqual = areGlobalStyleConfigsEqual( globalStyles, variation ); + * // false + * ``` + * + * @param {Object} original A global styles object. + * @param {Object} variation A global styles object. + * + * @return {boolean} Whether `original` and `variation` match. + */ +function areGlobalStyleConfigsEqual(original, variation) { + if (typeof original !== 'object' || typeof variation !== 'object') { + return original === variation; + } + return es6_default()(original?.styles, variation?.styles) && es6_default()(original?.settings, variation?.settings); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/context.js +/** + * WordPress dependencies + */ + +const DEFAULT_GLOBAL_STYLES_CONTEXT = { + user: {}, + base: {}, + merged: {}, + setUserConfig: () => {} +}; +const GlobalStylesContext = (0,external_wp_element_namespaceObject.createContext)(DEFAULT_GLOBAL_STYLES_CONTEXT); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/hooks.js +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + +const EMPTY_CONFIG = { + settings: {}, + styles: {} +}; +const VALID_SETTINGS = ['appearanceTools', 'useRootPaddingAwareAlignments', 'background.backgroundImage', 'background.backgroundRepeat', 'background.backgroundSize', 'border.color', 'border.radius', 'border.style', 'border.width', 'shadow.presets', 'shadow.defaultPresets', 'color.background', 'color.button', 'color.caption', 'color.custom', 'color.customDuotone', 'color.customGradient', 'color.defaultDuotone', 'color.defaultGradients', 'color.defaultPalette', 'color.duotone', 'color.gradients', 'color.heading', 'color.link', 'color.palette', 'color.text', 'custom', 'dimensions.aspectRatio', 'dimensions.minHeight', 'layout.contentSize', 'layout.definitions', 'layout.wideSize', 'lightbox.enabled', 'lightbox.allowEditing', 'position.fixed', 'position.sticky', 'spacing.customSpacingSize', 'spacing.spacingSizes', 'spacing.spacingScale', 'spacing.blockGap', 'spacing.margin', 'spacing.padding', 'spacing.units', 'typography.fluid', 'typography.customFontSize', 'typography.defaultFontSizes', 'typography.dropCap', 'typography.fontFamilies', 'typography.fontSizes', 'typography.fontStyle', 'typography.fontWeight', 'typography.letterSpacing', 'typography.lineHeight', 'typography.textColumns', 'typography.textDecoration', 'typography.textTransform', 'typography.writingMode']; +const useGlobalStylesReset = () => { + const { + user: config, + setUserConfig + } = (0,external_wp_element_namespaceObject.useContext)(GlobalStylesContext); + const canReset = !!config && !es6_default()(config, EMPTY_CONFIG); + return [canReset, (0,external_wp_element_namespaceObject.useCallback)(() => setUserConfig(() => EMPTY_CONFIG), [setUserConfig])]; +}; +function useGlobalSetting(propertyPath, blockName, source = 'all') { + const { + setUserConfig, + ...configs + } = (0,external_wp_element_namespaceObject.useContext)(GlobalStylesContext); + const appendedBlockPath = blockName ? '.blocks.' + blockName : ''; + const appendedPropertyPath = propertyPath ? '.' + propertyPath : ''; + const contextualPath = `settings${appendedBlockPath}${appendedPropertyPath}`; + const globalPath = `settings${appendedPropertyPath}`; + const sourceKey = source === 'all' ? 'merged' : source; + const settingValue = (0,external_wp_element_namespaceObject.useMemo)(() => { + const configToUse = configs[sourceKey]; + if (!configToUse) { + throw 'Unsupported source'; + } + if (propertyPath) { + var _getValueFromObjectPa; + return (_getValueFromObjectPa = getValueFromObjectPath(configToUse, contextualPath)) !== null && _getValueFromObjectPa !== void 0 ? _getValueFromObjectPa : getValueFromObjectPath(configToUse, globalPath); + } + let result = {}; + VALID_SETTINGS.forEach(setting => { + var _getValueFromObjectPa2; + const value = (_getValueFromObjectPa2 = getValueFromObjectPath(configToUse, `settings${appendedBlockPath}.${setting}`)) !== null && _getValueFromObjectPa2 !== void 0 ? _getValueFromObjectPa2 : getValueFromObjectPath(configToUse, `settings.${setting}`); + if (value !== undefined) { + result = setImmutably(result, setting.split('.'), value); + } + }); + return result; + }, [configs, sourceKey, propertyPath, contextualPath, globalPath, appendedBlockPath]); + const setSetting = newValue => { + setUserConfig(currentConfig => setImmutably(currentConfig, contextualPath.split('.'), newValue)); + }; + return [settingValue, setSetting]; +} +function useGlobalStyle(path, blockName, source = 'all', { + shouldDecodeEncode = true +} = {}) { + const { + merged: mergedConfig, + base: baseConfig, + user: userConfig, + setUserConfig + } = (0,external_wp_element_namespaceObject.useContext)(GlobalStylesContext); + const appendedPath = path ? '.' + path : ''; + const finalPath = !blockName ? `styles${appendedPath}` : `styles.blocks.${blockName}${appendedPath}`; + const setStyle = newValue => { + setUserConfig(currentConfig => setImmutably(currentConfig, finalPath.split('.'), shouldDecodeEncode ? getPresetVariableFromValue(mergedConfig.settings, blockName, path, newValue) : newValue)); + }; + let rawResult, result; + switch (source) { + case 'all': + rawResult = getValueFromObjectPath(mergedConfig, finalPath); + result = shouldDecodeEncode ? getValueFromVariable(mergedConfig, blockName, rawResult) : rawResult; + break; + case 'user': + rawResult = getValueFromObjectPath(userConfig, finalPath); + result = shouldDecodeEncode ? getValueFromVariable(mergedConfig, blockName, rawResult) : rawResult; + break; + case 'base': + rawResult = getValueFromObjectPath(baseConfig, finalPath); + result = shouldDecodeEncode ? getValueFromVariable(baseConfig, blockName, rawResult) : rawResult; + break; + default: + throw 'Unsupported source'; + } + return [result, setStyle]; +} + +/** + * React hook that overrides a global settings object with block and element specific settings. + * + * @param {Object} parentSettings Settings object. + * @param {blockName?} blockName Block name. + * @param {element?} element Element name. + * + * @return {Object} Merge of settings and supports. + */ +function useSettingsForBlockElement(parentSettings, blockName, element) { + const { + supportedStyles, + supports + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + return { + supportedStyles: unlock(select(external_wp_blocks_namespaceObject.store)).getSupportedStyles(blockName, element), + supports: select(external_wp_blocks_namespaceObject.store).getBlockType(blockName)?.supports + }; + }, [blockName, element]); + return (0,external_wp_element_namespaceObject.useMemo)(() => { + const updatedSettings = { + ...parentSettings + }; + if (!supportedStyles.includes('fontSize')) { + updatedSettings.typography = { + ...updatedSettings.typography, + fontSizes: {}, + customFontSize: false, + defaultFontSizes: false + }; + } + if (!supportedStyles.includes('fontFamily')) { + updatedSettings.typography = { + ...updatedSettings.typography, + fontFamilies: {} + }; + } + updatedSettings.color = { + ...updatedSettings.color, + text: updatedSettings.color?.text && supportedStyles.includes('color'), + background: updatedSettings.color?.background && (supportedStyles.includes('background') || supportedStyles.includes('backgroundColor')), + button: updatedSettings.color?.button && supportedStyles.includes('buttonColor'), + heading: updatedSettings.color?.heading && supportedStyles.includes('headingColor'), + link: updatedSettings.color?.link && supportedStyles.includes('linkColor'), + caption: updatedSettings.color?.caption && supportedStyles.includes('captionColor') + }; + + // Some blocks can enable background colors but disable gradients. + if (!supportedStyles.includes('background')) { + updatedSettings.color.gradients = []; + updatedSettings.color.customGradient = false; + } + + // If filters are not supported by the block/element, disable duotone. + if (!supportedStyles.includes('filter')) { + updatedSettings.color.defaultDuotone = false; + updatedSettings.color.customDuotone = false; + } + ['lineHeight', 'fontStyle', 'fontWeight', 'letterSpacing', 'textTransform', 'textDecoration', 'writingMode'].forEach(key => { + if (!supportedStyles.includes(key)) { + updatedSettings.typography = { + ...updatedSettings.typography, + [key]: false + }; + } + }); + + // The column-count style is named text column to reduce confusion with + // the columns block and manage expectations from the support. + // See: https://github.com/WordPress/gutenberg/pull/33587 + if (!supportedStyles.includes('columnCount')) { + updatedSettings.typography = { + ...updatedSettings.typography, + textColumns: false + }; + } + ['contentSize', 'wideSize'].forEach(key => { + if (!supportedStyles.includes(key)) { + updatedSettings.layout = { + ...updatedSettings.layout, + [key]: false + }; + } + }); + ['padding', 'margin', 'blockGap'].forEach(key => { + if (!supportedStyles.includes(key)) { + updatedSettings.spacing = { + ...updatedSettings.spacing, + [key]: false + }; + } + const sides = Array.isArray(supports?.spacing?.[key]) ? supports?.spacing?.[key] : supports?.spacing?.[key]?.sides; + // Check if spacing type is supported before adding sides. + if (sides?.length && updatedSettings.spacing?.[key]) { + updatedSettings.spacing = { + ...updatedSettings.spacing, + [key]: { + ...updatedSettings.spacing?.[key], + sides + } + }; + } + }); + ['aspectRatio', 'minHeight'].forEach(key => { + if (!supportedStyles.includes(key)) { + updatedSettings.dimensions = { + ...updatedSettings.dimensions, + [key]: false + }; + } + }); + ['radius', 'color', 'style', 'width'].forEach(key => { + if (!supportedStyles.includes('border' + key.charAt(0).toUpperCase() + key.slice(1))) { + updatedSettings.border = { + ...updatedSettings.border, + [key]: false + }; + } + }); + updatedSettings.shadow = supportedStyles.includes('shadow') ? updatedSettings.shadow : false; + return updatedSettings; + }, [parentSettings, supportedStyles, supports]); +} +function useColorsPerOrigin(settings) { + const customColors = settings?.color?.palette?.custom; + const themeColors = settings?.color?.palette?.theme; + const defaultColors = settings?.color?.palette?.default; + const shouldDisplayDefaultColors = settings?.color?.defaultPalette; + return (0,external_wp_element_namespaceObject.useMemo)(() => { + const result = []; + if (themeColors && themeColors.length) { + result.push({ + name: (0,external_wp_i18n_namespaceObject._x)('Theme', 'Indicates this palette comes from the theme.'), + colors: themeColors + }); + } + if (shouldDisplayDefaultColors && defaultColors && defaultColors.length) { + result.push({ + name: (0,external_wp_i18n_namespaceObject._x)('Default', 'Indicates this palette comes from WordPress.'), + colors: defaultColors + }); + } + if (customColors && customColors.length) { + result.push({ + name: (0,external_wp_i18n_namespaceObject._x)('Custom', 'Indicates this palette is created by the user.'), + colors: customColors + }); + } + return result; + }, [customColors, themeColors, defaultColors, shouldDisplayDefaultColors]); +} +function useGradientsPerOrigin(settings) { + const customGradients = settings?.color?.gradients?.custom; + const themeGradients = settings?.color?.gradients?.theme; + const defaultGradients = settings?.color?.gradients?.default; + const shouldDisplayDefaultGradients = settings?.color?.defaultGradients; + return (0,external_wp_element_namespaceObject.useMemo)(() => { + const result = []; + if (themeGradients && themeGradients.length) { + result.push({ + name: (0,external_wp_i18n_namespaceObject._x)('Theme', 'Indicates this palette comes from the theme.'), + gradients: themeGradients + }); + } + if (shouldDisplayDefaultGradients && defaultGradients && defaultGradients.length) { + result.push({ + name: (0,external_wp_i18n_namespaceObject._x)('Default', 'Indicates this palette comes from WordPress.'), + gradients: defaultGradients + }); + } + if (customGradients && customGradients.length) { + result.push({ + name: (0,external_wp_i18n_namespaceObject._x)('Custom', 'Indicates this palette is created by the user.'), + gradients: customGradients + }); + } + return result; + }, [customGradients, themeGradients, defaultGradients, shouldDisplayDefaultGradients]); +} + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__(4403); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/utils.js + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + + + +/** + * External dependencies + */ + + +/** + * Removed falsy values from nested object. + * + * @param {*} object + * @return {*} Object cleaned from falsy values + */ +const utils_cleanEmptyObject = object => { + if (object === null || typeof object !== 'object' || Array.isArray(object)) { + return object; + } + const cleanedNestedObjects = Object.entries(object).map(([key, value]) => [key, utils_cleanEmptyObject(value)]).filter(([, value]) => value !== undefined); + return !cleanedNestedObjects.length ? undefined : Object.fromEntries(cleanedNestedObjects); +}; +function transformStyles(activeSupports, migrationPaths, result, source, index, results) { + // If there are no active supports return early. + if (Object.values(activeSupports !== null && activeSupports !== void 0 ? activeSupports : {}).every(isActive => !isActive)) { + return result; + } + // If the condition verifies we are probably in the presence of a wrapping transform + // e.g: nesting paragraphs in a group or columns and in that case the styles should not be transformed. + if (results.length === 1 && result.innerBlocks.length === source.length) { + return result; + } + // For cases where we have a transform from one block to multiple blocks + // or multiple blocks to one block we apply the styles of the first source block + // to the result(s). + let referenceBlockAttributes = source[0]?.attributes; + // If we are in presence of transform between more than one block in the source + // that has more than one block in the result + // we apply the styles on source N to the result N, + // if source N does not exists we do nothing. + if (results.length > 1 && source.length > 1) { + if (source[index]) { + referenceBlockAttributes = source[index]?.attributes; + } else { + return result; + } + } + let returnBlock = result; + Object.entries(activeSupports).forEach(([support, isActive]) => { + if (isActive) { + migrationPaths[support].forEach(path => { + const styleValue = getValueFromObjectPath(referenceBlockAttributes, path); + if (styleValue) { + returnBlock = { + ...returnBlock, + attributes: setImmutably(returnBlock.attributes, path, styleValue) + }; + } + }); + } + }); + return returnBlock; +} + +/** + * Check whether serialization of specific block support feature or set should + * be skipped. + * + * @param {string|Object} blockNameOrType Block name or block type object. + * @param {string} featureSet Name of block support feature set. + * @param {string} feature Name of the individual feature to check. + * + * @return {boolean} Whether serialization should occur. + */ +function shouldSkipSerialization(blockNameOrType, featureSet, feature) { + const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockNameOrType, featureSet); + const skipSerialization = support?.__experimentalSkipSerialization; + if (Array.isArray(skipSerialization)) { + return skipSerialization.includes(feature); + } + return skipSerialization; +} +function useStyleOverride({ + id, + css, + assets, + __unstableType +} = {}) { + const { + setStyleOverride, + deleteStyleOverride + } = unlock((0,external_wp_data_namespaceObject.useDispatch)(store)); + const fallbackId = (0,external_wp_element_namespaceObject.useId)(); + (0,external_wp_element_namespaceObject.useEffect)(() => { + // Unmount if there is CSS and assets are empty. + if (!css && !assets) return; + const _id = id || fallbackId; + setStyleOverride(_id, { + id, + css, + assets, + __unstableType + }); + return () => { + deleteStyleOverride(_id); + }; + }, [id, css, assets, __unstableType, fallbackId, setStyleOverride, deleteStyleOverride]); +} + +/** + * Based on the block and its context, returns an object of all the block settings. + * This object can be passed as a prop to all the Styles UI components + * (TypographyPanel, DimensionsPanel...). + * + * @param {string} name Block name. + * @param {*} parentLayout Parent layout. + * + * @return {Object} Settings object. + */ +function useBlockSettings(name, parentLayout) { + const [backgroundImage, backgroundSize, fontFamilies, userFontSizes, themeFontSizes, defaultFontSizes, defaultFontSizesEnabled, customFontSize, fontStyle, fontWeight, lineHeight, textColumns, textDecoration, writingMode, textTransform, letterSpacing, padding, margin, blockGap, spacingSizes, units, aspectRatio, minHeight, layout, borderColor, borderRadius, borderStyle, borderWidth, customColorsEnabled, customColors, customDuotone, themeColors, defaultColors, defaultPalette, defaultDuotone, userDuotonePalette, themeDuotonePalette, defaultDuotonePalette, userGradientPalette, themeGradientPalette, defaultGradientPalette, defaultGradients, areCustomGradientsEnabled, isBackgroundEnabled, isLinkEnabled, isTextEnabled, isHeadingEnabled, isButtonEnabled, shadow] = use_settings_useSettings('background.backgroundImage', 'background.backgroundSize', 'typography.fontFamilies', 'typography.fontSizes.custom', 'typography.fontSizes.theme', 'typography.fontSizes.default', 'typography.defaultFontSizes', 'typography.customFontSize', 'typography.fontStyle', 'typography.fontWeight', 'typography.lineHeight', 'typography.textColumns', 'typography.textDecoration', 'typography.writingMode', 'typography.textTransform', 'typography.letterSpacing', 'spacing.padding', 'spacing.margin', 'spacing.blockGap', 'spacing.spacingSizes', 'spacing.units', 'dimensions.aspectRatio', 'dimensions.minHeight', 'layout', 'border.color', 'border.radius', 'border.style', 'border.width', 'color.custom', 'color.palette.custom', 'color.customDuotone', 'color.palette.theme', 'color.palette.default', 'color.defaultPalette', 'color.defaultDuotone', 'color.duotone.custom', 'color.duotone.theme', 'color.duotone.default', 'color.gradients.custom', 'color.gradients.theme', 'color.gradients.default', 'color.defaultGradients', 'color.customGradient', 'color.background', 'color.link', 'color.text', 'color.heading', 'color.button', 'shadow'); + const rawSettings = (0,external_wp_element_namespaceObject.useMemo)(() => { + return { + background: { + backgroundImage, + backgroundSize + }, + color: { + palette: { + custom: customColors, + theme: themeColors, + default: defaultColors + }, + gradients: { + custom: userGradientPalette, + theme: themeGradientPalette, + default: defaultGradientPalette + }, + duotone: { + custom: userDuotonePalette, + theme: themeDuotonePalette, + default: defaultDuotonePalette + }, + defaultGradients, + defaultPalette, + defaultDuotone, + custom: customColorsEnabled, + customGradient: areCustomGradientsEnabled, + customDuotone, + background: isBackgroundEnabled, + link: isLinkEnabled, + heading: isHeadingEnabled, + button: isButtonEnabled, + text: isTextEnabled + }, + typography: { + fontFamilies: { + custom: fontFamilies + }, + fontSizes: { + custom: userFontSizes, + theme: themeFontSizes, + default: defaultFontSizes + }, + customFontSize, + defaultFontSizes: defaultFontSizesEnabled, + fontStyle, + fontWeight, + lineHeight, + textColumns, + textDecoration, + textTransform, + letterSpacing, + writingMode + }, + spacing: { + spacingSizes: { + custom: spacingSizes + }, + padding, + margin, + blockGap, + units + }, + border: { + color: borderColor, + radius: borderRadius, + style: borderStyle, + width: borderWidth + }, + dimensions: { + aspectRatio, + minHeight + }, + layout, + parentLayout, + shadow + }; + }, [backgroundImage, backgroundSize, fontFamilies, userFontSizes, themeFontSizes, defaultFontSizes, defaultFontSizesEnabled, customFontSize, fontStyle, fontWeight, lineHeight, textColumns, textDecoration, textTransform, letterSpacing, writingMode, padding, margin, blockGap, spacingSizes, units, aspectRatio, minHeight, layout, parentLayout, borderColor, borderRadius, borderStyle, borderWidth, customColorsEnabled, customColors, customDuotone, themeColors, defaultColors, defaultPalette, defaultDuotone, userDuotonePalette, themeDuotonePalette, defaultDuotonePalette, userGradientPalette, themeGradientPalette, defaultGradientPalette, defaultGradients, areCustomGradientsEnabled, isBackgroundEnabled, isLinkEnabled, isTextEnabled, isHeadingEnabled, isButtonEnabled, shadow]); + return useSettingsForBlockElement(rawSettings, name); +} +function createBlockEditFilter(features) { + // We don't want block controls to re-render when typing inside a block. + // `memo` will prevent re-renders unless props change, so only pass the + // needed props and not the whole attributes object. + features = features.map(settings => { + return { + ...settings, + Edit: (0,external_wp_element_namespaceObject.memo)(settings.edit) + }; + }); + const withBlockEditHooks = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(OriginalBlockEdit => props => { + const context = useBlockEditContext(); + // CAUTION: code added before this line will be executed for all + // blocks, not just those that support the feature! Code added + // above this line should be carefully evaluated for its impact on + // performance. + return [...features.map((feature, i) => { + const { + Edit, + hasSupport, + attributeKeys = [], + shareWithChildBlocks + } = feature; + const shouldDisplayControls = context[mayDisplayControlsKey] || context[mayDisplayParentControlsKey] && shareWithChildBlocks; + if (!shouldDisplayControls || !hasSupport(props.name)) { + return null; + } + const neededProps = {}; + for (const key of attributeKeys) { + if (props.attributes[key]) { + neededProps[key] = props.attributes[key]; + } + } + return (0,external_React_.createElement)(Edit + // We can use the index because the array length + // is fixed per page load right now. + , { + key: i, + name: props.name, + isSelected: props.isSelected, + clientId: props.clientId, + setAttributes: props.setAttributes, + __unstableParentLayout: props.__unstableParentLayout + // This component is pure, so only pass needed + // props!!! + , + ...neededProps + }); + }), (0,external_React_.createElement)(OriginalBlockEdit, { + key: "edit", + ...props + })]; + }, 'withBlockEditHooks'); + (0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/editor/hooks', withBlockEditHooks); +} +function BlockProps({ + index, + useBlockProps, + setAllWrapperProps, + ...props +}) { + const wrapperProps = useBlockProps(props); + const setWrapperProps = next => setAllWrapperProps(prev => { + const nextAll = [...prev]; + nextAll[index] = next; + return nextAll; + }); + // Setting state after every render is fine because this component is + // pure and will only re-render when needed props change. + (0,external_wp_element_namespaceObject.useEffect)(() => { + // We could shallow compare the props, but since this component only + // changes when needed attributes change, the benefit is probably small. + setWrapperProps(wrapperProps); + return () => { + setWrapperProps(undefined); + }; + }); + return null; +} +const BlockPropsPure = (0,external_wp_element_namespaceObject.memo)(BlockProps); +function createBlockListBlockFilter(features) { + const withBlockListBlockHooks = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockListBlock => props => { + const [allWrapperProps, setAllWrapperProps] = (0,external_wp_element_namespaceObject.useState)(Array(features.length).fill(undefined)); + return [...features.map((feature, i) => { + const { + hasSupport, + attributeKeys = [], + useBlockProps + } = feature; + const neededProps = {}; + for (const key of attributeKeys) { + if (props.attributes[key]) { + neededProps[key] = props.attributes[key]; + } + } + if ( + // Skip rendering if none of the needed attributes are + // set. + !Object.keys(neededProps).length || !hasSupport(props.name)) { + return null; + } + return (0,external_React_.createElement)(BlockPropsPure + // We can use the index because the array length + // is fixed per page load right now. + , { + key: i, + index: i, + useBlockProps: useBlockProps + // This component is pure, so we must pass a stable + // function reference. + , + setAllWrapperProps: setAllWrapperProps, + name: props.name + // This component is pure, so only pass needed + // props!!! + , + ...neededProps + }); + }), (0,external_React_.createElement)(BlockListBlock, { + key: "edit", + ...props, + wrapperProps: allWrapperProps.filter(Boolean).reduce((acc, wrapperProps) => { + return { + ...acc, + ...wrapperProps, + className: classnames_default()(acc.className, wrapperProps.className), + style: { + ...acc.style, + ...wrapperProps.style + } + }; + }, props.wrapperProps || {}) + })]; + }, 'withBlockListBlockHooks'); + (0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/editor/hooks', withBlockListBlockHooks); +} +function createBlockSaveFilter(features) { + function extraPropsFromHooks(props, name, attributes) { + return features.reduce((accu, feature) => { + const { + hasSupport, + attributeKeys = [], + addSaveProps + } = feature; + const neededAttributes = {}; + for (const key of attributeKeys) { + if (attributes[key]) { + neededAttributes[key] = attributes[key]; + } + } + if ( + // Skip rendering if none of the needed attributes are + // set. + !Object.keys(neededAttributes).length || !hasSupport(name)) { + return accu; + } + return addSaveProps(accu, name, neededAttributes); + }, props); + } + (0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/editor/hooks', extraPropsFromHooks, 0); + (0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/editor/hooks', props => { + // Previously we had a filter deleting the className if it was an empty + // string. That filter is no longer running, so now we need to delete it + // here. + if (props.hasOwnProperty('className') && !props.className) { + delete props.className; + } + return props; + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/compat.js +/** + * WordPress dependencies + */ + + +function migrateLightBlockWrapper(settings) { + const { + apiVersion = 1 + } = settings; + if (apiVersion < 2 && (0,external_wp_blocks_namespaceObject.hasBlockSupport)(settings, 'lightBlockWrapper', false)) { + settings.apiVersion = 2; + } + return settings; +} +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/compat/migrateLightBlockWrapper', migrateLightBlockWrapper); + +;// CONCATENATED MODULE: external ["wp","components"] +var external_wp_components_namespaceObject = window["wp"]["components"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/groups.js +/** + * WordPress dependencies + */ + +const BlockControlsDefault = (0,external_wp_components_namespaceObject.createSlotFill)('BlockControls'); +const BlockControlsBlock = (0,external_wp_components_namespaceObject.createSlotFill)('BlockControlsBlock'); +const BlockControlsInline = (0,external_wp_components_namespaceObject.createSlotFill)('BlockFormatControls'); +const BlockControlsOther = (0,external_wp_components_namespaceObject.createSlotFill)('BlockControlsOther'); +const BlockControlsParent = (0,external_wp_components_namespaceObject.createSlotFill)('BlockControlsParent'); +const groups = { + default: BlockControlsDefault, + block: BlockControlsBlock, + inline: BlockControlsInline, + other: BlockControlsOther, + parent: BlockControlsParent +}; +/* harmony default export */ var block_controls_groups = (groups); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/hook.js /** * WordPress dependencies */ - - /** * Internal dependencies */ - - function useBlockControlsFill(group, shareWithChildBlocks) { - const isDisplayed = useDisplayBlockControls(); - const { - clientId - } = useBlockEditContext(); - const isParentDisplayed = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockName, - hasSelectedInnerBlock - } = select(store); - const { - hasBlockSupport - } = select(external_wp_blocks_namespaceObject.store); - return shareWithChildBlocks && hasBlockSupport(getBlockName(clientId), '__experimentalExposeControlsToChildren', false) && hasSelectedInnerBlock(clientId); - }, [shareWithChildBlocks, clientId]); - if (isDisplayed) { + const context = useBlockEditContext(); + if (context[mayDisplayControlsKey]) { return block_controls_groups[group]?.Fill; } - if (isParentDisplayed) { + if (context[mayDisplayParentControlsKey] && shareWithChildBlocks) { return block_controls_groups.parent.Fill; } return null; @@ -11086,18 +18106,18 @@ function BlockControlsFill({ if (!Fill) { return null; } - const innerMarkup = (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, group === 'default' && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, { + const innerMarkup = (0,external_React_.createElement)(external_React_.Fragment, null, group === 'default' && (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, { controls: controls }), children); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalStyleProvider, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalStyleProvider, { document: document - }, (0,external_wp_element_namespaceObject.createElement)(Fill, null, fillProps => { + }, (0,external_React_.createElement)(Fill, null, fillProps => { // `fillProps.forwardedContext` is an array of context provider entries, provided by slot, // that should wrap the fill markup. const { forwardedContext = [] } = fillProps; - return forwardedContext.reduce((inner, [Provider, props]) => (0,external_wp_element_namespaceObject.createElement)(Provider, { + return forwardedContext.reduce((inner, [Provider, props]) => (0,external_React_.createElement)(Provider, { ...props }, inner), innerMarkup); })); @@ -11145,7 +18165,7 @@ function BlockControlsSlot({ if (!fills?.length) { return null; } - const slot = (0,external_wp_element_namespaceObject.createElement)(Slot, { + const slot = (0,external_React_.createElement)(Slot, { ...props, bubblesVirtually: true, fillProps: fillProps @@ -11153,7 +18173,7 @@ function BlockControlsSlot({ if (group === 'default') { return slot; } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, slot); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, slot); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/index.js @@ -11168,13 +18188,13 @@ BlockControls.Slot = BlockControlsSlot; // This is just here for backward compatibility. const BlockFormatControls = props => { - return (0,external_wp_element_namespaceObject.createElement)(BlockControlsFill, { + return (0,external_React_.createElement)(BlockControlsFill, { group: "inline", ...props }); }; BlockFormatControls.Slot = props => { - return (0,external_wp_element_namespaceObject.createElement)(BlockControlsSlot, { + return (0,external_React_.createElement)(BlockControlsSlot, { group: "inline", ...props }); @@ -11187,10 +18207,10 @@ BlockFormatControls.Slot = props => { * WordPress dependencies */ -const justifyLeft = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const justifyLeft = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M9 9v6h11V9H9zM4 20h1.5V4H4v16z" })); /* harmony default export */ var justify_left = (justifyLeft); @@ -11201,10 +18221,10 @@ const justifyLeft = (0,external_wp_element_namespaceObject.createElement)(extern * WordPress dependencies */ -const justifyCenter = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const justifyCenter = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M12.5 15v5H11v-5H4V9h7V4h1.5v5h7v6h-7Z" })); /* harmony default export */ var justify_center = (justifyCenter); @@ -11215,10 +18235,10 @@ const justifyCenter = (0,external_wp_element_namespaceObject.createElement)(exte * WordPress dependencies */ -const justifyRight = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const justifyRight = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M4 15h11V9H4v6zM18.5 4v16H20V4h-1.5z" })); /* harmony default export */ var justify_right = (justifyRight); @@ -11229,10 +18249,10 @@ const justifyRight = (0,external_wp_element_namespaceObject.createElement)(exter * WordPress dependencies */ -const justifySpaceBetween = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const justifySpaceBetween = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M9 15h6V9H9v6zm-5 5h1.5V4H4v16zM18.5 4v16H20V4h-1.5z" })); /* harmony default export */ var justify_space_between = (justifySpaceBetween); @@ -11243,10 +18263,10 @@ const justifySpaceBetween = (0,external_wp_element_namespaceObject.createElement * WordPress dependencies */ -const justifyStretch = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const justifyStretch = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M4 4H5.5V20H4V4ZM7 10L17 10V14L7 14V10ZM20 4H18.5V20H20V4Z" })); /* harmony default export */ var justify_stretch = (justifyStretch); @@ -11257,10 +18277,10 @@ const justifyStretch = (0,external_wp_element_namespaceObject.createElement)(ext * WordPress dependencies */ -const arrowRight = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const arrowRight = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m14.5 6.5-1 1 3.7 3.7H4v1.6h13.2l-3.7 3.7 1 1 5.6-5.5z" })); /* harmony default export */ var arrow_right = (arrowRight); @@ -11271,10 +18291,10 @@ const arrowRight = (0,external_wp_element_namespaceObject.createElement)(externa * WordPress dependencies */ -const arrowDown = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const arrowDown = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m16.5 13.5-3.7 3.7V4h-1.5v13.2l-3.8-3.7-1 1 5.5 5.6 5.5-5.6z" })); /* harmony default export */ var arrow_down = (arrowDown); @@ -11500,7 +18520,7 @@ function getAlignmentsInfo(layout) { type = 'default' } = layout; const alignmentInfo = {}; - const sizeRegex = /^(?!0)\d+(px|em|rem|vw|vh|%)?$/i; + const sizeRegex = /^(?!0)\d+(px|em|rem|vw|vh|%|svw|lvw|dvw|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax)?$/i; if (sizeRegex.test(contentSize) && type === 'constrained') { // translators: %s: container size (i.e. 600px etc) alignmentInfo.none = (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)('Max %s wide'), contentSize); @@ -11518,10 +18538,10 @@ function getAlignmentsInfo(layout) { * WordPress dependencies */ -const sidesAll = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const sidesAll = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z" })); /* harmony default export */ var sides_all = (sidesAll); @@ -11532,17 +18552,17 @@ const sidesAll = (0,external_wp_element_namespaceObject.createElement)(external_ * WordPress dependencies */ -const sidesHorizontal = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const sidesHorizontal = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z", style: { opacity: 0.25 } -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}), (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m4.5 7.5v9h1.5v-9z" -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}), (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m18 7.5v9h1.5v-9z" })); /* harmony default export */ var sides_horizontal = (sidesHorizontal); @@ -11553,17 +18573,17 @@ const sidesHorizontal = (0,external_wp_element_namespaceObject.createElement)(ex * WordPress dependencies */ -const sidesVertical = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const sidesVertical = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z", style: { opacity: 0.25 } -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}), (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m7.5 6h9v-1.5h-9z" -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}), (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m7.5 19.5h9v-1.5h-9z" })); /* harmony default export */ var sides_vertical = (sidesVertical); @@ -11574,15 +18594,15 @@ const sidesVertical = (0,external_wp_element_namespaceObject.createElement)(exte * WordPress dependencies */ -const sidesTop = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const sidesTop = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z", style: { opacity: 0.25 } -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}), (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m16.5 6h-9v-1.5h9z" })); /* harmony default export */ var sides_top = (sidesTop); @@ -11593,15 +18613,15 @@ const sidesTop = (0,external_wp_element_namespaceObject.createElement)(external_ * WordPress dependencies */ -const sidesRight = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const sidesRight = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z", style: { opacity: 0.25 } -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}), (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m18 16.5v-9h1.5v9z" })); /* harmony default export */ var sides_right = (sidesRight); @@ -11612,15 +18632,15 @@ const sidesRight = (0,external_wp_element_namespaceObject.createElement)(externa * WordPress dependencies */ -const sidesBottom = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const sidesBottom = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z", style: { opacity: 0.25 } -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}), (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m16.5 19.5h-9v-1.5h9z", style: { fill: '#1e1e1e' @@ -11634,15 +18654,15 @@ const sidesBottom = (0,external_wp_element_namespaceObject.createElement)(extern * WordPress dependencies */ -const sidesLeft = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const sidesLeft = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z", style: { opacity: 0.25 } -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}), (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m4.5 16.5v-9h1.5v9z" })); /* harmony default export */ var sides_left = (sidesLeft); @@ -12045,34 +19065,34 @@ function getGapCSSValue(blockGapValue, defaultValue = '0') { * WordPress dependencies */ -const alignBottom = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { +const alignBottom = (0,external_React_.createElement)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { d: "M15 4H9v11h6V4zM4 18.5V20h16v-1.5H4z" })); -const alignCenter = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { +const alignCenter = (0,external_React_.createElement)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { d: "M20 11h-5V4H9v7H4v1.5h5V20h6v-7.5h5z" })); -const alignTop = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { +const alignTop = (0,external_React_.createElement)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { d: "M9 20h6V9H9v11zM4 4v1.5h16V4H4z" })); -const alignStretch = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { +const alignStretch = (0,external_React_.createElement)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { d: "M4 4L20 4L20 5.5L4 5.5L4 4ZM10 7L14 7L14 17L10 17L10 7ZM20 18.5L4 18.5L4 20L20 20L20 18.5Z" })); -const spaceBetween = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { +const spaceBetween = (0,external_React_.createElement)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { d: "M7 4H17V8L7 8V4ZM7 16L17 16V20L7 20V16ZM20 11.25H4V12.75H20V11.25Z" })); @@ -12128,7 +19148,7 @@ function BlockVerticalAlignmentUI({ const extraProps = isToolbar ? { isCollapsed } : {}; - return (0,external_wp_element_namespaceObject.createElement)(UIComponent, { + return (0,external_React_.createElement)(UIComponent, { icon: activeAlignment ? activeAlignment.icon : defaultAlignmentControl.icon, label: (0,external_wp_i18n_namespaceObject._x)('Change vertical alignment', 'Block vertical alignment setting label'), controls: controls.map(control => { @@ -12155,13 +19175,13 @@ function BlockVerticalAlignmentUI({ */ const BlockVerticalAlignmentControl = props => { - return (0,external_wp_element_namespaceObject.createElement)(ui, { + return (0,external_React_.createElement)(ui, { ...props, isToolbar: false }); }; const BlockVerticalAlignmentToolbar = props => { - return (0,external_wp_element_namespaceObject.createElement)(ui, { + return (0,external_React_.createElement)(ui, { ...props, isToolbar: true }); @@ -12241,7 +19261,7 @@ function JustifyContentUI({ const extraProps = isToolbar ? { isCollapsed } : {}; - return (0,external_wp_element_namespaceObject.createElement)(UIComponent, { + return (0,external_React_.createElement)(UIComponent, { icon: icon, popoverProps: popoverProps, label: (0,external_wp_i18n_namespaceObject.__)('Change items justification'), @@ -12258,13 +19278,13 @@ function JustifyContentUI({ */ const JustifyContentControl = props => { - return (0,external_wp_element_namespaceObject.createElement)(justify_content_control_ui, { + return (0,external_React_.createElement)(justify_content_control_ui, { ...props, isToolbar: false }); }; const JustifyToolbar = props => { - return (0,external_wp_element_namespaceObject.createElement)(justify_content_control_ui, { + return (0,external_React_.createElement)(justify_content_control_ui, { ...props, isToolbar: true }); @@ -12275,1928 +19295,6 @@ const JustifyToolbar = props => { */ -;// CONCATENATED MODULE: ./node_modules/tslib/tslib.es6.mjs -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; -}; - -function __runInitializers(thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; - -function __propKey(x) { - return typeof x === "symbol" ? x : "".concat(x); -}; - -function __setFunctionName(f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); -}; - -function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -function __awaiter(thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} - -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -var __createBinding = Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -}); - -function __exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); -} - -function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} - -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -/** @deprecated */ -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -/** @deprecated */ -function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} - -function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} - -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; - function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } -} - -function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}; - -function __importStar(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -} - -function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - -function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} - -function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; -} - -function __classPrivateFieldIn(state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} - -function __addDisposableResource(env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; -} - -var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; - -function __disposeResources(env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - function next() { - while (env.stack.length) { - var rec = env.stack.pop(); - try { - var result = rec.dispose && rec.dispose.call(rec.value); - if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - catch (e) { - fail(e); - } - } - if (env.hasError) throw env.error; - } - return next(); -} - -/* harmony default export */ var tslib_es6 = ({ - __extends, - __assign, - __rest, - __decorate, - __param, - __metadata, - __awaiter, - __generator, - __createBinding, - __exportStar, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, -}); - -;// CONCATENATED MODULE: ./node_modules/lower-case/dist.es2015/index.js -/** - * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt - */ -var SUPPORTED_LOCALE = { - tr: { - regexp: /\u0130|\u0049|\u0049\u0307/g, - map: { - İ: "\u0069", - I: "\u0131", - İ: "\u0069", - }, - }, - az: { - regexp: /\u0130/g, - map: { - İ: "\u0069", - I: "\u0131", - İ: "\u0069", - }, - }, - lt: { - regexp: /\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g, - map: { - I: "\u0069\u0307", - J: "\u006A\u0307", - Į: "\u012F\u0307", - Ì: "\u0069\u0307\u0300", - Í: "\u0069\u0307\u0301", - Ĩ: "\u0069\u0307\u0303", - }, - }, -}; -/** - * Localized lower case. - */ -function localeLowerCase(str, locale) { - var lang = SUPPORTED_LOCALE[locale.toLowerCase()]; - if (lang) - return lowerCase(str.replace(lang.regexp, function (m) { return lang.map[m]; })); - return lowerCase(str); -} -/** - * Lower case as a function. - */ -function lowerCase(str) { - return str.toLowerCase(); -} - -;// CONCATENATED MODULE: ./node_modules/no-case/dist.es2015/index.js - -// Support camel case ("camelCase" -> "camel Case" and "CAMELCase" -> "CAMEL Case"). -var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g]; -// Remove all non-word characters. -var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi; -/** - * Normalize the string into something other libraries can manipulate easier. - */ -function noCase(input, options) { - if (options === void 0) { options = {}; } - var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? " " : _d; - var result = dist_es2015_replace(dist_es2015_replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0"); - var start = 0; - var end = result.length; - // Trim the delimiter from around the output string. - while (result.charAt(start) === "\0") - start++; - while (result.charAt(end - 1) === "\0") - end--; - // Transform each token independently. - return result.slice(start, end).split("\0").map(transform).join(delimiter); -} -/** - * Replace `re` in the input string with the replacement value. - */ -function dist_es2015_replace(input, re, value) { - if (re instanceof RegExp) - return input.replace(re, value); - return re.reduce(function (input, re) { return input.replace(re, value); }, input); -} - -;// CONCATENATED MODULE: ./node_modules/dot-case/dist.es2015/index.js - - -function dotCase(input, options) { - if (options === void 0) { options = {}; } - return noCase(input, __assign({ delimiter: "." }, options)); -} - -;// CONCATENATED MODULE: ./node_modules/param-case/dist.es2015/index.js - - -function paramCase(input, options) { - if (options === void 0) { options = {}; } - return dotCase(input, __assign({ delimiter: "-" }, options)); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/object.js -/** - * External dependencies - */ - - -/** - * Converts a path to an array of its fragments. - * Supports strings, numbers and arrays: - * - * 'foo' => [ 'foo' ] - * 2 => [ '2' ] - * [ 'foo', 'bar' ] => [ 'foo', 'bar' ] - * - * @param {string|number|Array} path Path - * @return {Array} Normalized path. - */ -function normalizePath(path) { - if (Array.isArray(path)) { - return path; - } else if (typeof path === 'number') { - return [path.toString()]; - } - return [path]; -} - -/** - * Converts any string to kebab case. - * Backwards compatible with Lodash's `_.kebabCase()`. - * Backwards compatible with `_wp_to_kebab_case()`. - * - * @see https://lodash.com/docs/4.17.15#kebabCase - * @see https://developer.wordpress.org/reference/functions/_wp_to_kebab_case/ - * - * @param {string} str String to convert. - * @return {string} Kebab-cased string - */ -function kebabCase(str) { - let input = str; - if (typeof str !== 'string') { - var _str$toString; - input = (_str$toString = str?.toString?.()) !== null && _str$toString !== void 0 ? _str$toString : ''; - } - - // See https://github.com/lodash/lodash/blob/b185fcee26b2133bd071f4aaca14b455c2ed1008/lodash.js#L4970 - input = input.replace(/['\u2019]/, ''); - return paramCase(input, { - splitRegexp: [/(?!(?:1ST|2ND|3RD|[4-9]TH)(?![a-z]))([a-z0-9])([A-Z])/g, - // fooBar => foo-bar, 3Bar => 3-bar - /(?!(?:1st|2nd|3rd|[4-9]th)(?![a-z]))([0-9])([a-z])/g, - // 3bar => 3-bar - /([A-Za-z])([0-9])/g, - // Foo3 => foo-3, foo3 => foo-3 - /([A-Z])([A-Z][a-z])/g // FOOBar => foo-bar - ] - }); -} - -/** - * Clones an object. - * Arrays are also cloned as arrays. - * Non-object values are returned unchanged. - * - * @param {*} object Object to clone. - * @return {*} Cloned object, or original literal non-object value. - */ -function cloneObject(object) { - if (Array.isArray(object)) { - return object.map(cloneObject); - } - if (object && typeof object === 'object') { - return { - ...Object.fromEntries(Object.entries(object).map(([key, value]) => [key, cloneObject(value)])) - }; - } - return object; -} - -/** - * Immutably sets a value inside an object. Like `lodash#set`, but returning a - * new object. Treats nullish initial values as empty objects. Clones any - * nested objects. Supports arrays, too. - * - * @param {Object} object Object to set a value in. - * @param {number|string|Array} path Path in the object to modify. - * @param {*} value New value to set. - * @return {Object} Cloned object with the new value set. - */ -function setImmutably(object, path, value) { - const normalizedPath = normalizePath(path); - const newObject = object ? cloneObject(object) : {}; - normalizedPath.reduce((acc, key, i) => { - if (acc[key] === undefined) { - if (Number.isInteger(path[i + 1])) { - acc[key] = []; - } else { - acc[key] = {}; - } - } - if (i === normalizedPath.length - 1) { - acc[key] = value; - } - return acc[key]; - }, newObject); - return newObject; -} - -/** - * Helper util to return a value from a certain path of the object. - * Path is specified as either: - * - a string of properties, separated by dots, for example: "x.y". - * - an array of properties, for example `[ 'x', 'y' ]`. - * You can also specify a default value in case the result is nullish. - * - * @param {Object} object Input object. - * @param {string|Array} path Path to the object property. - * @param {*} defaultValue Default value if the value at the specified path is nullish. - * @return {*} Value of the object property at the specified path. - */ -const getValueFromObjectPath = (object, path, defaultValue) => { - var _value; - const normalizedPath = Array.isArray(path) ? path : path.split('.'); - let value = object; - normalizedPath.forEach(fieldName => { - value = value?.[fieldName]; - }); - return (_value = value) !== null && _value !== void 0 ? _value : defaultValue; -}; - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-setting/index.js -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -const blockedPaths = ['color', 'border', 'dimensions', 'typography', 'spacing']; -const deprecatedFlags = { - 'color.palette': settings => settings.colors, - 'color.gradients': settings => settings.gradients, - 'color.custom': settings => settings.disableCustomColors === undefined ? undefined : !settings.disableCustomColors, - 'color.customGradient': settings => settings.disableCustomGradients === undefined ? undefined : !settings.disableCustomGradients, - 'typography.fontSizes': settings => settings.fontSizes, - 'typography.customFontSize': settings => settings.disableCustomFontSizes === undefined ? undefined : !settings.disableCustomFontSizes, - 'typography.lineHeight': settings => settings.enableCustomLineHeight, - 'spacing.units': settings => { - if (settings.enableCustomUnits === undefined) { - return; - } - if (settings.enableCustomUnits === true) { - return ['px', 'em', 'rem', 'vh', 'vw', '%']; - } - return settings.enableCustomUnits; - }, - 'spacing.padding': settings => settings.enableCustomSpacing -}; -const prefixedFlags = { - /* - * These were only available in the plugin - * and can be removed when the minimum WordPress version - * for the plugin is 5.9. - */ - 'border.customColor': 'border.color', - 'border.customStyle': 'border.style', - 'border.customWidth': 'border.width', - 'typography.customFontStyle': 'typography.fontStyle', - 'typography.customFontWeight': 'typography.fontWeight', - 'typography.customLetterSpacing': 'typography.letterSpacing', - 'typography.customTextDecorations': 'typography.textDecoration', - 'typography.customTextTransforms': 'typography.textTransform', - /* - * These were part of WordPress 5.8 and we need to keep them. - */ - 'border.customRadius': 'border.radius', - 'spacing.customMargin': 'spacing.margin', - 'spacing.customPadding': 'spacing.padding', - 'typography.customLineHeight': 'typography.lineHeight' -}; - -/** - * Remove `custom` prefixes for flags that did not land in 5.8. - * - * This provides continued support for `custom` prefixed properties. It will - * be removed once third party devs have had sufficient time to update themes, - * plugins, etc. - * - * @see https://github.com/WordPress/gutenberg/pull/34485 - * - * @param {string} path Path to desired value in settings. - * @return {string} The value for defined setting. - */ -const removeCustomPrefixes = path => { - return prefixedFlags[path] || path; -}; - -/** - * Hook that retrieves the given setting for the block instance in use. - * - * It looks up the settings first in the block instance hierarchy. - * If none is found, it'll look it up in the block editor store. - * - * @param {string} path The path to the setting. - * @return {any} Returns the value defined for the setting. - * @example - * ```js - * const isEnabled = useSetting( 'typography.dropCap' ); - * ``` - */ -function use_setting_useSetting(path) { - const { - name: blockName, - clientId - } = useBlockEditContext(); - return (0,external_wp_data_namespaceObject.useSelect)(select => { - if (blockedPaths.includes(path)) { - // eslint-disable-next-line no-console - console.warn('Top level useSetting paths are disabled. Please use a subpath to query the information needed.'); - return undefined; - } - - // 0. Allow third parties to filter the block's settings at runtime. - let result = (0,external_wp_hooks_namespaceObject.applyFilters)('blockEditor.useSetting.before', undefined, path, clientId, blockName); - if (undefined !== result) { - return result; - } - const normalizedPath = removeCustomPrefixes(path); - - // 1. Take settings from the block instance or its ancestors. - // Start from the current block and work our way up the ancestors. - const candidates = [clientId, ...select(store).getBlockParents(clientId, /* ascending */true)]; - for (const candidateClientId of candidates) { - const candidateBlockName = select(store).getBlockName(candidateClientId); - if ((0,external_wp_blocks_namespaceObject.hasBlockSupport)(candidateBlockName, '__experimentalSettings', false)) { - var _getValueFromObjectPa; - const candidateAtts = select(store).getBlockAttributes(candidateClientId); - result = (_getValueFromObjectPa = getValueFromObjectPath(candidateAtts, `settings.blocks.${blockName}.${normalizedPath}`)) !== null && _getValueFromObjectPa !== void 0 ? _getValueFromObjectPa : getValueFromObjectPath(candidateAtts, `settings.${normalizedPath}`); - if (result !== undefined) { - // Stop the search for more distant ancestors and move on. - break; - } - } - } - - // 2. Fall back to the settings from the block editor store (__experimentalFeatures). - const settings = select(store).getSettings(); - if (result === undefined) { - var _getValueFromObjectPa2; - const defaultsPath = `__experimentalFeatures.${normalizedPath}`; - const blockPath = `__experimentalFeatures.blocks.${blockName}.${normalizedPath}`; - result = (_getValueFromObjectPa2 = getValueFromObjectPath(settings, blockPath)) !== null && _getValueFromObjectPa2 !== void 0 ? _getValueFromObjectPa2 : getValueFromObjectPath(settings, defaultsPath); - } - - // Return if the setting was found in either the block instance or the store. - if (result !== undefined) { - if (external_wp_blocks_namespaceObject.__EXPERIMENTAL_PATHS_WITH_MERGE[normalizedPath]) { - var _ref, _result$custom; - return (_ref = (_result$custom = result.custom) !== null && _result$custom !== void 0 ? _result$custom : result.theme) !== null && _ref !== void 0 ? _ref : result.default; - } - return result; - } - - // 3. Otherwise, use deprecated settings. - const deprecatedSettingsValue = deprecatedFlags[normalizedPath] ? deprecatedFlags[normalizedPath](settings) : undefined; - if (deprecatedSettingsValue !== undefined) { - return deprecatedSettingsValue; - } - - // 4. Fallback for typography.dropCap: - // This is only necessary to support typography.dropCap. - // when __experimentalFeatures are not present (core without plugin). - // To remove when __experimentalFeatures are ported to core. - return normalizedPath === 'typography.dropCap' ? true : undefined; - }, [blockName, clientId, path]); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/fluid-utils.js -/** - * The fluid utilities must match the backend equivalent. - * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php - * --------------------------------------------------------------- - */ - -// Defaults. -const DEFAULT_MAXIMUM_VIEWPORT_WIDTH = '1600px'; -const DEFAULT_MINIMUM_VIEWPORT_WIDTH = '320px'; -const DEFAULT_SCALE_FACTOR = 1; -const DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN = 0.25; -const DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX = 0.75; -const DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px'; - -/** - * Computes a fluid font-size value that uses clamp(). A minimum and maximum - * font size OR a single font size can be specified. - * - * If a single font size is specified, it is scaled up and down using a logarithmic scale. - * - * @example - * ```js - * // Calculate fluid font-size value from a minimum and maximum value. - * const fontSize = getComputedFluidTypographyValue( { - * minimumFontSize: '20px', - * maximumFontSize: '45px' - * } ); - * // Calculate fluid font-size value from a single font size. - * const fontSize = getComputedFluidTypographyValue( { - * fontSize: '30px', - * } ); - * ``` - * - * @param {Object} args - * @param {?string} args.minimumViewportWidth Minimum viewport size from which type will have fluidity. Optional if fontSize is specified. - * @param {?string} args.maximumViewportWidth Maximum size up to which type will have fluidity. Optional if fontSize is specified. - * @param {string|number} [args.fontSize] Size to derive maximumFontSize and minimumFontSize from, if necessary. Optional if minimumFontSize and maximumFontSize are specified. - * @param {?string} args.maximumFontSize Maximum font size for any clamp() calculation. Optional. - * @param {?string} args.minimumFontSize Minimum font size for any clamp() calculation. Optional. - * @param {?number} args.scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional. - * @param {?string} args.minimumFontSizeLimit The smallest a calculated font size may be. Optional. - * - * @return {string|null} A font-size value using clamp(). - */ -function getComputedFluidTypographyValue({ - minimumFontSize, - maximumFontSize, - fontSize, - minimumViewportWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH, - maximumViewportWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH, - scaleFactor = DEFAULT_SCALE_FACTOR, - minimumFontSizeLimit -}) { - // Validate incoming settings and set defaults. - minimumFontSizeLimit = !!getTypographyValueAndUnit(minimumFontSizeLimit) ? minimumFontSizeLimit : DEFAULT_MINIMUM_FONT_SIZE_LIMIT; - - /* - * Calculates missing minimumFontSize and maximumFontSize from - * defaultFontSize if provided. - */ - if (fontSize) { - // Parses default font size. - const fontSizeParsed = getTypographyValueAndUnit(fontSize); - - // Protect against invalid units. - if (!fontSizeParsed?.unit) { - return null; - } - - // Parses the minimum font size limit, so we can perform checks using it. - const minimumFontSizeLimitParsed = getTypographyValueAndUnit(minimumFontSizeLimit, { - coerceTo: fontSizeParsed.unit - }); - - // Don't enforce minimum font size if a font size has explicitly set a min and max value. - if (!!minimumFontSizeLimitParsed?.value && !minimumFontSize && !maximumFontSize) { - /* - * If a minimum size was not passed to this function - * and the user-defined font size is lower than $minimum_font_size_limit, - * do not calculate a fluid value. - */ - if (fontSizeParsed?.value <= minimumFontSizeLimitParsed?.value) { - return null; - } - } - - // If no fluid max font size is available use the incoming value. - if (!maximumFontSize) { - maximumFontSize = `${fontSizeParsed.value}${fontSizeParsed.unit}`; - } - - /* - * If no minimumFontSize is provided, create one using - * the given font size multiplied by the min font size scale factor. - */ - if (!minimumFontSize) { - const fontSizeValueInPx = fontSizeParsed.unit === 'px' ? fontSizeParsed.value : fontSizeParsed.value * 16; - - /* - * The scale factor is a multiplier that affects how quickly the curve will move towards the minimum, - * that is, how quickly the size factor reaches 0 given increasing font size values. - * For a - b * log2(), lower values of b will make the curve move towards the minimum faster. - * The scale factor is constrained between min and max values. - */ - const minimumFontSizeFactor = Math.min(Math.max(1 - 0.075 * Math.log2(fontSizeValueInPx), DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN), DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX); - - // Calculates the minimum font size. - const calculatedMinimumFontSize = roundToPrecision(fontSizeParsed.value * minimumFontSizeFactor, 3); - - // Only use calculated min font size if it's > $minimum_font_size_limit value. - if (!!minimumFontSizeLimitParsed?.value && calculatedMinimumFontSize < minimumFontSizeLimitParsed?.value) { - minimumFontSize = `${minimumFontSizeLimitParsed.value}${minimumFontSizeLimitParsed.unit}`; - } else { - minimumFontSize = `${calculatedMinimumFontSize}${fontSizeParsed.unit}`; - } - } - } - - // Grab the minimum font size and normalize it in order to use the value for calculations. - const minimumFontSizeParsed = getTypographyValueAndUnit(minimumFontSize); - - // We get a 'preferred' unit to keep units consistent when calculating, - // otherwise the result will not be accurate. - const fontSizeUnit = minimumFontSizeParsed?.unit || 'rem'; - - // Grabs the maximum font size and normalize it in order to use the value for calculations. - const maximumFontSizeParsed = getTypographyValueAndUnit(maximumFontSize, { - coerceTo: fontSizeUnit - }); - - // Checks for mandatory min and max sizes, and protects against unsupported units. - if (!minimumFontSizeParsed || !maximumFontSizeParsed) { - return null; - } - - // Uses rem for accessible fluid target font scaling. - const minimumFontSizeRem = getTypographyValueAndUnit(minimumFontSize, { - coerceTo: 'rem' - }); - - // Viewport widths defined for fluid typography. Normalize units - const maximumViewportWidthParsed = getTypographyValueAndUnit(maximumViewportWidth, { - coerceTo: fontSizeUnit - }); - const minimumViewportWidthParsed = getTypographyValueAndUnit(minimumViewportWidth, { - coerceTo: fontSizeUnit - }); - - // Protect against unsupported units. - if (!maximumViewportWidthParsed || !minimumViewportWidthParsed || !minimumFontSizeRem) { - return null; - } - - // Build CSS rule. - // Borrowed from https://websemantics.uk/tools/responsive-font-calculator/. - const minViewportWidthOffsetValue = roundToPrecision(minimumViewportWidthParsed.value / 100, 3); - const viewportWidthOffset = roundToPrecision(minViewportWidthOffsetValue, 3) + fontSizeUnit; - const linearFactor = 100 * ((maximumFontSizeParsed.value - minimumFontSizeParsed.value) / (maximumViewportWidthParsed.value - minimumViewportWidthParsed.value)); - const linearFactorScaled = roundToPrecision((linearFactor || 1) * scaleFactor, 3); - const fluidTargetFontSize = `${minimumFontSizeRem.value}${minimumFontSizeRem.unit} + ((1vw - ${viewportWidthOffset}) * ${linearFactorScaled})`; - return `clamp(${minimumFontSize}, ${fluidTargetFontSize}, ${maximumFontSize})`; -} - -/** - * Internal method that checks a string for a unit and value and returns an array consisting of `'value'` and `'unit'`, e.g., [ '42', 'rem' ]. - * A raw font size of `value + unit` is expected. If the value is an integer, it will convert to `value + 'px'`. - * - * @param {string|number} rawValue Raw size value from theme.json. - * @param {Object|undefined} options Calculation options. - * - * @return {{ unit: string, value: number }|null} An object consisting of `'value'` and `'unit'` properties. - */ -function getTypographyValueAndUnit(rawValue, options = {}) { - if (typeof rawValue !== 'string' && typeof rawValue !== 'number') { - return null; - } - - // Converts numeric values to pixel values by default. - if (isFinite(rawValue)) { - rawValue = `${rawValue}px`; - } - const { - coerceTo, - rootSizeValue, - acceptableUnits - } = { - coerceTo: '', - // Default browser font size. Later we could inject some JS to compute this `getComputedStyle( document.querySelector( "html" ) ).fontSize`. - rootSizeValue: 16, - acceptableUnits: ['rem', 'px', 'em'], - ...options - }; - const acceptableUnitsGroup = acceptableUnits?.join('|'); - const regexUnits = new RegExp(`^(\\d*\\.?\\d+)(${acceptableUnitsGroup}){1,1}$`); - const matches = rawValue.match(regexUnits); - - // We need a number value and a unit. - if (!matches || matches.length < 3) { - return null; - } - let [, value, unit] = matches; - let returnValue = parseFloat(value); - if ('px' === coerceTo && ('em' === unit || 'rem' === unit)) { - returnValue = returnValue * rootSizeValue; - unit = coerceTo; - } - if ('px' === unit && ('em' === coerceTo || 'rem' === coerceTo)) { - returnValue = returnValue / rootSizeValue; - unit = coerceTo; - } - - /* - * No calculation is required if swapping between em and rem yet, - * since we assume a root size value. Later we might like to differentiate between - * :root font size (rem) and parent element font size (em) relativity. - */ - if (('em' === coerceTo || 'rem' === coerceTo) && ('em' === unit || 'rem' === unit)) { - unit = coerceTo; - } - return { - value: roundToPrecision(returnValue, 3), - unit - }; -} - -/** - * Returns a value rounded to defined precision. - * Returns `undefined` if the value is not a valid finite number. - * - * @param {number} value Raw value. - * @param {number} digits The number of digits to appear after the decimal point - * - * @return {number|undefined} Value rounded to standard precision. - */ -function roundToPrecision(value, digits = 3) { - const base = Math.pow(10, digits); - return Number.isFinite(value) ? parseFloat(Math.round(value * base) / base) : undefined; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/typography-utils.js -/** - * The fluid utilities must match the backend equivalent. - * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php - * --------------------------------------------------------------- - */ - -/** - * Internal dependencies - */ - - -/** - * @typedef {Object} FluidPreset - * @property {string|undefined} max A maximum font size value. - * @property {?string|undefined} min A minimum font size value. - */ - -/** - * @typedef {Object} Preset - * @property {?string|?number} size A default font size. - * @property {string} name A font size name, displayed in the UI. - * @property {string} slug A font size slug - * @property {boolean|FluidPreset|undefined} fluid Specifies the minimum and maximum font size value of a fluid font size. - */ - -/** - * @typedef {Object} TypographySettings - * @property {?string} minViewportWidth Minimum viewport size from which type will have fluidity. Optional if size is specified. - * @property {?string} maxViewportWidth Maximum size up to which type will have fluidity. Optional if size is specified. - * @property {?number} scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional. - * @property {?number} minFontSizeFactor How much to scale defaultFontSize by to derive minimumFontSize. Optional. - * @property {?string} minFontSize The smallest a calculated font size may be. Optional. - */ - -/** - * Returns a font-size value based on a given font-size preset. - * Takes into account fluid typography parameters and attempts to return a css formula depending on available, valid values. - * - * @param {Preset} preset - * @param {Object} typographyOptions - * @param {boolean|TypographySettings} typographyOptions.fluid Whether fluid typography is enabled, and, optionally, fluid font size options. - * - * @return {string|*} A font-size value or the value of preset.size. - */ -function getTypographyFontSizeValue(preset, typographyOptions) { - const { - size: defaultSize - } = preset; - if (!isFluidTypographyEnabled(typographyOptions)) { - return defaultSize; - } - /* - * Checks whether a font size has explicitly bypassed fluid calculations. - * Also catches falsy values and 0/'0'. - * Fluid calculations cannot be performed on `0`. - */ - if (!defaultSize || '0' === defaultSize || false === preset?.fluid) { - return defaultSize; - } - const fluidTypographySettings = typeof typographyOptions?.fluid === 'object' ? typographyOptions?.fluid : {}; - const fluidFontSizeValue = getComputedFluidTypographyValue({ - minimumFontSize: preset?.fluid?.min, - maximumFontSize: preset?.fluid?.max, - fontSize: defaultSize, - minimumFontSizeLimit: fluidTypographySettings?.minFontSize, - maximumViewportWidth: fluidTypographySettings?.maxViewportWidth, - minimumViewportWidth: fluidTypographySettings?.minViewportWidth - }); - if (!!fluidFontSizeValue) { - return fluidFontSizeValue; - } - return defaultSize; -} -function isFluidTypographyEnabled(typographySettings) { - const fluidSettings = typographySettings?.fluid; - return true === fluidSettings || fluidSettings && typeof fluidSettings === 'object' && Object.keys(fluidSettings).length > 0; -} - -/** - * Returns fluid typography settings from theme.json setting object. - * - * @param {Object} settings Theme.json settings - * @param {Object} settings.typography Theme.json typography settings - * @param {Object} settings.layout Theme.json layout settings - * @return {TypographySettings} Fluid typography settings - */ -function getFluidTypographyOptionsFromSettings(settings) { - const typographySettings = settings?.typography; - const layoutSettings = settings?.layout; - const defaultMaxViewportWidth = getTypographyValueAndUnit(layoutSettings?.wideSize) ? layoutSettings?.wideSize : null; - return isFluidTypographyEnabled(typographySettings) && defaultMaxViewportWidth ? { - fluid: { - maxViewportWidth: defaultMaxViewportWidth, - ...typographySettings.fluid - } - } : { - fluid: typographySettings?.fluid - }; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/utils.js -/** - * External dependencies - */ - - -/** - * Internal dependencies - */ - - - -/* Supporting data. */ -const ROOT_BLOCK_NAME = 'root'; -const ROOT_BLOCK_SELECTOR = 'body'; -const ROOT_BLOCK_SUPPORTS = (/* unused pure expression or super */ null && (['background', 'backgroundColor', 'color', 'linkColor', 'captionColor', 'buttonColor', 'headingColor', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'lineHeight', 'textDecoration', 'textTransform', 'padding'])); -const PRESET_METADATA = [{ - path: ['color', 'palette'], - valueKey: 'color', - cssVarInfix: 'color', - classes: [{ - classSuffix: 'color', - propertyName: 'color' - }, { - classSuffix: 'background-color', - propertyName: 'background-color' - }, { - classSuffix: 'border-color', - propertyName: 'border-color' - }] -}, { - path: ['color', 'gradients'], - valueKey: 'gradient', - cssVarInfix: 'gradient', - classes: [{ - classSuffix: 'gradient-background', - propertyName: 'background' - }] -}, { - path: ['color', 'duotone'], - valueKey: 'colors', - cssVarInfix: 'duotone', - valueFunc: ({ - slug - }) => `url( '#wp-duotone-${slug}' )`, - classes: [] -}, { - path: ['shadow', 'presets'], - valueKey: 'shadow', - cssVarInfix: 'shadow', - classes: [] -}, { - path: ['typography', 'fontSizes'], - valueFunc: (preset, settings) => getTypographyFontSizeValue(preset, getFluidTypographyOptionsFromSettings(settings)), - valueKey: 'size', - cssVarInfix: 'font-size', - classes: [{ - classSuffix: 'font-size', - propertyName: 'font-size' - }] -}, { - path: ['typography', 'fontFamilies'], - valueKey: 'fontFamily', - cssVarInfix: 'font-family', - classes: [{ - classSuffix: 'font-family', - propertyName: 'font-family' - }] -}, { - path: ['spacing', 'spacingSizes'], - valueKey: 'size', - cssVarInfix: 'spacing', - valueFunc: ({ - size - }) => size, - classes: [] -}]; -const STYLE_PATH_TO_CSS_VAR_INFIX = { - 'color.background': 'color', - 'color.text': 'color', - 'filter.duotone': 'duotone', - 'elements.link.color.text': 'color', - 'elements.link.:hover.color.text': 'color', - 'elements.link.typography.fontFamily': 'font-family', - 'elements.link.typography.fontSize': 'font-size', - 'elements.button.color.text': 'color', - 'elements.button.color.background': 'color', - 'elements.caption.color.text': 'color', - 'elements.button.typography.fontFamily': 'font-family', - 'elements.button.typography.fontSize': 'font-size', - 'elements.heading.color': 'color', - 'elements.heading.color.background': 'color', - 'elements.heading.typography.fontFamily': 'font-family', - 'elements.heading.gradient': 'gradient', - 'elements.heading.color.gradient': 'gradient', - 'elements.h1.color': 'color', - 'elements.h1.color.background': 'color', - 'elements.h1.typography.fontFamily': 'font-family', - 'elements.h1.color.gradient': 'gradient', - 'elements.h2.color': 'color', - 'elements.h2.color.background': 'color', - 'elements.h2.typography.fontFamily': 'font-family', - 'elements.h2.color.gradient': 'gradient', - 'elements.h3.color': 'color', - 'elements.h3.color.background': 'color', - 'elements.h3.typography.fontFamily': 'font-family', - 'elements.h3.color.gradient': 'gradient', - 'elements.h4.color': 'color', - 'elements.h4.color.background': 'color', - 'elements.h4.typography.fontFamily': 'font-family', - 'elements.h4.color.gradient': 'gradient', - 'elements.h5.color': 'color', - 'elements.h5.color.background': 'color', - 'elements.h5.typography.fontFamily': 'font-family', - 'elements.h5.color.gradient': 'gradient', - 'elements.h6.color': 'color', - 'elements.h6.color.background': 'color', - 'elements.h6.typography.fontFamily': 'font-family', - 'elements.h6.color.gradient': 'gradient', - 'color.gradient': 'gradient', - shadow: 'shadow', - 'typography.fontSize': 'font-size', - 'typography.fontFamily': 'font-family' -}; - -// A static list of block attributes that store global style preset slugs. -const STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE = { - 'color.background': 'backgroundColor', - 'color.text': 'textColor', - 'color.gradient': 'gradient', - 'typography.fontSize': 'fontSize', - 'typography.fontFamily': 'fontFamily' -}; -function findInPresetsBy(features, blockName, presetPath, presetProperty, presetValueValue) { - // Block presets take priority above root level presets. - const orderedPresetsByOrigin = [getValueFromObjectPath(features, ['blocks', blockName, ...presetPath]), getValueFromObjectPath(features, presetPath)]; - for (const presetByOrigin of orderedPresetsByOrigin) { - if (presetByOrigin) { - // Preset origins ordered by priority. - const origins = ['custom', 'theme', 'default']; - for (const origin of origins) { - const presets = presetByOrigin[origin]; - if (presets) { - const presetObject = presets.find(preset => preset[presetProperty] === presetValueValue); - if (presetObject) { - if (presetProperty === 'slug') { - return presetObject; - } - // If there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored. - const highestPresetObjectWithSameSlug = findInPresetsBy(features, blockName, presetPath, 'slug', presetObject.slug); - if (highestPresetObjectWithSameSlug[presetProperty] === presetObject[presetProperty]) { - return presetObject; - } - return undefined; - } - } - } - } - } -} -function getPresetVariableFromValue(features, blockName, variableStylePath, presetPropertyValue) { - if (!presetPropertyValue) { - return presetPropertyValue; - } - const cssVarInfix = STYLE_PATH_TO_CSS_VAR_INFIX[variableStylePath]; - const metadata = PRESET_METADATA.find(data => data.cssVarInfix === cssVarInfix); - if (!metadata) { - // The property doesn't have preset data - // so the value should be returned as it is. - return presetPropertyValue; - } - const { - valueKey, - path - } = metadata; - const presetObject = findInPresetsBy(features, blockName, path, valueKey, presetPropertyValue); - if (!presetObject) { - // Value wasn't found in the presets, - // so it must be a custom value. - return presetPropertyValue; - } - return `var:preset|${cssVarInfix}|${presetObject.slug}`; -} -function getValueFromPresetVariable(features, blockName, variable, [presetType, slug]) { - const metadata = PRESET_METADATA.find(data => data.cssVarInfix === presetType); - if (!metadata) { - return variable; - } - const presetObject = findInPresetsBy(features.settings, blockName, metadata.path, 'slug', slug); - if (presetObject) { - const { - valueKey - } = metadata; - const result = presetObject[valueKey]; - return getValueFromVariable(features, blockName, result); - } - return variable; -} -function getValueFromCustomVariable(features, blockName, variable, path) { - var _getValueFromObjectPa; - const result = (_getValueFromObjectPa = getValueFromObjectPath(features.settings, ['blocks', blockName, 'custom', ...path])) !== null && _getValueFromObjectPa !== void 0 ? _getValueFromObjectPa : getValueFromObjectPath(features.settings, ['custom', ...path]); - if (!result) { - return variable; - } - // A variable may reference another variable so we need recursion until we find the value. - return getValueFromVariable(features, blockName, result); -} - -/** - * Attempts to fetch the value of a theme.json CSS variable. - * - * @param {Object} features GlobalStylesContext config, e.g., user, base or merged. Represents the theme.json tree. - * @param {string} blockName The name of a block as represented in the styles property. E.g., 'root' for root-level, and 'core/${blockName}' for blocks. - * @param {string|*} variable An incoming style value. A CSS var value is expected, but it could be any value. - * @return {string|*|{ref}} The value of the CSS var, if found. If not found, the passed variable argument. - */ -function getValueFromVariable(features, blockName, variable) { - if (!variable || typeof variable !== 'string') { - if (variable?.ref && typeof variable?.ref === 'string') { - const refPath = variable.ref.split('.'); - variable = getValueFromObjectPath(features, refPath); - // Presence of another ref indicates a reference to another dynamic value. - // Pointing to another dynamic value is not supported. - if (!variable || !!variable?.ref) { - return variable; - } - } else { - return variable; - } - } - const USER_VALUE_PREFIX = 'var:'; - const THEME_VALUE_PREFIX = 'var(--wp--'; - const THEME_VALUE_SUFFIX = ')'; - let parsedVar; - if (variable.startsWith(USER_VALUE_PREFIX)) { - parsedVar = variable.slice(USER_VALUE_PREFIX.length).split('|'); - } else if (variable.startsWith(THEME_VALUE_PREFIX) && variable.endsWith(THEME_VALUE_SUFFIX)) { - parsedVar = variable.slice(THEME_VALUE_PREFIX.length, -THEME_VALUE_SUFFIX.length).split('--'); - } else { - // We don't know how to parse the value: either is raw of uses complex CSS such as `calc(1px * var(--wp--variable) )` - return variable; - } - const [type, ...path] = parsedVar; - if (type === 'preset') { - return getValueFromPresetVariable(features, blockName, variable, path); - } - if (type === 'custom') { - return getValueFromCustomVariable(features, blockName, variable, path); - } - return variable; -} - -/** - * Function that scopes a selector with another one. This works a bit like - * SCSS nesting except the `&` operator isn't supported. - * - * @example - * ```js - * const scope = '.a, .b .c'; - * const selector = '> .x, .y'; - * const merged = scopeSelector( scope, selector ); - * // merged is '.a > .x, .a .y, .b .c > .x, .b .c .y' - * ``` - * - * @param {string} scope Selector to scope to. - * @param {string} selector Original selector. - * - * @return {string} Scoped selector. - */ -function scopeSelector(scope, selector) { - const scopes = scope.split(','); - const selectors = selector.split(','); - const selectorsScoped = []; - scopes.forEach(outer => { - selectors.forEach(inner => { - selectorsScoped.push(`${outer.trim()} ${inner.trim()}`); - }); - }); - return selectorsScoped.join(', '); -} - -/** - * Appends a sub-selector to an existing one. - * - * Given the compounded `selector` "h1, h2, h3" - * and the `toAppend` selector ".some-class" the result will be - * "h1.some-class, h2.some-class, h3.some-class". - * - * @param {string} selector Original selector. - * @param {string} toAppend Selector to append. - * - * @return {string} The new selector. - */ -function appendToSelector(selector, toAppend) { - if (!selector.includes(',')) { - return selector + toAppend; - } - const selectors = selector.split(','); - const newSelectors = selectors.map(sel => sel + toAppend); - return newSelectors.join(','); -} - -/** - * Compares global style variations according to their styles and settings properties. - * - * @example - * ```js - * const globalStyles = { styles: { typography: { fontSize: '10px' } }, settings: {} }; - * const variation = { styles: { typography: { fontSize: '10000px' } }, settings: {} }; - * const isEqual = areGlobalStyleConfigsEqual( globalStyles, variation ); - * // false - * ``` - * - * @param {Object} original A global styles object. - * @param {Object} variation A global styles object. - * - * @return {boolean} Whether `original` and `variation` match. - */ -function areGlobalStyleConfigsEqual(original, variation) { - if (typeof original !== 'object' || typeof variation !== 'object') { - return original === variation; - } - return es6_default()(original?.styles, variation?.styles) && es6_default()(original?.settings, variation?.settings); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/context.js -/** - * WordPress dependencies - */ - -const DEFAULT_GLOBAL_STYLES_CONTEXT = { - user: {}, - base: {}, - merged: {}, - setUserConfig: () => {} -}; -const GlobalStylesContext = (0,external_wp_element_namespaceObject.createContext)(DEFAULT_GLOBAL_STYLES_CONTEXT); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/hooks.js -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - -const EMPTY_CONFIG = { - settings: {}, - styles: {} -}; -const VALID_SETTINGS = ['appearanceTools', 'useRootPaddingAwareAlignments', 'border.color', 'border.radius', 'border.style', 'border.width', 'shadow.presets', 'shadow.defaultPresets', 'color.background', 'color.button', 'color.caption', 'color.custom', 'color.customDuotone', 'color.customGradient', 'color.defaultDuotone', 'color.defaultGradients', 'color.defaultPalette', 'color.duotone', 'color.gradients', 'color.heading', 'color.link', 'color.palette', 'color.text', 'custom', 'dimensions.minHeight', 'layout.contentSize', 'layout.definitions', 'layout.wideSize', 'lightbox.enabled', 'lightbox.allowEditing', 'position.fixed', 'position.sticky', 'spacing.customSpacingSize', 'spacing.spacingSizes', 'spacing.spacingScale', 'spacing.blockGap', 'spacing.margin', 'spacing.padding', 'spacing.units', 'typography.fluid', 'typography.customFontSize', 'typography.dropCap', 'typography.fontFamilies', 'typography.fontSizes', 'typography.fontStyle', 'typography.fontWeight', 'typography.letterSpacing', 'typography.lineHeight', 'typography.textColumns', 'typography.textDecoration', 'typography.textTransform', 'typography.writingMode']; -const useGlobalStylesReset = () => { - const { - user: config, - setUserConfig - } = (0,external_wp_element_namespaceObject.useContext)(GlobalStylesContext); - const canReset = !!config && !es6_default()(config, EMPTY_CONFIG); - return [canReset, (0,external_wp_element_namespaceObject.useCallback)(() => setUserConfig(() => EMPTY_CONFIG), [setUserConfig])]; -}; -function useGlobalSetting(propertyPath, blockName, source = 'all') { - const { - setUserConfig, - ...configs - } = (0,external_wp_element_namespaceObject.useContext)(GlobalStylesContext); - const appendedBlockPath = blockName ? '.blocks.' + blockName : ''; - const appendedPropertyPath = propertyPath ? '.' + propertyPath : ''; - const contextualPath = `settings${appendedBlockPath}${appendedPropertyPath}`; - const globalPath = `settings${appendedPropertyPath}`; - const sourceKey = source === 'all' ? 'merged' : source; - const settingValue = (0,external_wp_element_namespaceObject.useMemo)(() => { - const configToUse = configs[sourceKey]; - if (!configToUse) { - throw 'Unsupported source'; - } - if (propertyPath) { - var _getValueFromObjectPa; - return (_getValueFromObjectPa = getValueFromObjectPath(configToUse, contextualPath)) !== null && _getValueFromObjectPa !== void 0 ? _getValueFromObjectPa : getValueFromObjectPath(configToUse, globalPath); - } - let result = {}; - VALID_SETTINGS.forEach(setting => { - var _getValueFromObjectPa2; - const value = (_getValueFromObjectPa2 = getValueFromObjectPath(configToUse, `settings${appendedBlockPath}.${setting}`)) !== null && _getValueFromObjectPa2 !== void 0 ? _getValueFromObjectPa2 : getValueFromObjectPath(configToUse, `settings.${setting}`); - if (value !== undefined) { - result = setImmutably(result, setting.split('.'), value); - } - }); - return result; - }, [configs, sourceKey, propertyPath, contextualPath, globalPath, appendedBlockPath]); - const setSetting = newValue => { - setUserConfig(currentConfig => setImmutably(currentConfig, contextualPath.split('.'), newValue)); - }; - return [settingValue, setSetting]; -} -function useGlobalStyle(path, blockName, source = 'all', { - shouldDecodeEncode = true -} = {}) { - const { - merged: mergedConfig, - base: baseConfig, - user: userConfig, - setUserConfig - } = (0,external_wp_element_namespaceObject.useContext)(GlobalStylesContext); - const appendedPath = path ? '.' + path : ''; - const finalPath = !blockName ? `styles${appendedPath}` : `styles.blocks.${blockName}${appendedPath}`; - const setStyle = newValue => { - setUserConfig(currentConfig => setImmutably(currentConfig, finalPath.split('.'), shouldDecodeEncode ? getPresetVariableFromValue(mergedConfig.settings, blockName, path, newValue) : newValue)); - }; - let rawResult, result; - switch (source) { - case 'all': - rawResult = getValueFromObjectPath(mergedConfig, finalPath); - result = shouldDecodeEncode ? getValueFromVariable(mergedConfig, blockName, rawResult) : rawResult; - break; - case 'user': - rawResult = getValueFromObjectPath(userConfig, finalPath); - result = shouldDecodeEncode ? getValueFromVariable(mergedConfig, blockName, rawResult) : rawResult; - break; - case 'base': - rawResult = getValueFromObjectPath(baseConfig, finalPath); - result = shouldDecodeEncode ? getValueFromVariable(baseConfig, blockName, rawResult) : rawResult; - break; - default: - throw 'Unsupported source'; - } - return [result, setStyle]; -} - -/** - * React hook that overrides a global settings object with block and element specific settings. - * - * @param {Object} parentSettings Settings object. - * @param {blockName?} blockName Block name. - * @param {element?} element Element name. - * - * @return {Object} Merge of settings and supports. - */ -function useSettingsForBlockElement(parentSettings, blockName, element) { - const { - supportedStyles, - supports - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - return { - supportedStyles: unlock(select(external_wp_blocks_namespaceObject.store)).getSupportedStyles(blockName, element), - supports: select(external_wp_blocks_namespaceObject.store).getBlockType(blockName)?.supports - }; - }, [blockName, element]); - return (0,external_wp_element_namespaceObject.useMemo)(() => { - const updatedSettings = { - ...parentSettings - }; - if (!supportedStyles.includes('fontSize')) { - updatedSettings.typography = { - ...updatedSettings.typography, - fontSizes: {}, - customFontSize: false - }; - } - if (!supportedStyles.includes('fontFamily')) { - updatedSettings.typography = { - ...updatedSettings.typography, - fontFamilies: {} - }; - } - updatedSettings.color = { - ...updatedSettings.color, - text: updatedSettings.color?.text && supportedStyles.includes('color'), - background: updatedSettings.color?.background && (supportedStyles.includes('background') || supportedStyles.includes('backgroundColor')), - button: updatedSettings.color?.button && supportedStyles.includes('buttonColor'), - heading: updatedSettings.color?.heading && supportedStyles.includes('headingColor'), - link: updatedSettings.color?.link && supportedStyles.includes('linkColor'), - caption: updatedSettings.color?.caption && supportedStyles.includes('captionColor') - }; - - // Some blocks can enable background colors but disable gradients. - if (!supportedStyles.includes('background')) { - updatedSettings.color.gradients = []; - updatedSettings.color.customGradient = false; - } - - // If filters are not supported by the block/element, disable duotone. - if (!supportedStyles.includes('filter')) { - updatedSettings.color.defaultDuotone = false; - updatedSettings.color.customDuotone = false; - } - ['lineHeight', 'fontStyle', 'fontWeight', 'letterSpacing', 'textTransform', 'textDecoration', 'writingMode'].forEach(key => { - if (!supportedStyles.includes(key)) { - updatedSettings.typography = { - ...updatedSettings.typography, - [key]: false - }; - } - }); - - // The column-count style is named text column to reduce confusion with - // the columns block and manage expectations from the support. - // See: https://github.com/WordPress/gutenberg/pull/33587 - if (!supportedStyles.includes('columnCount')) { - updatedSettings.typography = { - ...updatedSettings.typography, - textColumns: false - }; - } - ['contentSize', 'wideSize'].forEach(key => { - if (!supportedStyles.includes(key)) { - updatedSettings.layout = { - ...updatedSettings.layout, - [key]: false - }; - } - }); - ['padding', 'margin', 'blockGap'].forEach(key => { - if (!supportedStyles.includes(key)) { - updatedSettings.spacing = { - ...updatedSettings.spacing, - [key]: false - }; - } - const sides = Array.isArray(supports?.spacing?.[key]) ? supports?.spacing?.[key] : supports?.spacing?.[key]?.sides; - // Check if spacing type is supported before adding sides. - if (sides?.length && updatedSettings.spacing?.[key]) { - updatedSettings.spacing = { - ...updatedSettings.spacing, - [key]: { - ...updatedSettings.spacing?.[key], - sides - } - }; - } - }); - if (!supportedStyles.includes('minHeight')) { - updatedSettings.dimensions = { - ...updatedSettings.dimensions, - minHeight: false - }; - } - ['radius', 'color', 'style', 'width'].forEach(key => { - if (!supportedStyles.includes('border' + key.charAt(0).toUpperCase() + key.slice(1))) { - updatedSettings.border = { - ...updatedSettings.border, - [key]: false - }; - } - }); - updatedSettings.shadow = supportedStyles.includes('shadow') ? updatedSettings.shadow : false; - return updatedSettings; - }, [parentSettings, supportedStyles, supports]); -} -function useColorsPerOrigin(settings) { - const customColors = settings?.color?.palette?.custom; - const themeColors = settings?.color?.palette?.theme; - const defaultColors = settings?.color?.palette?.default; - const shouldDisplayDefaultColors = settings?.color?.defaultPalette; - return (0,external_wp_element_namespaceObject.useMemo)(() => { - const result = []; - if (themeColors && themeColors.length) { - result.push({ - name: (0,external_wp_i18n_namespaceObject._x)('Theme', 'Indicates this palette comes from the theme.'), - colors: themeColors - }); - } - if (shouldDisplayDefaultColors && defaultColors && defaultColors.length) { - result.push({ - name: (0,external_wp_i18n_namespaceObject._x)('Default', 'Indicates this palette comes from WordPress.'), - colors: defaultColors - }); - } - if (customColors && customColors.length) { - result.push({ - name: (0,external_wp_i18n_namespaceObject._x)('Custom', 'Indicates this palette is created by the user.'), - colors: customColors - }); - } - return result; - }, [customColors, themeColors, defaultColors, shouldDisplayDefaultColors]); -} -function useGradientsPerOrigin(settings) { - const customGradients = settings?.color?.gradients?.custom; - const themeGradients = settings?.color?.gradients?.theme; - const defaultGradients = settings?.color?.gradients?.default; - const shouldDisplayDefaultGradients = settings?.color?.defaultGradients; - return (0,external_wp_element_namespaceObject.useMemo)(() => { - const result = []; - if (themeGradients && themeGradients.length) { - result.push({ - name: (0,external_wp_i18n_namespaceObject._x)('Theme', 'Indicates this palette comes from the theme.'), - gradients: themeGradients - }); - } - if (shouldDisplayDefaultGradients && defaultGradients && defaultGradients.length) { - result.push({ - name: (0,external_wp_i18n_namespaceObject._x)('Default', 'Indicates this palette comes from WordPress.'), - gradients: defaultGradients - }); - } - if (customGradients && customGradients.length) { - result.push({ - name: (0,external_wp_i18n_namespaceObject._x)('Custom', 'Indicates this palette is created by the user.'), - gradients: customGradients - }); - } - return result; - }, [customGradients, themeGradients, defaultGradients, shouldDisplayDefaultGradients]); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/utils.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - -/** - * Removed falsy values from nested object. - * - * @param {*} object - * @return {*} Object cleaned from falsy values - */ -const utils_cleanEmptyObject = object => { - if (object === null || typeof object !== 'object' || Array.isArray(object)) { - return object; - } - const cleanedNestedObjects = Object.entries(object).map(([key, value]) => [key, utils_cleanEmptyObject(value)]).filter(([, value]) => value !== undefined); - return !cleanedNestedObjects.length ? undefined : Object.fromEntries(cleanedNestedObjects); -}; -function transformStyles(activeSupports, migrationPaths, result, source, index, results) { - // If there are no active supports return early. - if (Object.values(activeSupports !== null && activeSupports !== void 0 ? activeSupports : {}).every(isActive => !isActive)) { - return result; - } - // If the condition verifies we are probably in the presence of a wrapping transform - // e.g: nesting paragraphs in a group or columns and in that case the styles should not be transformed. - if (results.length === 1 && result.innerBlocks.length === source.length) { - return result; - } - // For cases where we have a transform from one block to multiple blocks - // or multiple blocks to one block we apply the styles of the first source block - // to the result(s). - let referenceBlockAttributes = source[0]?.attributes; - // If we are in presence of transform between more than one block in the source - // that has more than one block in the result - // we apply the styles on source N to the result N, - // if source N does not exists we do nothing. - if (results.length > 1 && source.length > 1) { - if (source[index]) { - referenceBlockAttributes = source[index]?.attributes; - } else { - return result; - } - } - let returnBlock = result; - Object.entries(activeSupports).forEach(([support, isActive]) => { - if (isActive) { - migrationPaths[support].forEach(path => { - const styleValue = getValueFromObjectPath(referenceBlockAttributes, path); - if (styleValue) { - returnBlock = { - ...returnBlock, - attributes: setImmutably(returnBlock.attributes, path, styleValue) - }; - } - }); - } - }); - return returnBlock; -} - -/** - * Check whether serialization of specific block support feature or set should - * be skipped. - * - * @param {string|Object} blockType Block name or block type object. - * @param {string} featureSet Name of block support feature set. - * @param {string} feature Name of the individual feature to check. - * - * @return {boolean} Whether serialization should occur. - */ -function shouldSkipSerialization(blockType, featureSet, feature) { - const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, featureSet); - const skipSerialization = support?.__experimentalSkipSerialization; - if (Array.isArray(skipSerialization)) { - return skipSerialization.includes(feature); - } - return skipSerialization; -} - -/** - * Based on the block and its context, returns an object of all the block settings. - * This object can be passed as a prop to all the Styles UI components - * (TypographyPanel, DimensionsPanel...). - * - * @param {string} name Block name. - * @param {*} parentLayout Parent layout. - * - * @return {Object} Settings object. - */ -function useBlockSettings(name, parentLayout) { - const fontFamilies = use_setting_useSetting('typography.fontFamilies'); - const fontSizes = use_setting_useSetting('typography.fontSizes'); - const customFontSize = use_setting_useSetting('typography.customFontSize'); - const fontStyle = use_setting_useSetting('typography.fontStyle'); - const fontWeight = use_setting_useSetting('typography.fontWeight'); - const lineHeight = use_setting_useSetting('typography.lineHeight'); - const textColumns = use_setting_useSetting('typography.textColumns'); - const textDecoration = use_setting_useSetting('typography.textDecoration'); - const writingMode = use_setting_useSetting('typography.writingMode'); - const textTransform = use_setting_useSetting('typography.textTransform'); - const letterSpacing = use_setting_useSetting('typography.letterSpacing'); - const padding = use_setting_useSetting('spacing.padding'); - const margin = use_setting_useSetting('spacing.margin'); - const blockGap = use_setting_useSetting('spacing.blockGap'); - const spacingSizes = use_setting_useSetting('spacing.spacingSizes'); - const units = use_setting_useSetting('spacing.units'); - const minHeight = use_setting_useSetting('dimensions.minHeight'); - const layout = use_setting_useSetting('layout'); - const borderColor = use_setting_useSetting('border.color'); - const borderRadius = use_setting_useSetting('border.radius'); - const borderStyle = use_setting_useSetting('border.style'); - const borderWidth = use_setting_useSetting('border.width'); - const customColorsEnabled = use_setting_useSetting('color.custom'); - const customColors = use_setting_useSetting('color.palette.custom'); - const customDuotone = use_setting_useSetting('color.customDuotone'); - const themeColors = use_setting_useSetting('color.palette.theme'); - const defaultColors = use_setting_useSetting('color.palette.default'); - const defaultPalette = use_setting_useSetting('color.defaultPalette'); - const defaultDuotone = use_setting_useSetting('color.defaultDuotone'); - const userDuotonePalette = use_setting_useSetting('color.duotone.custom'); - const themeDuotonePalette = use_setting_useSetting('color.duotone.theme'); - const defaultDuotonePalette = use_setting_useSetting('color.duotone.default'); - const userGradientPalette = use_setting_useSetting('color.gradients.custom'); - const themeGradientPalette = use_setting_useSetting('color.gradients.theme'); - const defaultGradientPalette = use_setting_useSetting('color.gradients.default'); - const defaultGradients = use_setting_useSetting('color.defaultGradients'); - const areCustomGradientsEnabled = use_setting_useSetting('color.customGradient'); - const isBackgroundEnabled = use_setting_useSetting('color.background'); - const isLinkEnabled = use_setting_useSetting('color.link'); - const isTextEnabled = use_setting_useSetting('color.text'); - const isHeadingEnabled = use_setting_useSetting('color.heading'); - const isButtonEnabled = use_setting_useSetting('color.button'); - const rawSettings = (0,external_wp_element_namespaceObject.useMemo)(() => { - return { - color: { - palette: { - custom: customColors, - theme: themeColors, - default: defaultColors - }, - gradients: { - custom: userGradientPalette, - theme: themeGradientPalette, - default: defaultGradientPalette - }, - duotone: { - custom: userDuotonePalette, - theme: themeDuotonePalette, - default: defaultDuotonePalette - }, - defaultGradients, - defaultPalette, - defaultDuotone, - custom: customColorsEnabled, - customGradient: areCustomGradientsEnabled, - customDuotone, - background: isBackgroundEnabled, - link: isLinkEnabled, - heading: isHeadingEnabled, - button: isButtonEnabled, - text: isTextEnabled - }, - typography: { - fontFamilies: { - custom: fontFamilies - }, - fontSizes: { - custom: fontSizes - }, - customFontSize, - fontStyle, - fontWeight, - lineHeight, - textColumns, - textDecoration, - textTransform, - letterSpacing, - writingMode - }, - spacing: { - spacingSizes: { - custom: spacingSizes - }, - padding, - margin, - blockGap, - units - }, - border: { - color: borderColor, - radius: borderRadius, - style: borderStyle, - width: borderWidth - }, - dimensions: { - minHeight - }, - layout, - parentLayout - }; - }, [fontFamilies, fontSizes, customFontSize, fontStyle, fontWeight, lineHeight, textColumns, textDecoration, textTransform, letterSpacing, writingMode, padding, margin, blockGap, spacingSizes, units, minHeight, layout, parentLayout, borderColor, borderRadius, borderStyle, borderWidth, customColorsEnabled, customColors, customDuotone, themeColors, defaultColors, defaultPalette, defaultDuotone, userDuotonePalette, themeDuotonePalette, defaultDuotonePalette, userGradientPalette, themeGradientPalette, defaultGradientPalette, defaultGradients, areCustomGradientsEnabled, isBackgroundEnabled, isLinkEnabled, isTextEnabled, isHeadingEnabled, isButtonEnabled]); - return useSettingsForBlockElement(rawSettings, name); -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/layouts/flex.js /** @@ -14249,13 +19347,13 @@ const flexWrapOptions = ['wrap', 'nowrap']; const { allowOrientation = true } = layoutBlockSupport; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Flex, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_wp_element_namespaceObject.createElement)(FlexLayoutJustifyContentControl, { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.Flex, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_React_.createElement)(FlexLayoutJustifyContentControl, { layout: layout, onChange: onChange - })), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, allowOrientation && (0,external_wp_element_namespaceObject.createElement)(OrientationControl, { + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, allowOrientation && (0,external_React_.createElement)(OrientationControl, { layout: layout, onChange: onChange - }))), (0,external_wp_element_namespaceObject.createElement)(FlexWrapControl, { + }))), (0,external_React_.createElement)(FlexWrapControl, { layout: layout, onChange: onChange })); @@ -14271,14 +19369,14 @@ const flexWrapOptions = ['wrap', 'nowrap']; const { allowVerticalAlignment = true } = layoutBlockSupport; - return (0,external_wp_element_namespaceObject.createElement)(block_controls, { + return (0,external_React_.createElement)(block_controls, { group: "block", __experimentalShareWithChildBlocks: true - }, (0,external_wp_element_namespaceObject.createElement)(FlexLayoutJustifyContentControl, { + }, (0,external_React_.createElement)(FlexLayoutJustifyContentControl, { layout: layout, onChange: onChange, isToolbar: true - }), allowVerticalAlignment && (0,external_wp_element_namespaceObject.createElement)(FlexLayoutVerticalAlignmentControl, { + }), allowVerticalAlignment && (0,external_React_.createElement)(FlexLayoutVerticalAlignmentControl, { layout: layout, onChange: onChange, isToolbar: true @@ -14363,7 +19461,7 @@ function FlexLayoutVerticalAlignmentControl({ }); }; if (isToolbar) { - return (0,external_wp_element_namespaceObject.createElement)(BlockVerticalAlignmentControl, { + return (0,external_React_.createElement)(BlockVerticalAlignmentControl, { onChange: onVerticalAlignmentChange, value: verticalAlignment, controls: orientation === 'horizontal' ? ['top', 'center', 'bottom', 'stretch'] : ['top', 'center', 'bottom', 'space-between'] @@ -14379,10 +19477,10 @@ function FlexLayoutVerticalAlignmentControl({ value: 'flex-end', label: (0,external_wp_i18n_namespaceObject.__)('Align items bottom') }]; - return (0,external_wp_element_namespaceObject.createElement)("fieldset", { + return (0,external_React_.createElement)("fieldset", { className: "block-editor-hooks__flex-layout-vertical-alignment-control" - }, (0,external_wp_element_namespaceObject.createElement)("legend", null, (0,external_wp_i18n_namespaceObject.__)('Vertical alignment')), (0,external_wp_element_namespaceObject.createElement)("div", null, verticalAlignmentOptions.map((value, icon, label) => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)("legend", null, (0,external_wp_i18n_namespaceObject.__)('Vertical alignment')), (0,external_React_.createElement)("div", null, verticalAlignmentOptions.map((value, icon, label) => { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { key: value, label: label, icon: icon, @@ -14416,7 +19514,7 @@ function FlexLayoutJustifyContentControl({ allowedControls.push('stretch'); } if (isToolbar) { - return (0,external_wp_element_namespaceObject.createElement)(JustifyContentControl, { + return (0,external_React_.createElement)(JustifyContentControl, { allowedControls: allowedControls, value: justifyContent, onChange: onJustificationChange, @@ -14449,7 +19547,7 @@ function FlexLayoutJustifyContentControl({ label: (0,external_wp_i18n_namespaceObject.__)('Stretch items') }); } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, { __nextHasNoMarginBottom: true, label: (0,external_wp_i18n_namespaceObject.__)('Justification'), value: justifyContent, @@ -14460,7 +19558,7 @@ function FlexLayoutJustifyContentControl({ icon, label }) => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOptionIcon, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOptionIcon, { key: value, value: value, icon: icon, @@ -14475,7 +19573,7 @@ function FlexWrapControl({ const { flexWrap = 'wrap' } = layout; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToggleControl, { __nextHasNoMarginBottom: true, label: (0,external_wp_i18n_namespaceObject.__)('Allow to wrap to multiple lines'), onChange: value => { @@ -14496,7 +19594,7 @@ function OrientationControl({ verticalAlignment, justifyContent } = layout; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, { __nextHasNoMarginBottom: true, className: "block-editor-hooks__flex-layout-orientation-controls", label: (0,external_wp_i18n_namespaceObject.__)('Orientation'), @@ -14527,11 +19625,11 @@ function OrientationControl({ justifyContent: newJustification }); } - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOptionIcon, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOptionIcon, { icon: arrow_right, value: 'horizontal', label: (0,external_wp_i18n_namespaceObject.__)('Horizontal') - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOptionIcon, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOptionIcon, { icon: arrow_down, value: 'vertical', label: (0,external_wp_i18n_namespaceObject.__)('Vertical') @@ -14674,10 +19772,10 @@ function Icon({ * WordPress dependencies */ -const positionCenter = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const positionCenter = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM7 9h10v6H7V9Z" })); /* harmony default export */ var position_center = (positionCenter); @@ -14688,10 +19786,10 @@ const positionCenter = (0,external_wp_element_namespaceObject.createElement)(ext * WordPress dependencies */ -const stretchWide = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const stretchWide = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M16 5.5H8V4h8v1.5ZM16 20H8v-1.5h8V20ZM5 9h14v6H5V9Z" })); /* harmony default export */ var stretch_wide = (stretchWide); @@ -14730,7 +19828,8 @@ var external_wp_styleEngine_namespaceObject = window["wp"]["styleEngine"]; justifyContent = 'center' } = layout; const { - allowJustification = true + allowJustification = true, + allowCustomContentAndWideSize = true } = layoutBlockSupport; const onJustificationChange = value => { onChange({ @@ -14751,14 +19850,15 @@ var external_wp_styleEngine_namespaceObject = window["wp"]["styleEngine"]; icon: justify_right, label: (0,external_wp_i18n_namespaceObject.__)('Justify items right') }]; + const [availableUnits] = use_settings_useSettings('spacing.units'); const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ - availableUnits: use_setting_useSetting('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'] + availableUnits: availableUnits || ['%', 'px', 'em', 'rem', 'vw'] }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)(external_React_.Fragment, null, allowCustomContentAndWideSize && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)("div", { className: "block-editor-hooks__layout-controls" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-hooks__layout-controls-unit" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { className: "block-editor-hooks__layout-controls-unit-input", label: (0,external_wp_i18n_namespaceObject.__)('Content'), labelPosition: "top", @@ -14772,11 +19872,11 @@ var external_wp_styleEngine_namespaceObject = window["wp"]["styleEngine"]; }); }, units: units - }), (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { + }), (0,external_React_.createElement)(build_module_icon, { icon: position_center - })), (0,external_wp_element_namespaceObject.createElement)("div", { + })), (0,external_React_.createElement)("div", { className: "block-editor-hooks__layout-controls-unit" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { className: "block-editor-hooks__layout-controls-unit-input", label: (0,external_wp_i18n_namespaceObject.__)('Wide'), labelPosition: "top", @@ -14790,11 +19890,11 @@ var external_wp_styleEngine_namespaceObject = window["wp"]["styleEngine"]; }); }, units: units - }), (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { + }), (0,external_React_.createElement)(build_module_icon, { icon: stretch_wide - }))), (0,external_wp_element_namespaceObject.createElement)("p", { + }))), (0,external_React_.createElement)("p", { className: "block-editor-hooks__layout-controls-helptext" - }, (0,external_wp_i18n_namespaceObject.__)('Customize the width for all elements that are assigned to the center or wide columns.')), allowJustification && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, { + }, (0,external_wp_i18n_namespaceObject.__)('Customize the width for all elements that are assigned to the center or wide columns.'))), allowJustification && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, { __nextHasNoMarginBottom: true, label: (0,external_wp_i18n_namespaceObject.__)('Justification'), value: justifyContent, @@ -14804,7 +19904,7 @@ var external_wp_styleEngine_namespaceObject = window["wp"]["styleEngine"]; icon, label }) => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOptionIcon, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOptionIcon, { key: value, value: value, icon: icon, @@ -14956,7 +20056,29 @@ const RANGE_CONTROL_MAX_VALUES = { vw: 100, vh: 100, em: 38, - rem: 38 + rem: 38, + svw: 100, + lvw: 100, + dvw: 100, + svh: 100, + lvh: 100, + dvh: 100, + vi: 100, + svi: 100, + lvi: 100, + dvi: 100, + vb: 100, + svb: 100, + lvb: 100, + dvb: 100, + vmin: 100, + svmin: 100, + lvmin: 100, + dvmin: 100, + vmax: 100, + svmax: 100, + lvmax: 100, + dvmax: 100 }; /* harmony default export */ var grid = ({ name: 'grid', @@ -14965,10 +20087,10 @@ const RANGE_CONTROL_MAX_VALUES = { layout = {}, onChange }) { - return layout?.columnCount ? (0,external_wp_element_namespaceObject.createElement)(GridLayoutColumnsControl, { + return layout?.columnCount ? (0,external_React_.createElement)(GridLayoutColumnsControl, { layout: layout, onChange: onChange - }) : (0,external_wp_element_namespaceObject.createElement)(GridLayoutMinimumWidthControl, { + }) : (0,external_React_.createElement)(GridLayoutMinimumWidthControl, { layout: layout, onChange: onChange }); @@ -15046,8 +20168,8 @@ function GridLayoutMinimumWidthControl({ } else if (['em', 'rem'].includes(unit) && newUnit === 'px') { // Convert to pixel value assuming a root size of 16px. newValue = Math.round(quantity * 16) + newUnit; - } else if (['vh', 'vw', '%'].includes(newUnit) && quantity > 100) { - // When converting to `vh`, `vw`, or `%` units, cap the new value at 100. + } else if (['vh', 'vw', '%', 'svw', 'lvw', 'dvw', 'svh', 'lvh', 'dvh', 'vi', 'svi', 'lvi', 'dvi', 'vb', 'svb', 'lvb', 'dvb', 'vmin', 'svmin', 'lvmin', 'dvmin', 'vmax', 'svmax', 'lvmax', 'dvmax'].includes(newUnit) && quantity > 100) { + // When converting to `%` or viewport-relative units, cap the new value at 100. newValue = 100 + newUnit; } onChange({ @@ -15055,13 +20177,13 @@ function GridLayoutMinimumWidthControl({ minimumColumnWidth: newValue }); }; - return (0,external_wp_element_namespaceObject.createElement)("fieldset", null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { + return (0,external_React_.createElement)("fieldset", null, (0,external_React_.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { as: "legend" - }, (0,external_wp_i18n_namespaceObject.__)('Minimum column width')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Flex, { + }, (0,external_wp_i18n_namespaceObject.__)('Minimum column width')), (0,external_React_.createElement)(external_wp_components_namespaceObject.Flex, { gap: 4 - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, { isBlock: true - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { size: '__unstable-large', onChange: newValue => { onChange({ @@ -15072,9 +20194,9 @@ function GridLayoutMinimumWidthControl({ onUnitChange: handleUnitChange, value: value, min: 0 - })), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, { + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, { isBlock: true - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.RangeControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.RangeControl, { onChange: handleSliderChange, value: quantity, min: 0, @@ -15091,7 +20213,7 @@ function GridLayoutColumnsControl({ const { columnCount = 3 } = layout; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.RangeControl, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.RangeControl, { label: (0,external_wp_i18n_namespaceObject.__)('Columns'), value: columnCount, onChange: value => onChange({ @@ -15166,11 +20288,11 @@ function LayoutStyle({ ...props }) { const layoutType = getLayoutType(layout.type); - const blockGapSupport = use_setting_useSetting('spacing.blockGap'); + const [blockGapSupport] = use_settings_useSettings('spacing.blockGap'); const hasBlockGapSupport = blockGapSupport !== null; if (layoutType) { if (css) { - return (0,external_wp_element_namespaceObject.createElement)("style", null, css); + return (0,external_React_.createElement)("style", null, css); } const layoutStyle = layoutType.getLayoutStyle?.({ hasBlockGapSupport, @@ -15178,7 +20300,7 @@ function LayoutStyle({ ...props }); if (layoutStyle) { - return (0,external_wp_element_namespaceObject.createElement)("style", null, layoutStyle); + return (0,external_React_.createElement)("style", null, layoutStyle); } } return null; @@ -15204,28 +20326,27 @@ function useAvailableAlignments(controls = use_available_alignments_DEFAULT_CONT if (!controls.includes('none')) { controls = ['none', ...controls]; } - const { - wideControlsEnabled = false, - themeSupportsLayout, - isBlockBasedTheme - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSettings - } = select(store); - const settings = getSettings(); - return { - wideControlsEnabled: settings.alignWide, - themeSupportsLayout: settings.supportsLayout, - isBlockBasedTheme: settings.__unstableIsBlockBasedTheme - }; - }, []); + const isNoneOnly = controls.length === 1 && controls[0] === 'none'; + const [wideControlsEnabled, themeSupportsLayout, isBlockBasedTheme] = (0,external_wp_data_namespaceObject.useSelect)(select => { + var _settings$alignWide; + // If `isNoneOnly` is true, we'll be returning early because there is + // nothing to filter on an empty array. We won't need the info from + // the `useSelect` but we must call it anyway because Rules of Hooks. + // So the callback returns early to avoid block editor subscription. + if (isNoneOnly) { + return [false, false, false]; + } + const settings = select(store).getSettings(); + return [(_settings$alignWide = settings.alignWide) !== null && _settings$alignWide !== void 0 ? _settings$alignWide : false, settings.supportsLayout, settings.__unstableIsBlockBasedTheme]; + }, [isNoneOnly]); const layout = useLayout(); + if (isNoneOnly) { + return use_available_alignments_EMPTY_ARRAY; + } const layoutType = getLayoutType(layout?.type); - const layoutAlignments = layoutType.getAlignments(layout, isBlockBasedTheme); if (themeSupportsLayout) { - const alignments = layoutAlignments.filter(({ - name: alignmentName - }) => controls.includes(alignmentName)); + const layoutAlignments = layoutType.getAlignments(layout, isBlockBasedTheme); + const alignments = layoutAlignments.filter(alignment => controls.includes(alignment.name)); // While we treat `none` as an alignment, we shouldn't return it if no // other alignments exist. if (alignments.length === 1 && alignments[0].name === 'none') { @@ -15238,21 +20359,24 @@ function useAvailableAlignments(controls = use_available_alignments_DEFAULT_CONT if (layoutType.name !== 'default' && layoutType.name !== 'constrained') { return use_available_alignments_EMPTY_ARRAY; } - const { - alignments: availableAlignments = use_available_alignments_DEFAULT_CONTROLS - } = layout; - const enabledControls = controls.filter(control => (layout.alignments || - // Ignore the global wideAlignment check if the layout explicitely defines alignments. - wideControlsEnabled || !WIDE_CONTROLS.includes(control)) && availableAlignments.includes(control)).map(enabledControl => ({ - name: enabledControl + const alignments = controls.filter(control => { + if (layout.alignments) { + return layout.alignments.includes(control); + } + if (!wideControlsEnabled && WIDE_CONTROLS.includes(control)) { + return false; + } + return use_available_alignments_DEFAULT_CONTROLS.includes(control); + }).map(name => ({ + name })); // While we treat `none` as an alignment, we shouldn't return it if no // other alignments exist. - if (enabledControls.length === 1 && enabledControls[0].name === 'none') { + if (alignments.length === 1 && alignments[0].name === 'none') { return use_available_alignments_EMPTY_ARRAY; } - return enabledControls; + return alignments; } ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/align-none.js @@ -15261,10 +20385,10 @@ function useAvailableAlignments(controls = use_available_alignments_DEFAULT_CONT * WordPress dependencies */ -const alignNone = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const alignNone = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM5 9h14v6H5V9Z" })); /* harmony default export */ var align_none = (alignNone); @@ -15275,10 +20399,10 @@ const alignNone = (0,external_wp_element_namespaceObject.createElement)(external * WordPress dependencies */ -const positionLeft = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const positionLeft = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M5 5.5h8V4H5v1.5ZM5 20h8v-1.5H5V20ZM19 9H5v6h14V9Z" })); /* harmony default export */ var position_left = (positionLeft); @@ -15289,10 +20413,10 @@ const positionLeft = (0,external_wp_element_namespaceObject.createElement)(exter * WordPress dependencies */ -const positionRight = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const positionRight = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M19 5.5h-8V4h8v1.5ZM19 20h-8v-1.5h8V20ZM5 9h14v6H5V9Z" })); /* harmony default export */ var position_right = (positionRight); @@ -15303,10 +20427,10 @@ const positionRight = (0,external_wp_element_namespaceObject.createElement)(exte * WordPress dependencies */ -const stretchFullWidth = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const stretchFullWidth = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M5 4h14v11H5V4Zm11 16H8v-1.5h8V20Z" })); /* harmony default export */ var stretch_full_width = (stretchFullWidth); @@ -15404,7 +20528,7 @@ function BlockAlignmentUI({ children: ({ onClose }) => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, { className: "block-editor-block-alignment-control__menu-group" }, enabledControls.map(({ name: controlName, @@ -15416,7 +20540,7 @@ function BlockAlignmentUI({ } = constants_BLOCK_ALIGNMENTS_CONTROLS[controlName]; // If no value is provided, mark as selected the `none` option. const isSelected = controlName === value || !value && controlName === 'none'; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { key: controlName, icon: icon, iconPosition: "left", @@ -15434,7 +20558,7 @@ function BlockAlignmentUI({ }))); } }; - return (0,external_wp_element_namespaceObject.createElement)(UIComponent, { + return (0,external_React_.createElement)(UIComponent, { ...commonProps, ...extraProps }); @@ -15448,13 +20572,13 @@ function BlockAlignmentUI({ */ const BlockAlignmentControl = props => { - return (0,external_wp_element_namespaceObject.createElement)(block_alignment_control_ui, { + return (0,external_React_.createElement)(block_alignment_control_ui, { ...props, isToolbar: false }); }; const BlockAlignmentToolbar = props => { - return (0,external_wp_element_namespaceObject.createElement)(block_alignment_control_ui, { + return (0,external_React_.createElement)(block_alignment_control_ui, { ...props, isToolbar: true }); @@ -15465,13 +20589,6 @@ const BlockAlignmentToolbar = props => { */ -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block-list-block-context.js -/** - * WordPress dependencies - */ - -const BlockListBlockContext = (0,external_wp_element_namespaceObject.createContext)(null); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-editing-mode/index.js /** * WordPress dependencies @@ -15520,15 +20637,17 @@ const BlockListBlockContext = (0,external_wp_element_namespaceObject.createConte * @return {BlockEditingMode} The current editing mode. */ function useBlockEditingMode(mode) { - var _useContext; + const context = useBlockEditContext(); const { clientId = '' - } = (_useContext = (0,external_wp_element_namespaceObject.useContext)(BlockListBlockContext)) !== null && _useContext !== void 0 ? _useContext : {}; - const blockEditingMode = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getBlockEditingMode(clientId), [clientId]); + } = context; const { setBlockEditingMode, unsetBlockEditingMode } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const globalBlockEditingMode = (0,external_wp_data_namespaceObject.useSelect)(select => + // Avoid adding the subscription if not needed! + clientId ? null : select(store).getBlockEditingMode(), [clientId]); (0,external_wp_element_namespaceObject.useEffect)(() => { if (mode) { setBlockEditingMode(clientId, mode); @@ -15539,7 +20658,7 @@ function useBlockEditingMode(mode) { } }; }, [clientId, mode, setBlockEditingMode, unsetBlockEditingMode]); - return blockEditingMode; + return clientId ? context[blockEditingModeKey] : globalBlockEditingMode; } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/align.js @@ -15555,7 +20674,6 @@ function useBlockEditingMode(mode) { - /** * Internal dependencies */ @@ -15628,34 +20746,22 @@ function addAttribute(settings) { ...settings.attributes, align: { type: 'string', - // Allow for '' since it is used by updateAlignment function - // in withToolbarControls for special cases with defined default values. + // Allow for '' since it is used by the `updateAlignment` function + // in toolbar controls for special cases with defined default values. enum: [...ALL_ALIGNMENTS, ''] } }; } return settings; } - -/** - * Override the default edit UI to include new toolbar controls for block - * alignment, if block defines support. - * - * @param {Function} BlockEdit Original component. - * - * @return {Function} Wrapped component. - */ -const withToolbarControls = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => props => { - const blockEdit = (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - key: "edit", - ...props - }); - const { - name: blockName - } = props; +function BlockEditAlignmentToolbarControlsPure({ + name: blockName, + align, + setAttributes +}) { // Compute the block valid alignments by taking into account, // if the theme supports wide alignments or not and the layout's - // availble alignments. We do that for conditionally rendering + // available alignments. We do that for conditionally rendering // Slot. const blockAllowedAlignments = getValidAlignments((0,external_wp_blocks_namespaceObject.getBlockSupport)(blockName, 'align'), (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, 'alignWide', true)); const validAlignments = useAvailableAlignments(blockAllowedAlignments).map(({ @@ -15663,67 +20769,52 @@ const withToolbarControls = (0,external_wp_compose_namespaceObject.createHigherO }) => name); const blockEditingMode = useBlockEditingMode(); if (!validAlignments.length || blockEditingMode !== 'default') { - return blockEdit; + return null; } const updateAlignment = nextAlign => { if (!nextAlign) { - const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(props.name); + const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockName); const blockDefaultAlign = blockType?.attributes?.align?.default; if (blockDefaultAlign) { nextAlign = ''; } } - props.setAttributes({ + setAttributes({ align: nextAlign }); }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(block_controls, { + return (0,external_React_.createElement)(block_controls, { group: "block", __experimentalShareWithChildBlocks: true - }, (0,external_wp_element_namespaceObject.createElement)(BlockAlignmentControl, { - value: props.attributes.align, + }, (0,external_React_.createElement)(BlockAlignmentControl, { + value: align, onChange: updateAlignment, controls: validAlignments - })), blockEdit); -}, 'withToolbarControls'); - -/** - * Override the default block element to add alignment wrapper props. - * - * @param {Function} BlockListBlock Original component. - * - * @return {Function} Wrapped component. - */ -const withDataAlign = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockListBlock => props => { - const { - name, - attributes - } = props; - const { - align - } = attributes; + })); +} +/* harmony default export */ var align = ({ + shareWithChildBlocks: true, + edit: BlockEditAlignmentToolbarControlsPure, + useBlockProps, + addSaveProps: addAssignedAlign, + attributeKeys: ['align'], + hasSupport(name) { + return (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, 'align', false); + } +}); +function useBlockProps({ + name, + align +}) { const blockAllowedAlignments = getValidAlignments((0,external_wp_blocks_namespaceObject.getBlockSupport)(name, 'align'), (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, 'alignWide', true)); const validAlignments = useAvailableAlignments(blockAllowedAlignments); - - // If an alignment is not assigned, there's no need to go through the - // effort to validate or assign its value. - if (align === undefined) { - return (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...props - }); - } - let wrapperProps = props.wrapperProps; if (validAlignments.some(alignment => alignment.name === align)) { - wrapperProps = { - ...wrapperProps, + return { 'data-align': align }; } - return (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...props, - wrapperProps: wrapperProps - }); -}, 'withDataAlign'); + return {}; +} /** * Override props assigned to save component to inject alignment class name if @@ -15751,10 +20842,7 @@ function addAssignedAlign(props, blockType, attributes) { } return props; } -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/align/addAttribute', addAttribute); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/editor/align/with-data-align', withDataAlign); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/editor/align/with-toolbar-controls', withToolbarControls); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/align/addAssignedAlign', addAssignedAlign); +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/editor/align/addAttribute', addAttribute); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/lock.js /** @@ -15802,6 +20890,7 @@ const InspectorControlsPosition = (0,external_wp_components_namespaceObject.crea const InspectorControlsTypography = (0,external_wp_components_namespaceObject.createSlotFill)('InspectorControlsTypography'); const InspectorControlsListView = (0,external_wp_components_namespaceObject.createSlotFill)('InspectorControlsListView'); const InspectorControlsStyles = (0,external_wp_components_namespaceObject.createSlotFill)('InspectorControlsStyles'); +const InspectorControlsEffects = (0,external_wp_components_namespaceObject.createSlotFill)('InspectorControlsEffects'); const groups_groups = { default: InspectorControlsDefault, advanced: InspectorControlsAdvanced, @@ -15809,6 +20898,7 @@ const groups_groups = { border: InspectorControlsBorder, color: InspectorControlsColor, dimensions: InspectorControlsDimensions, + effects: InspectorControlsEffects, filter: InspectorControlsFilter, list: InspectorControlsListView, position: InspectorControlsPosition, @@ -15848,19 +20938,19 @@ function InspectorControlsFill({ }); group = __experimentalGroup; } - const isDisplayed = useDisplayBlockControls(); + const context = useBlockEditContext(); const Fill = inspector_controls_groups[group]?.Fill; if (!Fill) { true ? external_wp_warning_default()(`Unknown InspectorControls group "${group}" provided.`) : 0; return null; } - if (!isDisplayed) { + if (!context[mayDisplayControlsKey]) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalStyleProvider, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalStyleProvider, { document: document - }, (0,external_wp_element_namespaceObject.createElement)(Fill, null, fillProps => { - return (0,external_wp_element_namespaceObject.createElement)(ToolsPanelInspectorControl, { + }, (0,external_React_.createElement)(Fill, null, fillProps => { + return (0,external_React_.createElement)(ToolsPanelInspectorControl, { fillProps: fillProps, children: children, resetAllFilter: resetAllFilter @@ -15900,10 +20990,10 @@ function ToolsPanelInspectorControl({ // access to any React Context whose Provider is part of // the InspectorControlsSlot tree. So we re-create the // Provider in this subtree. - const innerMarkup = (0,external_wp_element_namespaceObject.createElement)(RegisterResetAll, { + const innerMarkup = (0,external_React_.createElement)(RegisterResetAll, { resetAllFilter: resetAllFilter }, children); - return forwardedContext.reduce((inner, [Provider, props]) => (0,external_wp_element_namespaceObject.createElement)(Provider, { + return forwardedContext.reduce((inner, [Provider, props]) => (0,external_React_.createElement)(Provider, { ...props }, inner), innerMarkup); } @@ -15922,6 +21012,7 @@ function ToolsPanelInspectorControl({ */ + function BlockSupportToolsPanel({ children, group, @@ -15963,7 +21054,7 @@ function BlockSupportToolsPanel({ }); updateBlockAttributes(clientIds, newAttributes, true); }, [getBlockAttributes, getMultiSelectedBlockClientIds, hasMultiSelection, panelId, updateBlockAttributes]); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { className: `${group}-block-support-panel`, label: label, resetAll: resetAll, @@ -15973,7 +21064,8 @@ function BlockSupportToolsPanel({ shouldRenderPlaceholderItems: true // Required to maintain fills ordering. , __experimentalFirstVisibleItemClass: "first", - __experimentalLastVisibleItemClass: "last" + __experimentalLastVisibleItemClass: "last", + dropdownMenuProps: TOOLSPANEL_DROPDOWNMENU_PROPS }, children); } @@ -16000,7 +21092,7 @@ function BlockSupportSlotContainer({ }]] }; }, [toolsPanelContext, fillProps]); - return (0,external_wp_element_namespaceObject.createElement)(Slot, { + return (0,external_React_.createElement)(Slot, { ...props, fillProps: computedFillProps, bubblesVirtually: true @@ -16058,16 +21150,16 @@ function InspectorControlsSlot({ return null; } if (label) { - return (0,external_wp_element_namespaceObject.createElement)(BlockSupportToolsPanel, { + return (0,external_React_.createElement)(BlockSupportToolsPanel, { group: group, label: label - }, (0,external_wp_element_namespaceObject.createElement)(BlockSupportSlotContainer, { + }, (0,external_React_.createElement)(BlockSupportSlotContainer, { ...props, fillProps: computedFillProps, Slot: Slot })); } - return (0,external_wp_element_namespaceObject.createElement)(Slot, { + return (0,external_React_.createElement)(Slot, { ...props, fillProps: computedFillProps, bubblesVirtually: true @@ -16086,13 +21178,13 @@ InspectorControls.Slot = InspectorControlsSlot; // This is just here for backward compatibility. const InspectorAdvancedControls = props => { - return (0,external_wp_element_namespaceObject.createElement)(InspectorControlsFill, { + return (0,external_React_.createElement)(InspectorControlsFill, { ...props, group: "advanced" }); }; InspectorAdvancedControls.Slot = props => { - return (0,external_wp_element_namespaceObject.createElement)(InspectorControlsSlot, { + return (0,external_React_.createElement)(InspectorControlsSlot, { ...props, group: "advanced" }); @@ -16115,7 +21207,6 @@ InspectorAdvancedControls.slotName = 'InspectorAdvancedControls'; - /** * Internal dependencies */ @@ -16158,52 +21249,46 @@ function anchor_addAttribute(settings) { } return settings; } - -/** - * Override the default edit UI to include a new block inspector control for - * assigning the anchor ID, if block supports anchor. - * - * @param {WPComponent} BlockEdit Original component. - * - * @return {WPComponent} Wrapped component. - */ -const withInspectorControl = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => { - return props => { - const hasAnchor = (0,external_wp_blocks_namespaceObject.hasBlockSupport)(props.name, 'anchor'); - const blockEditingMode = useBlockEditingMode(); - if (hasAnchor && props.isSelected) { - const isWeb = external_wp_element_namespaceObject.Platform.OS === 'web'; - const textControl = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextControl, { - __nextHasNoMarginBottom: true, - className: "html-anchor-control", - label: (0,external_wp_i18n_namespaceObject.__)('HTML anchor'), - help: (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_i18n_namespaceObject.__)('Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.'), isWeb && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ExternalLink, { - href: (0,external_wp_i18n_namespaceObject.__)('https://wordpress.org/documentation/article/page-jumps/') - }, (0,external_wp_i18n_namespaceObject.__)('Learn more about anchors'))), - value: props.attributes.anchor || '', - placeholder: !isWeb ? (0,external_wp_i18n_namespaceObject.__)('Add an anchor') : null, - onChange: nextValue => { - nextValue = nextValue.replace(ANCHOR_REGEX, '-'); - props.setAttributes({ - anchor: nextValue - }); - }, - autoCapitalize: "none", - autoComplete: "off" +function BlockEditAnchorControlPure({ + name: blockName, + anchor, + setAttributes +}) { + const blockEditingMode = useBlockEditingMode(); + const isWeb = external_wp_element_namespaceObject.Platform.OS === 'web'; + const textControl = (0,external_React_.createElement)(external_wp_components_namespaceObject.TextControl, { + __nextHasNoMarginBottom: true, + __next40pxDefaultSize: true, + className: "html-anchor-control", + label: (0,external_wp_i18n_namespaceObject.__)('HTML anchor'), + help: (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_wp_i18n_namespaceObject.__)('Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.'), isWeb && (0,external_React_.createElement)(external_wp_components_namespaceObject.ExternalLink, { + href: (0,external_wp_i18n_namespaceObject.__)('https://wordpress.org/documentation/article/page-jumps/') + }, (0,external_wp_i18n_namespaceObject.__)('Learn more about anchors'))), + value: anchor || '', + placeholder: !isWeb ? (0,external_wp_i18n_namespaceObject.__)('Add an anchor') : null, + onChange: nextValue => { + nextValue = nextValue.replace(ANCHOR_REGEX, '-'); + setAttributes({ + anchor: nextValue }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - ...props - }), isWeb && blockEditingMode === 'default' && (0,external_wp_element_namespaceObject.createElement)(inspector_controls, { - group: "advanced" - }, textControl), !isWeb && props.name === 'core/heading' && (0,external_wp_element_namespaceObject.createElement)(inspector_controls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { - title: (0,external_wp_i18n_namespaceObject.__)('Heading settings') - }, textControl))); - } - return (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - ...props - }); - }; -}, 'withInspectorControl'); + }, + autoCapitalize: "none", + autoComplete: "off" + }); + return (0,external_React_.createElement)(external_React_.Fragment, null, isWeb && blockEditingMode === 'default' && (0,external_React_.createElement)(inspector_controls, { + group: "advanced" + }, textControl), !isWeb && blockName === 'core/heading' && (0,external_React_.createElement)(inspector_controls, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.PanelBody, { + title: (0,external_wp_i18n_namespaceObject.__)('Heading settings') + }, textControl))); +} +/* harmony default export */ var hooks_anchor = ({ + addSaveProps, + edit: BlockEditAnchorControlPure, + attributeKeys: ['anchor'], + hasSupport(name) { + return (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, 'anchor'); + } +}); /** * Override props assigned to save component to inject anchor ID, if block @@ -16223,8 +21308,6 @@ function addSaveProps(extraProps, blockType, attributes) { return extraProps; } (0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/anchor/attribute', anchor_addAttribute); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/editor/anchor/with-inspector-control', withInspectorControl); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/anchor/save-props', addSaveProps); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/aria-label.js /** @@ -16279,8 +21362,14 @@ function aria_label_addSaveProps(extraProps, blockType, attributes) { } return extraProps; } +/* harmony default export */ var aria_label = ({ + addSaveProps: aria_label_addSaveProps, + attributeKeys: ['ariaLabel'], + hasSupport(name) { + return (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, 'ariaLabel'); + } +}); (0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/ariaLabel/attribute', aria_label_addAttribute); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/ariaLabel/save-props', aria_label_addSaveProps); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/custom-class-name.js @@ -16297,7 +21386,6 @@ function aria_label_addSaveProps(extraProps, blockType, attributes) { - /** * Internal dependencies */ @@ -16323,43 +21411,38 @@ function custom_class_name_addAttribute(settings) { } return settings; } - -/** - * Override the default edit UI to include a new block inspector control for - * assigning the custom class name, if block supports custom class name. - * The control is displayed within the Advanced panel in the block inspector. - * - * @param {WPComponent} BlockEdit Original component. - * - * @return {WPComponent} Wrapped component. - */ -const custom_class_name_withInspectorControl = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => { - return props => { - const blockEditingMode = useBlockEditingMode(); - const hasCustomClassName = (0,external_wp_blocks_namespaceObject.hasBlockSupport)(props.name, 'customClassName', true); - if (hasCustomClassName && props.isSelected) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - ...props - }), blockEditingMode === 'default' && (0,external_wp_element_namespaceObject.createElement)(inspector_controls, { - group: "advanced" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextControl, { - __nextHasNoMarginBottom: true, - autoComplete: "off", - label: (0,external_wp_i18n_namespaceObject.__)('Additional CSS class(es)'), - value: props.attributes.className || '', - onChange: nextValue => { - props.setAttributes({ - className: nextValue !== '' ? nextValue : undefined - }); - }, - help: (0,external_wp_i18n_namespaceObject.__)('Separate multiple classes with spaces.') - }))); - } - return (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - ...props - }); - }; -}, 'withInspectorControl'); +function CustomClassNameControlsPure({ + className, + setAttributes +}) { + const blockEditingMode = useBlockEditingMode(); + if (blockEditingMode !== 'default') { + return null; + } + return (0,external_React_.createElement)(inspector_controls, { + group: "advanced" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.TextControl, { + __nextHasNoMarginBottom: true, + __next40pxDefaultSize: true, + autoComplete: "off", + label: (0,external_wp_i18n_namespaceObject.__)('Additional CSS class(es)'), + value: className || '', + onChange: nextValue => { + setAttributes({ + className: nextValue !== '' ? nextValue : undefined + }); + }, + help: (0,external_wp_i18n_namespaceObject.__)('Separate multiple classes with spaces.') + })); +} +/* harmony default export */ var custom_class_name = ({ + edit: CustomClassNameControlsPure, + addSaveProps: custom_class_name_addSaveProps, + attributeKeys: ['className'], + hasSupport(name) { + return (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, 'customClassName', true); + } +}); /** * Override props assigned to save component to inject the className, if block @@ -16413,9 +21496,7 @@ function addTransforms(result, source, index, results) { } return result; } -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/custom-class-name/attribute', custom_class_name_addAttribute); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/editor/custom-class-name/with-inspector-control', custom_class_name_withInspectorControl); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/custom-class-name/save-props', custom_class_name_addSaveProps); +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/editor/custom-class-name/attribute', custom_class_name_addAttribute); (0,external_wp_hooks_namespaceObject.addFilter)('blocks.switchToBlockType.transformedBlock', 'core/color/addTransforms', addTransforms); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/generated-class-name.js @@ -16453,8 +21534,14384 @@ function addGeneratedClassName(extraProps, blockType) { } (0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/generated-class-name/save-props', addGeneratedClassName); +;// CONCATENATED MODULE: external ["wp","blob"] +var external_wp_blob_namespaceObject = window["wp"]["blob"]; ;// CONCATENATED MODULE: external ["wp","dom"] var external_wp_dom_namespaceObject = window["wp"]["dom"]; +;// CONCATENATED MODULE: external ["wp","notices"] +var external_wp_notices_namespaceObject = window["wp"]["notices"]; +;// CONCATENATED MODULE: external ["wp","url"] +var external_wp_url_namespaceObject = window["wp"]["url"]; +;// CONCATENATED MODULE: external ["wp","keycodes"] +var external_wp_keycodes_namespaceObject = window["wp"]["keycodes"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/media.js + +/** + * WordPress dependencies + */ + +const media = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "m7 6.5 4 2.5-4 2.5z" +}), (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + fillRule: "evenodd", + clipRule: "evenodd", + d: "m5 3c-1.10457 0-2 .89543-2 2v14c0 1.1046.89543 2 2 2h14c1.1046 0 2-.8954 2-2v-14c0-1.10457-.8954-2-2-2zm14 1.5h-14c-.27614 0-.5.22386-.5.5v10.7072l3.62953-2.6465c.25108-.1831.58905-.1924.84981-.0234l2.92666 1.8969 3.5712-3.4719c.2911-.2831.7545-.2831 1.0456 0l2.9772 2.8945v-9.3568c0-.27614-.2239-.5-.5-.5zm-14.5 14.5v-1.4364l4.09643-2.987 2.99567 1.9417c.2936.1903.6798.1523.9307-.0917l3.4772-3.3806 3.4772 3.3806.0228-.0234v2.5968c0 .2761-.2239.5-.5.5h-14c-.27614 0-.5-.2239-.5-.5z" +})); +/* harmony default export */ var library_media = (media); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/upload.js + +/** + * WordPress dependencies + */ + +const upload = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M18.5 15v3.5H13V6.7l4.5 4.1 1-1.1-6.2-5.8-5.8 5.8 1 1.1 4-4v11.7h-6V15H4v5h16v-5z" +})); +/* harmony default export */ var library_upload = (upload); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-featured-image.js + +/** + * WordPress dependencies + */ + +const postFeaturedImage = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M19 3H5c-.6 0-1 .4-1 1v7c0 .5.4 1 1 1h14c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1zM5.5 10.5v-.4l1.8-1.3 1.3.8c.3.2.7.2.9-.1L11 8.1l2.4 2.4H5.5zm13 0h-2.9l-4-4c-.3-.3-.8-.3-1.1 0L8.9 8l-1.2-.8c-.3-.2-.6-.2-.9 0l-1.3 1V4.5h13v6zM4 20h9v-1.5H4V20zm0-4h16v-1.5H4V16z" +})); +/* harmony default export */ var post_featured_image = (postFeaturedImage); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/media-upload/index.js +/** + * WordPress dependencies + */ + + +/** + * This is a placeholder for the media upload component necessary to make it possible to provide + * an integration with the core blocks that handle media files. By default it renders nothing but + * it provides a way to have it overridden with the `editor.MediaUpload` filter. + * + * @return {Component} The component to be rendered. + */ +const MediaUpload = () => null; + +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-upload/README.md + */ +/* harmony default export */ var media_upload = ((0,external_wp_components_namespaceObject.withFilters)('editor.MediaUpload')(MediaUpload)); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/media-upload/check.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + +function MediaUploadCheck({ + fallback = null, + children +}) { + const hasUploadPermissions = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getSettings + } = select(store); + return !!getSettings().mediaUpload; + }, []); + return hasUploadPermissions ? children : fallback; +} + +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-upload/README.md + */ +/* harmony default export */ var check = (MediaUploadCheck); + +;// CONCATENATED MODULE: external ["wp","isShallowEqual"] +var external_wp_isShallowEqual_namespaceObject = window["wp"]["isShallowEqual"]; +var external_wp_isShallowEqual_default = /*#__PURE__*/__webpack_require__.n(external_wp_isShallowEqual_namespaceObject); +;// CONCATENATED MODULE: external ["wp","preferences"] +var external_wp_preferences_namespaceObject = window["wp"]["preferences"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/keyboard-return.js + +/** + * WordPress dependencies + */ + +const keyboardReturn = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "-2 -2 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M6.734 16.106l2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.157 1.093-1.027-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734z" +})); +/* harmony default export */ var keyboard_return = (keyboardReturn); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left-small.js + +/** + * WordPress dependencies + */ + +const chevronLeftSmall = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "m13.1 16-3.4-4 3.4-4 1.1 1-2.6 3 2.6 3-1.1 1z" +})); +/* harmony default export */ var chevron_left_small = (chevronLeftSmall); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-right-small.js + +/** + * WordPress dependencies + */ + +const chevronRightSmall = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M10.8622 8.04053L14.2805 12.0286L10.8622 16.0167L9.72327 15.0405L12.3049 12.0286L9.72327 9.01672L10.8622 8.04053Z" +})); +/* harmony default export */ var chevron_right_small = (chevronRightSmall); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/settings-drawer.js + +/** + * WordPress dependencies + */ + + + + + +function LinkSettingsDrawer({ + children, + settingsOpen, + setSettingsOpen +}) { + const prefersReducedMotion = (0,external_wp_compose_namespaceObject.useReducedMotion)(); + const MaybeAnimatePresence = prefersReducedMotion ? external_wp_element_namespaceObject.Fragment : external_wp_components_namespaceObject.__unstableAnimatePresence; + const MaybeMotionDiv = prefersReducedMotion ? 'div' : external_wp_components_namespaceObject.__unstableMotion.div; + const id = (0,external_wp_compose_namespaceObject.useInstanceId)(LinkSettingsDrawer); + const settingsDrawerId = `link-control-settings-drawer-${id}`; + return (0,external_React_.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + className: "block-editor-link-control__drawer-toggle", + "aria-expanded": settingsOpen, + onClick: () => setSettingsOpen(!settingsOpen), + icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? chevron_left_small : chevron_right_small, + "aria-controls": settingsDrawerId + }, (0,external_wp_i18n_namespaceObject._x)('Advanced', 'Additional link settings')), (0,external_React_.createElement)(MaybeAnimatePresence, null, settingsOpen && (0,external_React_.createElement)(MaybeMotionDiv, { + className: "block-editor-link-control__drawer", + hidden: !settingsOpen, + id: settingsDrawerId, + initial: "collapsed", + animate: "open", + exit: "collapsed", + variants: { + open: { + opacity: 1, + height: 'auto' + }, + collapsed: { + opacity: 0, + height: 0 + } + }, + transition: { + duration: 0.1 + } + }, (0,external_React_.createElement)("div", { + className: "block-editor-link-control__drawer-inner" + }, children)))); +} +/* harmony default export */ var settings_drawer = (LinkSettingsDrawer); + +// EXTERNAL MODULE: ./node_modules/dom-scroll-into-view/lib/index.js +var lib = __webpack_require__(5425); +var lib_default = /*#__PURE__*/__webpack_require__.n(lib); +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-input/index.js + +/** + * External dependencies + */ + + + +/** + * WordPress dependencies + */ + + + + + + + + + +/** + * Internal dependencies + */ + + +/** + * Whether the argument is a function. + * + * @param {*} maybeFunc The argument to check. + * @return {boolean} True if the argument is a function, false otherwise. + */ +function isFunction(maybeFunc) { + return typeof maybeFunc === 'function'; +} +class URLInput extends external_wp_element_namespaceObject.Component { + constructor(props) { + super(props); + this.onChange = this.onChange.bind(this); + this.onFocus = this.onFocus.bind(this); + this.onKeyDown = this.onKeyDown.bind(this); + this.selectLink = this.selectLink.bind(this); + this.handleOnClick = this.handleOnClick.bind(this); + this.bindSuggestionNode = this.bindSuggestionNode.bind(this); + this.autocompleteRef = props.autocompleteRef || (0,external_wp_element_namespaceObject.createRef)(); + this.inputRef = (0,external_wp_element_namespaceObject.createRef)(); + this.updateSuggestions = (0,external_wp_compose_namespaceObject.debounce)(this.updateSuggestions.bind(this), 200); + this.suggestionNodes = []; + this.suggestionsRequest = null; + this.state = { + suggestions: [], + showSuggestions: false, + suggestionsValue: null, + selectedSuggestion: null, + suggestionsListboxId: '', + suggestionOptionIdPrefix: '' + }; + } + componentDidUpdate(prevProps) { + const { + showSuggestions, + selectedSuggestion + } = this.state; + const { + value, + __experimentalShowInitialSuggestions = false + } = this.props; + + // Only have to worry about scrolling selected suggestion into view + // when already expanded. + if (showSuggestions && selectedSuggestion !== null && this.suggestionNodes[selectedSuggestion] && !this.scrollingIntoView) { + this.scrollingIntoView = true; + lib_default()(this.suggestionNodes[selectedSuggestion], this.autocompleteRef.current, { + onlyScrollIfNeeded: true + }); + this.props.setTimeout(() => { + this.scrollingIntoView = false; + }, 100); + } + + // Update suggestions when the value changes. + if (prevProps.value !== value && !this.props.disableSuggestions) { + if (value?.length) { + // If the new value is not empty we need to update with suggestions for it. + this.updateSuggestions(value); + } else if (__experimentalShowInitialSuggestions) { + // If the new value is empty and we can show initial suggestions, then show initial suggestions. + this.updateSuggestions(); + } + } + } + componentDidMount() { + if (this.shouldShowInitialSuggestions()) { + this.updateSuggestions(); + } + } + componentWillUnmount() { + this.suggestionsRequest?.cancel?.(); + this.suggestionsRequest = null; + } + bindSuggestionNode(index) { + return ref => { + this.suggestionNodes[index] = ref; + }; + } + shouldShowInitialSuggestions() { + const { + __experimentalShowInitialSuggestions = false, + value + } = this.props; + return __experimentalShowInitialSuggestions && !(value && value.length); + } + updateSuggestions(value = '') { + const { + __experimentalFetchLinkSuggestions: fetchLinkSuggestions, + __experimentalHandleURLSuggestions: handleURLSuggestions + } = this.props; + if (!fetchLinkSuggestions) { + return; + } + + // Initial suggestions may only show if there is no value + // (note: this includes whitespace). + const isInitialSuggestions = !value?.length; + + // Trim only now we've determined whether or not it originally had a "length" + // (even if that value was all whitespace). + value = value.trim(); + + // Allow a suggestions request if: + // - there are at least 2 characters in the search input (except manual searches where + // search input length is not required to trigger a fetch) + // - this is a direct entry (eg: a URL) + if (!isInitialSuggestions && (value.length < 2 || !handleURLSuggestions && (0,external_wp_url_namespaceObject.isURL)(value))) { + this.suggestionsRequest?.cancel?.(); + this.suggestionsRequest = null; + this.setState({ + suggestions: [], + showSuggestions: false, + suggestionsValue: value, + selectedSuggestion: null, + loading: false + }); + return; + } + this.setState({ + selectedSuggestion: null, + loading: true + }); + const request = fetchLinkSuggestions(value, { + isInitialSuggestions + }); + request.then(suggestions => { + // A fetch Promise doesn't have an abort option. It's mimicked by + // comparing the request reference in on the instance, which is + // reset or deleted on subsequent requests or unmounting. + if (this.suggestionsRequest !== request) { + return; + } + this.setState({ + suggestions, + suggestionsValue: value, + loading: false, + showSuggestions: !!suggestions.length + }); + if (!!suggestions.length) { + this.props.debouncedSpeak((0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: number of results. */ + (0,external_wp_i18n_namespaceObject._n)('%d result found, use up and down arrow keys to navigate.', '%d results found, use up and down arrow keys to navigate.', suggestions.length), suggestions.length), 'assertive'); + } else { + this.props.debouncedSpeak((0,external_wp_i18n_namespaceObject.__)('No results.'), 'assertive'); + } + }).catch(() => { + if (this.suggestionsRequest !== request) { + return; + } + this.setState({ + loading: false + }); + }).finally(() => { + // If this is the current promise then reset the reference + // to allow for checking if a new request is made. + if (this.suggestionsRequest === request) { + this.suggestionsRequest = null; + } + }); + + // Note that this assignment is handled *before* the async search request + // as a Promise always resolves on the next tick of the event loop. + this.suggestionsRequest = request; + } + onChange(event) { + this.props.onChange(event.target.value); + } + onFocus() { + const { + suggestions + } = this.state; + const { + disableSuggestions, + value + } = this.props; + + // When opening the link editor, if there's a value present, we want to load the suggestions pane with the results for this input search value + // Don't re-run the suggestions on focus if there are already suggestions present (prevents searching again when tabbing between the input and buttons) + // or there is already a request in progress. + if (value && !disableSuggestions && !(suggestions && suggestions.length) && this.suggestionsRequest === null) { + // Ensure the suggestions are updated with the current input value. + this.updateSuggestions(value); + } + } + onKeyDown(event) { + this.props.onKeyDown?.(event); + const { + showSuggestions, + selectedSuggestion, + suggestions, + loading + } = this.state; + + // If the suggestions are not shown or loading, we shouldn't handle the arrow keys + // We shouldn't preventDefault to allow block arrow keys navigation. + if (!showSuggestions || !suggestions.length || loading) { + // In the Windows version of Firefox the up and down arrows don't move the caret + // within an input field like they do for Mac Firefox/Chrome/Safari. This causes + // a form of focus trapping that is disruptive to the user experience. This disruption + // only happens if the caret is not in the first or last position in the text input. + // See: https://github.com/WordPress/gutenberg/issues/5693#issuecomment-436684747 + switch (event.keyCode) { + // When UP is pressed, if the caret is at the start of the text, move it to the 0 + // position. + case external_wp_keycodes_namespaceObject.UP: + { + if (0 !== event.target.selectionStart) { + event.preventDefault(); + + // Set the input caret to position 0. + event.target.setSelectionRange(0, 0); + } + break; + } + // When DOWN is pressed, if the caret is not at the end of the text, move it to the + // last position. + case external_wp_keycodes_namespaceObject.DOWN: + { + if (this.props.value.length !== event.target.selectionStart) { + event.preventDefault(); + + // Set the input caret to the last position. + event.target.setSelectionRange(this.props.value.length, this.props.value.length); + } + break; + } + + // Submitting while loading should trigger onSubmit. + case external_wp_keycodes_namespaceObject.ENTER: + { + if (this.props.onSubmit) { + event.preventDefault(); + this.props.onSubmit(null, event); + } + break; + } + } + return; + } + const suggestion = this.state.suggestions[this.state.selectedSuggestion]; + switch (event.keyCode) { + case external_wp_keycodes_namespaceObject.UP: + { + event.preventDefault(); + const previousIndex = !selectedSuggestion ? suggestions.length - 1 : selectedSuggestion - 1; + this.setState({ + selectedSuggestion: previousIndex + }); + break; + } + case external_wp_keycodes_namespaceObject.DOWN: + { + event.preventDefault(); + const nextIndex = selectedSuggestion === null || selectedSuggestion === suggestions.length - 1 ? 0 : selectedSuggestion + 1; + this.setState({ + selectedSuggestion: nextIndex + }); + break; + } + case external_wp_keycodes_namespaceObject.TAB: + { + if (this.state.selectedSuggestion !== null) { + this.selectLink(suggestion); + // Announce a link has been selected when tabbing away from the input field. + this.props.speak((0,external_wp_i18n_namespaceObject.__)('Link selected.')); + } + break; + } + case external_wp_keycodes_namespaceObject.ENTER: + { + event.preventDefault(); + if (this.state.selectedSuggestion !== null) { + this.selectLink(suggestion); + if (this.props.onSubmit) { + this.props.onSubmit(suggestion, event); + } + } else if (this.props.onSubmit) { + this.props.onSubmit(null, event); + } + break; + } + } + } + selectLink(suggestion) { + this.props.onChange(suggestion.url, suggestion); + this.setState({ + selectedSuggestion: null, + showSuggestions: false + }); + } + handleOnClick(suggestion) { + this.selectLink(suggestion); + // Move focus to the input field when a link suggestion is clicked. + this.inputRef.current.focus(); + } + static getDerivedStateFromProps({ + value, + instanceId, + disableSuggestions, + __experimentalShowInitialSuggestions = false + }, { + showSuggestions + }) { + let shouldShowSuggestions = showSuggestions; + const hasValue = value && value.length; + if (!__experimentalShowInitialSuggestions && !hasValue) { + shouldShowSuggestions = false; + } + if (disableSuggestions === true) { + shouldShowSuggestions = false; + } + return { + showSuggestions: shouldShowSuggestions, + suggestionsListboxId: `block-editor-url-input-suggestions-${instanceId}`, + suggestionOptionIdPrefix: `block-editor-url-input-suggestion-${instanceId}` + }; + } + render() { + return (0,external_React_.createElement)(external_React_.Fragment, null, this.renderControl(), this.renderSuggestions()); + } + renderControl() { + const { + /** Start opting into the new margin-free styles that will become the default in a future version. */ + __nextHasNoMarginBottom = false, + label = null, + className, + isFullWidth, + instanceId, + placeholder = (0,external_wp_i18n_namespaceObject.__)('Paste URL or type to search'), + __experimentalRenderControl: renderControl, + value = '', + hideLabelFromVision = false + } = this.props; + const { + loading, + showSuggestions, + selectedSuggestion, + suggestionsListboxId, + suggestionOptionIdPrefix + } = this.state; + const inputId = `url-input-control-${instanceId}`; + const controlProps = { + id: inputId, + // Passes attribute to label for the for attribute + label, + className: classnames_default()('block-editor-url-input', className, { + 'is-full-width': isFullWidth + }), + hideLabelFromVision + }; + const inputProps = { + id: inputId, + value, + required: true, + className: 'block-editor-url-input__input', + type: 'text', + onChange: this.onChange, + onFocus: this.onFocus, + placeholder, + onKeyDown: this.onKeyDown, + role: 'combobox', + 'aria-label': label ? undefined : (0,external_wp_i18n_namespaceObject.__)('URL'), + // Ensure input always has an accessible label + 'aria-expanded': showSuggestions, + 'aria-autocomplete': 'list', + 'aria-owns': suggestionsListboxId, + 'aria-activedescendant': selectedSuggestion !== null ? `${suggestionOptionIdPrefix}-${selectedSuggestion}` : undefined, + ref: this.inputRef + }; + if (renderControl) { + return renderControl(controlProps, inputProps, loading); + } + if (!__nextHasNoMarginBottom) { + external_wp_deprecated_default()('Bottom margin styles for wp.blockEditor.URLInput', { + since: '6.2', + version: '6.5', + hint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version' + }); + } + return (0,external_React_.createElement)(external_wp_components_namespaceObject.BaseControl, { + __nextHasNoMarginBottom: __nextHasNoMarginBottom, + ...controlProps + }, (0,external_React_.createElement)("input", { + ...inputProps + }), loading && (0,external_React_.createElement)(external_wp_components_namespaceObject.Spinner, null)); + } + renderSuggestions() { + const { + className, + __experimentalRenderSuggestions: renderSuggestions + } = this.props; + const { + showSuggestions, + suggestions, + suggestionsValue, + selectedSuggestion, + suggestionsListboxId, + suggestionOptionIdPrefix, + loading + } = this.state; + if (!showSuggestions || suggestions.length === 0) { + return null; + } + const suggestionsListProps = { + id: suggestionsListboxId, + ref: this.autocompleteRef, + role: 'listbox' + }; + const buildSuggestionItemProps = (suggestion, index) => { + return { + role: 'option', + tabIndex: '-1', + id: `${suggestionOptionIdPrefix}-${index}`, + ref: this.bindSuggestionNode(index), + 'aria-selected': index === selectedSuggestion ? true : undefined + }; + }; + if (isFunction(renderSuggestions)) { + return renderSuggestions({ + suggestions, + selectedSuggestion, + suggestionsListProps, + buildSuggestionItemProps, + isLoading: loading, + handleSuggestionClick: this.handleOnClick, + isInitialSuggestions: !suggestionsValue?.length, + currentInputValue: suggestionsValue + }); + } + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover, { + placement: "bottom", + focusOnMount: false + }, (0,external_React_.createElement)("div", { + ...suggestionsListProps, + className: classnames_default()('block-editor-url-input__suggestions', `${className}__suggestions`) + }, suggestions.map((suggestion, index) => (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + ...buildSuggestionItemProps(suggestion, index), + key: suggestion.id, + className: classnames_default()('block-editor-url-input__suggestion', { + 'is-selected': index === selectedSuggestion + }), + onClick: () => this.handleOnClick(suggestion) + }, suggestion.title)))); + } +} + +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-input/README.md + */ +/* harmony default export */ var url_input = ((0,external_wp_compose_namespaceObject.compose)(external_wp_compose_namespaceObject.withSafeTimeout, external_wp_components_namespaceObject.withSpokenMessages, external_wp_compose_namespaceObject.withInstanceId, (0,external_wp_data_namespaceObject.withSelect)((select, props) => { + // If a link suggestions handler is already provided then + // bail. + if (isFunction(props.__experimentalFetchLinkSuggestions)) { + return; + } + const { + getSettings + } = select(store); + return { + __experimentalFetchLinkSuggestions: getSettings().__experimentalFetchLinkSuggestions + }; +}))(URLInput)); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/plus.js + +/** + * WordPress dependencies + */ + +const plus = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z" +})); +/* harmony default export */ var library_plus = (plus); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/search-create-button.js + +/** + * WordPress dependencies + */ + + + + +const LinkControlSearchCreate = ({ + searchTerm, + onClick, + itemProps, + buttonText +}) => { + if (!searchTerm) { + return null; + } + let text; + if (buttonText) { + text = typeof buttonText === 'function' ? buttonText(searchTerm) : buttonText; + } else { + text = (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: search term. */ + (0,external_wp_i18n_namespaceObject.__)('Create: %s'), searchTerm), { + mark: (0,external_React_.createElement)("mark", null) + }); + } + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + ...itemProps, + iconPosition: "left", + icon: library_plus, + className: "block-editor-link-control__search-item", + onClick: onClick + }, text); +}; +/* harmony default export */ var search_create_button = (LinkControlSearchCreate); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-list.js + +/** + * WordPress dependencies + */ + +const postList = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M18 5.5H6a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5ZM6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Zm1 5h1.5v1.5H7V9Zm1.5 4.5H7V15h1.5v-1.5ZM10 9h7v1.5h-7V9Zm7 4.5h-7V15h7v-1.5Z" +})); +/* harmony default export */ var post_list = (postList); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/page.js + +/** + * WordPress dependencies + */ + +const page = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M15.5 7.5h-7V9h7V7.5Zm-7 3.5h7v1.5h-7V11Zm7 3.5h-7V16h7v-1.5Z" +}), (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M17 4H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2ZM7 5.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H7a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5Z" +})); +/* harmony default export */ var library_page = (page); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/tag.js + +/** + * WordPress dependencies + */ + +const tag = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M4.75 4a.75.75 0 0 0-.75.75v7.826c0 .2.08.39.22.53l6.72 6.716a2.313 2.313 0 0 0 3.276-.001l5.61-5.611-.531-.53.532.528a2.315 2.315 0 0 0 0-3.264L13.104 4.22a.75.75 0 0 0-.53-.22H4.75ZM19 12.576a.815.815 0 0 1-.236.574l-5.61 5.611a.814.814 0 0 1-1.153 0L5.5 12.264V5.5h6.763l6.5 6.502a.816.816 0 0 1 .237.574ZM8.75 9.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" +})); +/* harmony default export */ var library_tag = (tag); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/category.js + +/** + * WordPress dependencies + */ + +const category = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z", + fillRule: "evenodd", + clipRule: "evenodd" +})); +/* harmony default export */ var library_category = (category); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/file.js + +/** + * WordPress dependencies + */ + +const file = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M12.848 8a1 1 0 0 1-.914-.594l-.723-1.63a.5.5 0 0 0-.447-.276H5a.5.5 0 0 0-.5.5v11.5a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5v-9A.5.5 0 0 0 19 8h-6.152Zm.612-1.5a.5.5 0 0 1-.462-.31l-.445-1.084A2 2 0 0 0 10.763 4H5a2 2 0 0 0-2 2v11.5a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-5.54Z" +})); +/* harmony default export */ var library_file = (file); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/globe.js + +/** + * WordPress dependencies + */ + +const globe = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M12 3.3c-4.8 0-8.8 3.9-8.8 8.8 0 4.8 3.9 8.8 8.8 8.8 4.8 0 8.8-3.9 8.8-8.8s-4-8.8-8.8-8.8zm6.5 5.5h-2.6C15.4 7.3 14.8 6 14 5c2 .6 3.6 2 4.5 3.8zm.7 3.2c0 .6-.1 1.2-.2 1.8h-2.9c.1-.6.1-1.2.1-1.8s-.1-1.2-.1-1.8H19c.2.6.2 1.2.2 1.8zM12 18.7c-1-.7-1.8-1.9-2.3-3.5h4.6c-.5 1.6-1.3 2.9-2.3 3.5zm-2.6-4.9c-.1-.6-.1-1.1-.1-1.8 0-.6.1-1.2.1-1.8h5.2c.1.6.1 1.1.1 1.8s-.1 1.2-.1 1.8H9.4zM4.8 12c0-.6.1-1.2.2-1.8h2.9c-.1.6-.1 1.2-.1 1.8 0 .6.1 1.2.1 1.8H5c-.2-.6-.2-1.2-.2-1.8zM12 5.3c1 .7 1.8 1.9 2.3 3.5H9.7c.5-1.6 1.3-2.9 2.3-3.5zM10 5c-.8 1-1.4 2.3-1.8 3.8H5.5C6.4 7 8 5.6 10 5zM5.5 15.3h2.6c.4 1.5 1 2.8 1.8 3.7-1.8-.6-3.5-2-4.4-3.7zM14 19c.8-1 1.4-2.2 1.8-3.7h2.6C17.6 17 16 18.4 14 19z" +})); +/* harmony default export */ var library_globe = (globe); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/home.js + +/** + * WordPress dependencies + */ + +const home = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M12 4L4 7.9V20h16V7.9L12 4zm6.5 14.5H14V13h-4v5.5H5.5V8.8L12 5.7l6.5 3.1v9.7z" +})); +/* harmony default export */ var library_home = (home); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/verse.js + +/** + * WordPress dependencies + */ + +const verse = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M17.8 2l-.9.3c-.1 0-3.6 1-5.2 2.1C10 5.5 9.3 6.5 8.9 7.1c-.6.9-1.7 4.7-1.7 6.3l-.9 2.3c-.2.4 0 .8.4 1 .1 0 .2.1.3.1.3 0 .6-.2.7-.5l.6-1.5c.3 0 .7-.1 1.2-.2.7-.1 1.4-.3 2.2-.5.8-.2 1.6-.5 2.4-.8.7-.3 1.4-.7 1.9-1.2s.8-1.2 1-1.9c.2-.7.3-1.6.4-2.4.1-.8.1-1.7.2-2.5 0-.8.1-1.5.2-2.1V2zm-1.9 5.6c-.1.8-.2 1.5-.3 2.1-.2.6-.4 1-.6 1.3-.3.3-.8.6-1.4.9-.7.3-1.4.5-2.2.8-.6.2-1.3.3-1.8.4L15 7.5c.3-.3.6-.7 1-1.1 0 .4 0 .8-.1 1.2zM6 20h8v-1.5H6V20z" +})); +/* harmony default export */ var library_verse = (verse); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/search-item.js + +/** + * WordPress dependencies + */ + + + + + + +const ICONS_MAP = { + post: post_list, + page: library_page, + post_tag: library_tag, + category: library_category, + attachment: library_file +}; +function SearchItemIcon({ + isURL, + suggestion +}) { + let icon = null; + if (isURL) { + icon = library_globe; + } else if (suggestion.type in ICONS_MAP) { + icon = ICONS_MAP[suggestion.type]; + if (suggestion.type === 'page') { + if (suggestion.isFrontPage) { + icon = library_home; + } + if (suggestion.isBlogHome) { + icon = library_verse; + } + } + } + if (icon) { + return (0,external_React_.createElement)(build_module_icon, { + className: "block-editor-link-control__search-item-icon", + icon: icon + }); + } + return null; +} + +/** + * Adds a leading slash to a url if it doesn't already have one. + * @param {string} url the url to add a leading slash to. + * @return {string} the url with a leading slash. + */ +function addLeadingSlash(url) { + const trimmedURL = url?.trim(); + if (!trimmedURL?.length) return url; + return url?.replace(/^\/?/, '/'); +} +function removeTrailingSlash(url) { + const trimmedURL = url?.trim(); + if (!trimmedURL?.length) return url; + return url?.replace(/\/$/, ''); +} +const partialRight = (fn, ...partialArgs) => (...args) => fn(...args, ...partialArgs); +const defaultTo = d => v => { + return v === null || v === undefined || v !== v ? d : v; +}; + +/** + * Prepares a URL for display in the UI. + * - decodes the URL. + * - filters it (removes protocol, www, etc.). + * - truncates it if necessary. + * - adds a leading slash. + * @param {string} url the url. + * @return {string} the processed url to display. + */ +function getURLForDisplay(url) { + if (!url) return url; + return (0,external_wp_compose_namespaceObject.pipe)(external_wp_url_namespaceObject.safeDecodeURI, external_wp_url_namespaceObject.getPath, defaultTo(''), partialRight(external_wp_url_namespaceObject.filterURLForDisplay, 24), removeTrailingSlash, addLeadingSlash)(url); +} +const LinkControlSearchItem = ({ + itemProps, + suggestion, + searchTerm, + onClick, + isURL = false, + shouldShowType = false +}) => { + const info = isURL ? (0,external_wp_i18n_namespaceObject.__)('Press ENTER to add this link') : getURLForDisplay(suggestion.url); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + ...itemProps, + info: info, + iconPosition: "left", + icon: (0,external_React_.createElement)(SearchItemIcon, { + suggestion: suggestion, + isURL: isURL + }), + onClick: onClick, + shortcut: shouldShowType && getVisualTypeName(suggestion), + className: "block-editor-link-control__search-item" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.TextHighlight + // The component expects a plain text string. + , { + text: (0,external_wp_dom_namespaceObject.__unstableStripHTML)(suggestion.title), + highlight: searchTerm + })); +}; +function getVisualTypeName(suggestion) { + if (suggestion.isFrontPage) { + return 'front page'; + } + if (suggestion.isBlogHome) { + return 'blog home'; + } + + // Rename 'post_tag' to 'tag'. Ideally, the API would return the localised CPT or taxonomy label. + return suggestion.type === 'post_tag' ? 'tag' : suggestion.type; +} +/* harmony default export */ var search_item = (LinkControlSearchItem); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/constants.js +/** + * WordPress dependencies + */ + + +// Used as a unique identifier for the "Create" option within search results. +// Used to help distinguish the "Create" suggestion within the search results in +// order to handle it as a unique case. +const CREATE_TYPE = '__CREATE__'; +const TEL_TYPE = 'tel'; +const URL_TYPE = 'link'; +const MAILTO_TYPE = 'mailto'; +const INTERNAL_TYPE = 'internal'; +const LINK_ENTRY_TYPES = [URL_TYPE, MAILTO_TYPE, TEL_TYPE, INTERNAL_TYPE]; +const DEFAULT_LINK_SETTINGS = [{ + id: 'opensInNewTab', + title: (0,external_wp_i18n_namespaceObject.__)('Open in new tab') +}]; + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/search-results.js + +/** + * WordPress dependencies + */ + + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + +function LinkControlSearchResults({ + instanceId, + withCreateSuggestion, + currentInputValue, + handleSuggestionClick, + suggestionsListProps, + buildSuggestionItemProps, + suggestions, + selectedSuggestion, + isLoading, + isInitialSuggestions, + createSuggestionButtonText, + suggestionsQuery +}) { + const resultsListClasses = classnames_default()('block-editor-link-control__search-results', { + 'is-loading': isLoading + }); + const isSingleDirectEntryResult = suggestions.length === 1 && LINK_ENTRY_TYPES.includes(suggestions[0].type); + const shouldShowCreateSuggestion = withCreateSuggestion && !isSingleDirectEntryResult && !isInitialSuggestions; + // If the query has a specified type, then we can skip showing them in the result. See #24839. + const shouldShowSuggestionsTypes = !suggestionsQuery?.type; + + // According to guidelines aria-label should be added if the label + // itself is not visible. + // See: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role + const searchResultsLabelId = `block-editor-link-control-search-results-label-${instanceId}`; + const labelText = isInitialSuggestions ? (0,external_wp_i18n_namespaceObject.__)('Suggestions') : (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: search term. */ + (0,external_wp_i18n_namespaceObject.__)('Search results for "%s"'), currentInputValue); + const searchResultsLabel = (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + id: searchResultsLabelId + }, labelText); + return (0,external_React_.createElement)("div", { + className: "block-editor-link-control__search-results-wrapper" + }, searchResultsLabel, (0,external_React_.createElement)("div", { + ...suggestionsListProps, + className: resultsListClasses, + "aria-labelledby": searchResultsLabelId + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, null, suggestions.map((suggestion, index) => { + if (shouldShowCreateSuggestion && CREATE_TYPE === suggestion.type) { + return (0,external_React_.createElement)(search_create_button, { + searchTerm: currentInputValue, + buttonText: createSuggestionButtonText, + onClick: () => handleSuggestionClick(suggestion) + // Intentionally only using `type` here as + // the constant is enough to uniquely + // identify the single "CREATE" suggestion. + , + key: suggestion.type, + itemProps: buildSuggestionItemProps(suggestion, index), + isSelected: index === selectedSuggestion + }); + } + + // If we're not handling "Create" suggestions above then + // we don't want them in the main results so exit early. + if (CREATE_TYPE === suggestion.type) { + return null; + } + return (0,external_React_.createElement)(search_item, { + key: `${suggestion.id}-${suggestion.type}`, + itemProps: buildSuggestionItemProps(suggestion, index), + suggestion: suggestion, + index: index, + onClick: () => { + handleSuggestionClick(suggestion); + }, + isSelected: index === selectedSuggestion, + isURL: LINK_ENTRY_TYPES.includes(suggestion.type), + searchTerm: currentInputValue, + shouldShowType: shouldShowSuggestionsTypes, + isFrontPage: suggestion?.isFrontPage, + isBlogHome: suggestion?.isBlogHome + }); + })))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/is-url-like.js +/** + * WordPress dependencies + */ + + +/** + * Determines whether a given value could be a URL. Note this does not + * guarantee the value is a URL only that it looks like it might be one. For + * example, just because a string has `www.` in it doesn't make it a URL, + * but it does make it highly likely that it will be so in the context of + * creating a link it makes sense to treat it like one. + * + * @param {string} val the candidate for being URL-like (or not). + * + * @return {boolean} whether or not the value is potentially a URL. + */ +function isURLLike(val) { + const hasSpaces = val.includes(' '); + if (hasSpaces) { + return false; + } + const protocol = (0,external_wp_url_namespaceObject.getProtocol)(val); + const protocolIsValid = (0,external_wp_url_namespaceObject.isValidProtocol)(protocol); + const mayBeTLD = hasPossibleTLD(val); + const isWWW = val?.startsWith('www.'); + const isInternal = val?.startsWith('#') && (0,external_wp_url_namespaceObject.isValidFragment)(val); + return protocolIsValid || isWWW || isInternal || mayBeTLD; +} + +/** + * Checks if a given URL has a valid Top-Level Domain (TLD). + * + * @param {string} url - The URL to check. + * @param {number} maxLength - The maximum length of the TLD. + * @return {boolean} Returns true if the URL has a valid TLD, false otherwise. + */ +function hasPossibleTLD(url, maxLength = 6) { + // Clean the URL by removing anything after the first occurrence of "?" or "#". + const cleanedURL = url.split(/[?#]/)[0]; + + // Regular expression explanation: + // - (?<=\S) : Positive lookbehind assertion to ensure there is at least one non-whitespace character before the TLD + // - \. : Matches a literal dot (.) + // - [a-zA-Z_]{2,maxLength} : Matches 2 to maxLength letters or underscores, representing the TLD + // - (?:\/|$) : Non-capturing group that matches either a forward slash (/) or the end of the string + const regex = new RegExp(`(?<=\\S)\\.(?:[a-zA-Z_]{2,${maxLength}})(?:\\/|$)`); + return regex.test(cleanedURL); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-search-handler.js +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + +const handleNoop = () => Promise.resolve([]); +const handleDirectEntry = val => { + let type = URL_TYPE; + const protocol = (0,external_wp_url_namespaceObject.getProtocol)(val) || ''; + if (protocol.includes('mailto')) { + type = MAILTO_TYPE; + } + if (protocol.includes('tel')) { + type = TEL_TYPE; + } + if (val?.startsWith('#')) { + type = INTERNAL_TYPE; + } + return Promise.resolve([{ + id: val, + title: val, + url: type === 'URL' ? (0,external_wp_url_namespaceObject.prependHTTP)(val) : val, + type + }]); +}; +const handleEntitySearch = async (val, suggestionsQuery, fetchSearchSuggestions, withCreateSuggestion, pageOnFront, pageForPosts) => { + const { + isInitialSuggestions + } = suggestionsQuery; + const results = await fetchSearchSuggestions(val, suggestionsQuery); + + // Identify front page and update type to match. + results.map(result => { + if (Number(result.id) === pageOnFront) { + result.isFrontPage = true; + return result; + } else if (Number(result.id) === pageForPosts) { + result.isBlogHome = true; + return result; + } + return result; + }); + + // If displaying initial suggestions just return plain results. + if (isInitialSuggestions) { + return results; + } + + // Here we append a faux suggestion to represent a "CREATE" option. This + // is detected in the rendering of the search results and handled as a + // special case. This is currently necessary because the suggestions + // dropdown will only appear if there are valid suggestions and + // therefore unless the create option is a suggestion it will not + // display in scenarios where there are no results returned from the + // API. In addition promoting CREATE to a first class suggestion affords + // the a11y benefits afforded by `URLInput` to all suggestions (eg: + // keyboard handling, ARIA roles...etc). + // + // Note also that the value of the `title` and `url` properties must correspond + // to the text value of the ``. This is because `title` is used + // when creating the suggestion. Similarly `url` is used when using keyboard to select + // the suggestion (the
    `onSubmit` handler falls-back to `url`). + return isURLLike(val) || !withCreateSuggestion ? results : results.concat({ + // the `id` prop is intentionally ommitted here because it + // is never exposed as part of the component's public API. + // see: https://github.com/WordPress/gutenberg/pull/19775#discussion_r378931316. + title: val, + // Must match the existing ``s text value. + url: val, + // Must match the existing ``s text value. + type: CREATE_TYPE + }); +}; +function useSearchHandler(suggestionsQuery, allowDirectEntry, withCreateSuggestion) { + const { + fetchSearchSuggestions, + pageOnFront, + pageForPosts + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getSettings + } = select(store); + return { + pageOnFront: getSettings().pageOnFront, + pageForPosts: getSettings().pageForPosts, + fetchSearchSuggestions: getSettings().__experimentalFetchLinkSuggestions + }; + }, []); + const directEntryHandler = allowDirectEntry ? handleDirectEntry : handleNoop; + return (0,external_wp_element_namespaceObject.useCallback)((val, { + isInitialSuggestions + }) => { + return isURLLike(val) ? directEntryHandler(val, { + isInitialSuggestions + }) : handleEntitySearch(val, { + ...suggestionsQuery, + isInitialSuggestions + }, fetchSearchSuggestions, withCreateSuggestion, pageOnFront, pageForPosts); + }, [directEntryHandler, fetchSearchSuggestions, pageOnFront, pageForPosts, suggestionsQuery, withCreateSuggestion]); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/search-input.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + +// Must be a function as otherwise URLInput will default +// to the fetchLinkSuggestions passed in block editor settings +// which will cause an unintended http request. +const noopSearchHandler = () => Promise.resolve([]); +const noop = () => {}; +const LinkControlSearchInput = (0,external_wp_element_namespaceObject.forwardRef)(({ + value, + children, + currentLink = {}, + className = null, + placeholder = null, + withCreateSuggestion = false, + onCreateSuggestion = noop, + onChange = noop, + onSelect = noop, + showSuggestions = true, + renderSuggestions = props => (0,external_React_.createElement)(LinkControlSearchResults, { + ...props + }), + fetchSuggestions = null, + allowDirectEntry = true, + showInitialSuggestions = false, + suggestionsQuery = {}, + withURLSuggestion = true, + createSuggestionButtonText, + hideLabelFromVision = false +}, ref) => { + const genericSearchHandler = useSearchHandler(suggestionsQuery, allowDirectEntry, withCreateSuggestion, withURLSuggestion); + const searchHandler = showSuggestions ? fetchSuggestions || genericSearchHandler : noopSearchHandler; + const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(LinkControlSearchInput); + const [focusedSuggestion, setFocusedSuggestion] = (0,external_wp_element_namespaceObject.useState)(); + + /** + * Handles the user moving between different suggestions. Does not handle + * choosing an individual item. + * + * @param {string} selection the url of the selected suggestion. + * @param {Object} suggestion the suggestion object. + */ + const onInputChange = (selection, suggestion) => { + onChange(selection); + setFocusedSuggestion(suggestion); + }; + const handleRenderSuggestions = props => renderSuggestions({ + ...props, + instanceId, + withCreateSuggestion, + createSuggestionButtonText, + suggestionsQuery, + handleSuggestionClick: suggestion => { + if (props.handleSuggestionClick) { + props.handleSuggestionClick(suggestion); + } + onSuggestionSelected(suggestion); + } + }); + const onSuggestionSelected = async selectedSuggestion => { + let suggestion = selectedSuggestion; + if (CREATE_TYPE === selectedSuggestion.type) { + // Create a new page and call onSelect with the output from the onCreateSuggestion callback. + try { + suggestion = await onCreateSuggestion(selectedSuggestion.title); + if (suggestion?.url) { + onSelect(suggestion); + } + } catch (e) {} + return; + } + if (allowDirectEntry || suggestion && Object.keys(suggestion).length >= 1) { + const { + id, + url, + ...restLinkProps + } = currentLink !== null && currentLink !== void 0 ? currentLink : {}; + onSelect( + // Some direct entries don't have types or IDs, and we still need to clear the previous ones. + { + ...restLinkProps, + ...suggestion + }, suggestion); + } + }; + return (0,external_React_.createElement)("div", { + className: "block-editor-link-control__search-input-container" + }, (0,external_React_.createElement)(url_input, { + disableSuggestions: currentLink?.url === value, + __nextHasNoMarginBottom: true, + label: (0,external_wp_i18n_namespaceObject.__)('Link'), + hideLabelFromVision: hideLabelFromVision, + className: className, + value: value, + onChange: onInputChange, + placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : (0,external_wp_i18n_namespaceObject.__)('Search or type url'), + __experimentalRenderSuggestions: showSuggestions ? handleRenderSuggestions : null, + __experimentalFetchLinkSuggestions: searchHandler, + __experimentalHandleURLSuggestions: true, + __experimentalShowInitialSuggestions: showInitialSuggestions, + onSubmit: (suggestion, event) => { + const hasSuggestion = suggestion || focusedSuggestion; + + // If there is no suggestion and the value (ie: any manually entered URL) is empty + // then don't allow submission otherwise we get empty links. + if (!hasSuggestion && !value?.trim()?.length) { + event.preventDefault(); + } else { + onSuggestionSelected(hasSuggestion || { + url: value + }); + } + }, + ref: ref + }), children); +}); +/* harmony default export */ var search_input = (LinkControlSearchInput); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/info.js + +/** + * WordPress dependencies + */ + +const info = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M12 3.2c-4.8 0-8.8 3.9-8.8 8.8 0 4.8 3.9 8.8 8.8 8.8 4.8 0 8.8-3.9 8.8-8.8 0-4.8-4-8.8-8.8-8.8zm0 16c-4 0-7.2-3.3-7.2-7.2C4.8 8 8 4.8 12 4.8s7.2 3.3 7.2 7.2c0 4-3.2 7.2-7.2 7.2zM11 17h2v-6h-2v6zm0-8h2V7h-2v2z" +})); +/* harmony default export */ var library_info = (info); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pencil.js + +/** + * WordPress dependencies + */ + +const pencil = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z" +})); +/* harmony default export */ var library_pencil = (pencil); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/edit.js +/** + * Internal dependencies + */ + + +/* harmony default export */ var edit = (library_pencil); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/link-off.js + +/** + * WordPress dependencies + */ + +const linkOff = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M17.031 4.703 15.576 4l-1.56 3H14v.03l-2.324 4.47H9.5V13h1.396l-1.502 2.889h-.95a3.694 3.694 0 0 1 0-7.389H10V7H8.444a5.194 5.194 0 1 0 0 10.389h.17L7.5 19.53l1.416.719L15.049 8.5h.507a3.694 3.694 0 0 1 0 7.39H14v1.5h1.556a5.194 5.194 0 0 0 .273-10.383l1.202-2.304Z" +})); +/* harmony default export */ var link_off = (linkOff); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/copy.js + +/** + * WordPress dependencies + */ + +const copy_copy = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M5 4.5h11a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 1 .5-.5ZM3 5a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm17 3v10.75c0 .69-.56 1.25-1.25 1.25H6v1.5h12.75a2.75 2.75 0 0 0 2.75-2.75V8H20Z" +})); +/* harmony default export */ var library_copy = (copy_copy); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/viewer-slot.js +/** + * WordPress dependencies + */ + +const { + Slot: ViewerSlot, + Fill: ViewerFill +} = (0,external_wp_components_namespaceObject.createSlotFill)('BlockEditorLinkControlViewer'); + +/* harmony default export */ var viewer_slot = ((/* unused pure expression or super */ null && (ViewerSlot))); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-rich-url-data.js +/** + * Internal dependencies + */ + + +/** + * WordPress dependencies + */ + + +function use_rich_url_data_reducer(state, action) { + switch (action.type) { + case 'RESOLVED': + return { + ...state, + isFetching: false, + richData: action.richData + }; + case 'ERROR': + return { + ...state, + isFetching: false, + richData: null + }; + case 'LOADING': + return { + ...state, + isFetching: true + }; + default: + throw new Error(`Unexpected action type ${action.type}`); + } +} +function useRemoteUrlData(url) { + const [state, dispatch] = (0,external_wp_element_namespaceObject.useReducer)(use_rich_url_data_reducer, { + richData: null, + isFetching: false + }); + const { + fetchRichUrlData + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getSettings + } = select(store); + return { + fetchRichUrlData: getSettings().__experimentalFetchRichUrlData + }; + }, []); + (0,external_wp_element_namespaceObject.useEffect)(() => { + // Only make the request if we have an actual URL + // and the fetching util is available. In some editors + // there may not be such a util. + if (url?.length && fetchRichUrlData && typeof AbortController !== 'undefined') { + dispatch({ + type: 'LOADING' + }); + const controller = new window.AbortController(); + const signal = controller.signal; + fetchRichUrlData(url, { + signal + }).then(urlData => { + dispatch({ + type: 'RESOLVED', + richData: urlData + }); + }).catch(() => { + // Avoid setting state on unmounted component + if (!signal.aborted) { + dispatch({ + type: 'ERROR' + }); + } + }); + // Cleanup: when the URL changes the abort the current request. + return () => { + controller.abort(); + }; + } + }, [url]); + return state; +} +/* harmony default export */ var use_rich_url_data = (useRemoteUrlData); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/link-preview.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + + +/** + * Internal dependencies + */ + + +function LinkPreview({ + value, + onEditClick, + hasRichPreviews = false, + hasUnlinkControl = false, + onRemove, + additionalControls +}) { + // Avoid fetching if rich previews are not desired. + const showRichPreviews = hasRichPreviews ? value?.url : null; + const { + richData, + isFetching + } = use_rich_url_data(showRichPreviews); + + // Rich data may be an empty object so test for that. + const hasRichData = richData && Object.keys(richData).length; + const displayURL = value && (0,external_wp_url_namespaceObject.filterURLForDisplay)((0,external_wp_url_namespaceObject.safeDecodeURI)(value.url), 24) || ''; + + // url can be undefined if the href attribute is unset + const isEmptyURL = !value?.url?.length; + const displayTitle = !isEmptyURL && (0,external_wp_dom_namespaceObject.__unstableStripHTML)(richData?.title || value?.title || displayURL); + let icon; + if (richData?.icon) { + icon = (0,external_React_.createElement)("img", { + src: richData?.icon, + alt: "" + }); + } else if (isEmptyURL) { + icon = (0,external_React_.createElement)(build_module_icon, { + icon: library_info, + size: 32 + }); + } else { + icon = (0,external_React_.createElement)(build_module_icon, { + icon: library_globe + }); + } + const { + createNotice + } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); + const ref = (0,external_wp_compose_namespaceObject.useCopyToClipboard)(value.url, () => { + createNotice('info', (0,external_wp_i18n_namespaceObject.__)('Copied URL to clipboard.'), { + isDismissible: true, + type: 'snackbar' + }); + }); + return (0,external_React_.createElement)("div", { + "aria-label": (0,external_wp_i18n_namespaceObject.__)('Currently selected'), + className: classnames_default()('block-editor-link-control__search-item', { + 'is-current': true, + 'is-rich': hasRichData, + 'is-fetching': !!isFetching, + 'is-preview': true, + 'is-error': isEmptyURL, + 'is-url-title': displayTitle === displayURL + }) + }, (0,external_React_.createElement)("div", { + className: "block-editor-link-control__search-item-top" + }, (0,external_React_.createElement)("span", { + className: "block-editor-link-control__search-item-header" + }, (0,external_React_.createElement)("span", { + className: classnames_default()('block-editor-link-control__search-item-icon', { + 'is-image': richData?.icon + }) + }, icon), (0,external_React_.createElement)("span", { + className: "block-editor-link-control__search-item-details" + }, !isEmptyURL ? (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.Tooltip, { + text: value.url + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.ExternalLink, { + className: "block-editor-link-control__search-item-title", + href: value.url + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { + numberOfLines: 1 + }, displayTitle))), value?.url && displayTitle !== displayURL && (0,external_React_.createElement)("span", { + className: "block-editor-link-control__search-item-info" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { + numberOfLines: 1 + }, displayURL))) : (0,external_React_.createElement)("span", { + className: "block-editor-link-control__search-item-error-notice" + }, (0,external_wp_i18n_namespaceObject.__)('Link is empty')))), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + icon: edit, + label: (0,external_wp_i18n_namespaceObject.__)('Edit'), + className: "block-editor-link-control__search-item-action", + onClick: onEditClick, + size: "compact" + }), hasUnlinkControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + icon: link_off, + label: (0,external_wp_i18n_namespaceObject.__)('Unlink'), + className: "block-editor-link-control__search-item-action block-editor-link-control__unlink", + onClick: onRemove, + size: "compact" + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + icon: library_copy, + label: (0,external_wp_i18n_namespaceObject.__)('Copy URL'), + className: "block-editor-link-control__search-item-action block-editor-link-control__copy", + ref: ref, + disabled: isEmptyURL, + size: "compact" + }), (0,external_React_.createElement)(ViewerSlot, { + fillProps: value + })), additionalControls && additionalControls()); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/settings.js + +/** + * WordPress dependencies + */ + + +const settings_noop = () => {}; +const LinkControlSettings = ({ + value, + onChange = settings_noop, + settings +}) => { + if (!settings || !settings.length) { + return null; + } + const handleSettingChange = setting => newValue => { + onChange({ + ...value, + [setting.id]: newValue + }); + }; + const theSettings = settings.map(setting => (0,external_React_.createElement)(external_wp_components_namespaceObject.CheckboxControl, { + __nextHasNoMarginBottom: true, + className: "block-editor-link-control__setting", + key: setting.id, + label: setting.title, + onChange: handleSettingChange(setting), + checked: value ? !!value[setting.id] : false, + help: setting?.help + })); + return (0,external_React_.createElement)("fieldset", { + className: "block-editor-link-control__settings" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + as: "legend" + }, (0,external_wp_i18n_namespaceObject.__)('Currently selected link settings')), theSettings); +}; +/* harmony default export */ var link_control_settings = (LinkControlSettings); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-create-page.js +/** + * WordPress dependencies + */ + + +function useCreatePage(handleCreatePage) { + const cancelableCreateSuggestion = (0,external_wp_element_namespaceObject.useRef)(); + const [isCreatingPage, setIsCreatingPage] = (0,external_wp_element_namespaceObject.useState)(false); + const [errorMessage, setErrorMessage] = (0,external_wp_element_namespaceObject.useState)(null); + const createPage = async function (suggestionTitle) { + setIsCreatingPage(true); + setErrorMessage(null); + try { + // Make cancellable in order that we can avoid setting State + // if the component unmounts during the call to `createSuggestion` + cancelableCreateSuggestion.current = makeCancelable( + // Using Promise.resolve to allow createSuggestion to return a + // non-Promise based value. + Promise.resolve(handleCreatePage(suggestionTitle))); + return await cancelableCreateSuggestion.current.promise; + } catch (error) { + if (error && error.isCanceled) { + return; // bail if canceled to avoid setting state + } + + setErrorMessage(error.message || (0,external_wp_i18n_namespaceObject.__)('An unknown error occurred during creation. Please try again.')); + throw error; + } finally { + setIsCreatingPage(false); + } + }; + + /** + * Handles cancelling any pending Promises that have been made cancelable. + */ + (0,external_wp_element_namespaceObject.useEffect)(() => { + return () => { + // componentDidUnmount + if (cancelableCreateSuggestion.current) { + cancelableCreateSuggestion.current.cancel(); + } + }; + }, []); + return { + createPage, + isCreatingPage, + errorMessage + }; +} + +/** + * Creates a wrapper around a promise which allows it to be programmatically + * cancelled. + * See: https://reactjs.org/blog/2015/12/16/ismounted-antipattern.html + * + * @param {Promise} promise the Promise to make cancelable + */ +const makeCancelable = promise => { + let hasCanceled_ = false; + const wrappedPromise = new Promise((resolve, reject) => { + promise.then(val => hasCanceled_ ? reject({ + isCanceled: true + }) : resolve(val), error => hasCanceled_ ? reject({ + isCanceled: true + }) : reject(error)); + }); + return { + promise: wrappedPromise, + cancel() { + hasCanceled_ = true; + } + }; +}; + +// EXTERNAL MODULE: ./node_modules/fast-deep-equal/index.js +var fast_deep_equal = __webpack_require__(2303); +var fast_deep_equal_default = /*#__PURE__*/__webpack_require__.n(fast_deep_equal); +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-internal-value.js +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + +function useInternalValue(value) { + const [internalValue, setInternalValue] = (0,external_wp_element_namespaceObject.useState)(value || {}); + const [previousValue, setPreviousValue] = (0,external_wp_element_namespaceObject.useState)(value); + + // If the value prop changes, update the internal state. + // See: + // - https://github.com/WordPress/gutenberg/pull/51387#issuecomment-1722927384. + // - https://react.dev/reference/react/useState#storing-information-from-previous-renders. + if (!fast_deep_equal_default()(value, previousValue)) { + setPreviousValue(value); + setInternalValue(value); + } + const setInternalURLInputValue = nextValue => { + setInternalValue({ + ...internalValue, + url: nextValue + }); + }; + const setInternalTextInputValue = nextValue => { + setInternalValue({ + ...internalValue, + title: nextValue + }); + }; + const createSetInternalSettingValueHandler = settingsKeys => nextValue => { + // Only apply settings values which are defined in the settings prop. + const settingsUpdates = Object.keys(nextValue).reduce((acc, key) => { + if (settingsKeys.includes(key)) { + acc[key] = nextValue[key]; + } + return acc; + }, {}); + setInternalValue({ + ...internalValue, + ...settingsUpdates + }); + }; + return [internalValue, setInternalValue, setInternalURLInputValue, setInternalTextInputValue, createSetInternalSettingValueHandler]; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/index.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + + + +/** + * Internal dependencies + */ + + + + + + + + + +/** + * Default properties associated with a link control value. + * + * @typedef WPLinkControlDefaultValue + * + * @property {string} url Link URL. + * @property {string=} title Link title. + * @property {boolean=} opensInNewTab Whether link should open in a new browser + * tab. This value is only assigned if not + * providing a custom `settings` prop. + */ + +/* eslint-disable jsdoc/valid-types */ +/** + * Custom settings values associated with a link. + * + * @typedef {{[setting:string]:any}} WPLinkControlSettingsValue + */ +/* eslint-enable */ + +/** + * Custom settings values associated with a link. + * + * @typedef WPLinkControlSetting + * + * @property {string} id Identifier to use as property for setting value. + * @property {string} title Human-readable label to show in user interface. + */ + +/** + * Properties associated with a link control value, composed as a union of the + * default properties and any custom settings values. + * + * @typedef {WPLinkControlDefaultValue&WPLinkControlSettingsValue} WPLinkControlValue + */ + +/** @typedef {(nextValue:WPLinkControlValue)=>void} WPLinkControlOnChangeProp */ + +/** + * Properties associated with a search suggestion used within the LinkControl. + * + * @typedef WPLinkControlSuggestion + * + * @property {string} id Identifier to use to uniquely identify the suggestion. + * @property {string} type Identifies the type of the suggestion (eg: `post`, + * `page`, `url`...etc) + * @property {string} title Human-readable label to show in user interface. + * @property {string} url A URL for the suggestion. + */ + +/** @typedef {(title:string)=>WPLinkControlSuggestion} WPLinkControlCreateSuggestionProp */ + +/** + * @typedef WPLinkControlProps + * + * @property {(WPLinkControlSetting[])=} settings An array of settings objects. Each object will used to + * render a `ToggleControl` for that setting. + * @property {boolean=} forceIsEditingLink If passed as either `true` or `false`, controls the + * internal editing state of the component to respective + * show or not show the URL input field. + * @property {WPLinkControlValue=} value Current link value. + * @property {WPLinkControlOnChangeProp=} onChange Value change handler, called with the updated value if + * the user selects a new link or updates settings. + * @property {boolean=} noDirectEntry Whether to allow turning a URL-like search query directly into a link. + * @property {boolean=} showSuggestions Whether to present suggestions when typing the URL. + * @property {boolean=} showInitialSuggestions Whether to present initial suggestions immediately. + * @property {boolean=} withCreateSuggestion Whether to allow creation of link value from suggestion. + * @property {Object=} suggestionsQuery Query parameters to pass along to wp.blockEditor.__experimentalFetchLinkSuggestions. + * @property {boolean=} noURLSuggestion Whether to add a fallback suggestion which treats the search query as a URL. + * @property {boolean=} hasTextControl Whether to add a text field to the UI to update the value.title. + * @property {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion. + * @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component. + */ + +const link_control_noop = () => {}; +const PREFERENCE_SCOPE = 'core/block-editor'; +const PREFERENCE_KEY = 'linkControlSettingsDrawer'; + +/** + * Renders a link control. A link control is a controlled input which maintains + * a value associated with a link (HTML anchor element) and relevant settings + * for how that link is expected to behave. + * + * @param {WPLinkControlProps} props Component props. + */ +function LinkControl({ + searchInputPlaceholder, + value, + settings = DEFAULT_LINK_SETTINGS, + onChange = link_control_noop, + onRemove, + onCancel, + noDirectEntry = false, + showSuggestions = true, + showInitialSuggestions, + forceIsEditingLink, + createSuggestion, + withCreateSuggestion, + inputValue: propInputValue = '', + suggestionsQuery = {}, + noURLSuggestion = false, + createSuggestionButtonText, + hasRichPreviews = false, + hasTextControl = false, + renderControlBottom = null +}) { + if (withCreateSuggestion === undefined && createSuggestion) { + withCreateSuggestion = true; + } + const [settingsOpen, setSettingsOpen] = (0,external_wp_element_namespaceObject.useState)(false); + const { + advancedSettingsPreference + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + var _prefsStore$get; + const prefsStore = select(external_wp_preferences_namespaceObject.store); + return { + advancedSettingsPreference: (_prefsStore$get = prefsStore.get(PREFERENCE_SCOPE, PREFERENCE_KEY)) !== null && _prefsStore$get !== void 0 ? _prefsStore$get : false + }; + }, []); + const { + set: setPreference + } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_preferences_namespaceObject.store); + + /** + * Sets the open/closed state of the Advanced Settings Drawer, + * optionlly persisting the state to the user's preferences. + * + * Note that Block Editor components can be consumed by non-WordPress + * environments which may not have preferences setup. + * Therefore a local state is also used as a fallback. + * + * @param {boolean} prefVal the open/closed state of the Advanced Settings Drawer. + */ + const setSettingsOpenWithPreference = prefVal => { + if (setPreference) { + setPreference(PREFERENCE_SCOPE, PREFERENCE_KEY, prefVal); + } + setSettingsOpen(prefVal); + }; + + // Block Editor components can be consumed by non-WordPress environments + // which may not have these preferences setup. + // Therefore a local state is used as a fallback. + const isSettingsOpen = advancedSettingsPreference || settingsOpen; + const isMounting = (0,external_wp_element_namespaceObject.useRef)(true); + const wrapperNode = (0,external_wp_element_namespaceObject.useRef)(); + const textInputRef = (0,external_wp_element_namespaceObject.useRef)(); + const isEndingEditWithFocus = (0,external_wp_element_namespaceObject.useRef)(false); + const settingsKeys = settings.map(({ + id + }) => id); + const [internalControlValue, setInternalControlValue, setInternalURLInputValue, setInternalTextInputValue, createSetInternalSettingValueHandler] = useInternalValue(value); + const valueHasChanges = value && !(0,external_wp_isShallowEqual_namespaceObject.isShallowEqualObjects)(internalControlValue, value); + const [isEditingLink, setIsEditingLink] = (0,external_wp_element_namespaceObject.useState)(forceIsEditingLink !== undefined ? forceIsEditingLink : !value || !value.url); + const { + createPage, + isCreatingPage, + errorMessage + } = useCreatePage(createSuggestion); + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (forceIsEditingLink === undefined) { + return; + } + setIsEditingLink(forceIsEditingLink); + }, [forceIsEditingLink]); + (0,external_wp_element_namespaceObject.useEffect)(() => { + // We don't auto focus into the Link UI on mount + // because otherwise using the keyboard to select text + // *within* the link format is not possible. + if (isMounting.current) { + isMounting.current = false; + return; + } + + // Scenario - when: + // - switching between editable and non editable LinkControl + // - clicking on a link + // ...then move focus to the *first* element to avoid focus loss + // and to ensure focus is *within* the Link UI. + const nextFocusTarget = external_wp_dom_namespaceObject.focus.focusable.find(wrapperNode.current)[0] || wrapperNode.current; + nextFocusTarget.focus(); + isEndingEditWithFocus.current = false; + }, [isEditingLink, isCreatingPage]); + const hasLinkValue = value?.url?.trim()?.length > 0; + + /** + * Cancels editing state and marks that focus may need to be restored after + * the next render, if focus was within the wrapper when editing finished. + */ + const stopEditing = () => { + isEndingEditWithFocus.current = !!wrapperNode.current?.contains(wrapperNode.current.ownerDocument.activeElement); + setIsEditingLink(false); + }; + const handleSelectSuggestion = updatedValue => { + // Suggestions may contains "settings" values (e.g. `opensInNewTab`) + // which should not overide any existing settings values set by the + // user. This filters out any settings values from the suggestion. + const nonSettingsChanges = Object.keys(updatedValue).reduce((acc, key) => { + if (!settingsKeys.includes(key)) { + acc[key] = updatedValue[key]; + } + return acc; + }, {}); + onChange({ + ...internalControlValue, + ...nonSettingsChanges, + // As title is not a setting, it must be manually applied + // in such a way as to preserve the users changes over + // any "title" value provided by the "suggestion". + title: internalControlValue?.title || updatedValue?.title + }); + stopEditing(); + }; + const handleSubmit = () => { + if (valueHasChanges) { + // Submit the original value with new stored values applied + // on top. URL is a special case as it may also be a prop. + onChange({ + ...value, + ...internalControlValue, + url: currentUrlInputValue + }); + } + stopEditing(); + }; + const handleSubmitWithEnter = event => { + const { + keyCode + } = event; + if (keyCode === external_wp_keycodes_namespaceObject.ENTER && !currentInputIsEmpty // Disallow submitting empty values. + ) { + event.preventDefault(); + handleSubmit(); + } + }; + const resetInternalValues = () => { + setInternalControlValue(value); + }; + const handleCancel = event => { + event.preventDefault(); + event.stopPropagation(); + + // Ensure that any unsubmitted input changes are reset. + resetInternalValues(); + if (hasLinkValue) { + // If there is a link then exist editing mode and show preview. + stopEditing(); + } else { + // If there is no link value, then remove the link entirely. + onRemove?.(); + } + onCancel?.(); + }; + const currentUrlInputValue = propInputValue || internalControlValue?.url || ''; + const currentInputIsEmpty = !currentUrlInputValue?.trim()?.length; + const shownUnlinkControl = onRemove && value && !isEditingLink && !isCreatingPage; + const showActions = isEditingLink && hasLinkValue; + + // Only show text control once a URL value has been committed + // and it isn't just empty whitespace. + // See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927. + const showTextControl = hasLinkValue && hasTextControl; + const isEditing = (isEditingLink || !value) && !isCreatingPage; + const isDisabled = !valueHasChanges || currentInputIsEmpty; + const showSettings = !!settings?.length && isEditingLink && hasLinkValue; + return (0,external_React_.createElement)("div", { + tabIndex: -1, + ref: wrapperNode, + className: "block-editor-link-control" + }, isCreatingPage && (0,external_React_.createElement)("div", { + className: "block-editor-link-control__loading" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Spinner, null), " ", (0,external_wp_i18n_namespaceObject.__)('Creating'), "\u2026"), isEditing && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)("div", { + className: classnames_default()({ + 'block-editor-link-control__search-input-wrapper': true, + 'has-text-control': showTextControl, + 'has-actions': showActions + }) + }, showTextControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.TextControl, { + __nextHasNoMarginBottom: true, + ref: textInputRef, + className: "block-editor-link-control__field block-editor-link-control__text-content", + label: (0,external_wp_i18n_namespaceObject.__)('Text'), + value: internalControlValue?.title, + onChange: setInternalTextInputValue, + onKeyDown: handleSubmitWithEnter, + size: "__unstable-large" + }), (0,external_React_.createElement)(search_input, { + currentLink: value, + className: "block-editor-link-control__field block-editor-link-control__search-input", + placeholder: searchInputPlaceholder, + value: currentUrlInputValue, + withCreateSuggestion: withCreateSuggestion, + onCreateSuggestion: createPage, + onChange: setInternalURLInputValue, + onSelect: handleSelectSuggestion, + showInitialSuggestions: showInitialSuggestions, + allowDirectEntry: !noDirectEntry, + showSuggestions: showSuggestions, + suggestionsQuery: suggestionsQuery, + withURLSuggestion: !noURLSuggestion, + createSuggestionButtonText: createSuggestionButtonText, + hideLabelFromVision: !showTextControl + }), !showActions && (0,external_React_.createElement)("div", { + className: "block-editor-link-control__search-enter" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + onClick: isDisabled ? link_control_noop : handleSubmit, + label: (0,external_wp_i18n_namespaceObject.__)('Submit'), + icon: keyboard_return, + className: "block-editor-link-control__search-submit", + "aria-disabled": isDisabled + }))), errorMessage && (0,external_React_.createElement)(external_wp_components_namespaceObject.Notice, { + className: "block-editor-link-control__search-error", + status: "error", + isDismissible: false + }, errorMessage)), value && !isEditingLink && !isCreatingPage && (0,external_React_.createElement)(LinkPreview, { + key: value?.url // force remount when URL changes to avoid race conditions for rich previews + , + value: value, + onEditClick: () => setIsEditingLink(true), + hasRichPreviews: hasRichPreviews, + hasUnlinkControl: shownUnlinkControl, + additionalControls: () => { + // Expose the "Opens in new tab" settings in the preview + // as it is the most common setting to change. + if (settings?.find(setting => setting.id === 'opensInNewTab')) { + return (0,external_React_.createElement)(link_control_settings, { + value: internalControlValue, + settings: settings?.filter(({ + id + }) => id === 'opensInNewTab'), + onChange: onChange + }); + } + }, + onRemove: () => { + onRemove(); + setIsEditingLink(true); + } + }), showSettings && (0,external_React_.createElement)("div", { + className: "block-editor-link-control__tools" + }, !currentInputIsEmpty && (0,external_React_.createElement)(settings_drawer, { + settingsOpen: isSettingsOpen, + setSettingsOpen: setSettingsOpenWithPreference + }, (0,external_React_.createElement)(link_control_settings, { + value: internalControlValue, + settings: settings, + onChange: createSetInternalSettingValueHandler(settingsKeys) + }))), showActions && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + justify: "right", + className: "block-editor-link-control__search-actions" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + variant: "tertiary", + onClick: handleCancel + }, (0,external_wp_i18n_namespaceObject.__)('Cancel')), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + variant: "primary", + onClick: isDisabled ? link_control_noop : handleSubmit, + className: "block-editor-link-control__search-submit", + "aria-disabled": isDisabled + }, (0,external_wp_i18n_namespaceObject.__)('Save'))), renderControlBottom && renderControlBottom()); +} +LinkControl.ViewerFill = ViewerFill; +LinkControl.DEFAULT_LINK_SETTINGS = DEFAULT_LINK_SETTINGS; +/* harmony default export */ var link_control = (LinkControl); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/media-replace-flow/index.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + + + + +/** + * Internal dependencies + */ + + + + +const media_replace_flow_noop = () => {}; +let uniqueId = 0; +const MediaReplaceFlow = ({ + mediaURL, + mediaId, + mediaIds, + allowedTypes, + accept, + onError, + onSelect, + onSelectURL, + onToggleFeaturedImage, + useFeaturedImage, + onFilesUpload = media_replace_flow_noop, + name = (0,external_wp_i18n_namespaceObject.__)('Replace'), + createNotice, + removeNotice, + children, + multiple = false, + addToGallery, + handleUpload = true, + popoverProps +}) => { + const mediaUpload = (0,external_wp_data_namespaceObject.useSelect)(select => { + return select(store).getSettings().mediaUpload; + }, []); + const canUpload = !!mediaUpload; + const editMediaButtonRef = (0,external_wp_element_namespaceObject.useRef)(); + const errorNoticeID = `block-editor/media-replace-flow/error-notice/${++uniqueId}`; + const onUploadError = message => { + const safeMessage = (0,external_wp_dom_namespaceObject.__unstableStripHTML)(message); + if (onError) { + onError(safeMessage); + return; + } + // We need to set a timeout for showing the notice + // so that VoiceOver and possibly other screen readers + // can announce the error afer the toolbar button + // regains focus once the upload dialog closes. + // Otherwise VO simply skips over the notice and announces + // the focused element and the open menu. + setTimeout(() => { + createNotice('error', safeMessage, { + speak: true, + id: errorNoticeID, + isDismissible: true + }); + }, 1000); + }; + const selectMedia = (media, closeMenu) => { + if (useFeaturedImage && onToggleFeaturedImage) { + onToggleFeaturedImage(); + } + closeMenu(); + // Calling `onSelect` after the state update since it might unmount the component. + onSelect(media); + (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)('The media file has been replaced')); + removeNotice(errorNoticeID); + }; + const uploadFiles = (event, closeMenu) => { + const files = event.target.files; + if (!handleUpload) { + closeMenu(); + return onSelect(files); + } + onFilesUpload(files); + mediaUpload({ + allowedTypes, + filesList: files, + onFileChange: ([media]) => { + selectMedia(media, closeMenu); + }, + onError: onUploadError + }); + }; + const openOnArrowDown = event => { + if (event.keyCode === external_wp_keycodes_namespaceObject.DOWN) { + event.preventDefault(); + event.target.click(); + } + }; + const onlyAllowsImages = () => { + if (!allowedTypes || allowedTypes.length === 0) { + return false; + } + return allowedTypes.every(allowedType => allowedType === 'image' || allowedType.startsWith('image/')); + }; + const gallery = multiple && onlyAllowsImages(); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Dropdown, { + popoverProps: popoverProps, + contentClassName: "block-editor-media-replace-flow__options", + renderToggle: ({ + isOpen, + onToggle + }) => (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + ref: editMediaButtonRef, + "aria-expanded": isOpen, + "aria-haspopup": "true", + onClick: onToggle, + onKeyDown: openOnArrowDown + }, name), + renderContent: ({ + onClose + }) => (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.NavigableMenu, { + className: "block-editor-media-replace-flow__media-upload-menu" + }, (0,external_React_.createElement)(check, null, (0,external_React_.createElement)(media_upload, { + gallery: gallery, + addToGallery: addToGallery, + multiple: multiple, + value: multiple ? mediaIds : mediaId, + onSelect: media => selectMedia(media, onClose), + allowedTypes: allowedTypes, + render: ({ + open + }) => (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + icon: library_media, + onClick: open + }, (0,external_wp_i18n_namespaceObject.__)('Open Media Library')) + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.FormFileUpload, { + onChange: event => { + uploadFiles(event, onClose); + }, + accept: accept, + multiple: !!multiple, + render: ({ + openFileDialog + }) => { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + icon: library_upload, + onClick: () => { + openFileDialog(); + } + }, (0,external_wp_i18n_namespaceObject.__)('Upload')); + } + })), onToggleFeaturedImage && (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + icon: post_featured_image, + onClick: onToggleFeaturedImage, + isPressed: useFeaturedImage + }, (0,external_wp_i18n_namespaceObject.__)('Use featured image')), children), onSelectURL && + // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions + (0,external_React_.createElement)("form", { + className: classnames_default()('block-editor-media-flow__url-input', { + 'has-siblings': canUpload || onToggleFeaturedImage + }) + }, (0,external_React_.createElement)("span", { + className: "block-editor-media-replace-flow__image-url-label" + }, (0,external_wp_i18n_namespaceObject.__)('Current media URL:')), (0,external_React_.createElement)(link_control, { + value: { + url: mediaURL + }, + settings: [], + showSuggestions: false, + onChange: ({ + url + }) => { + onSelectURL(url); + editMediaButtonRef.current.focus(); + } + }))) + }); +}; + +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md + */ +/* harmony default export */ var media_replace_flow = ((0,external_wp_compose_namespaceObject.compose)([(0,external_wp_data_namespaceObject.withDispatch)(dispatch => { + const { + createNotice, + removeNotice + } = dispatch(external_wp_notices_namespaceObject.store); + return { + createNotice, + removeNotice + }; +}), (0,external_wp_components_namespaceObject.withFilters)('editor.MediaReplaceFlow')])(MediaReplaceFlow)); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/background.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + + + +/** + * Internal dependencies + */ + + + + + +const BACKGROUND_SUPPORT_KEY = 'background'; +const IMAGE_BACKGROUND_TYPE = 'image'; + +/** + * Checks if there is a current value in the background image block support + * attributes. + * + * @param {Object} style Style attribute. + * @return {boolean} Whether or not the block has a background image value set. + */ +function hasBackgroundImageValue(style) { + const hasValue = !!style?.background?.backgroundImage?.id || !!style?.background?.backgroundImage?.url; + return hasValue; +} + +/** + * Checks if there is a current value in the background size block support + * attributes. + * + * @param {Object} style Style attribute. + * @return {boolean} Whether or not the block has a background size value set. + */ +function hasBackgroundSizeValue(style) { + return style?.background?.backgroundSize !== undefined; +} + +/** + * Determine whether there is block support for background. + * + * @param {string} blockName Block name. + * @param {string} feature Background image feature to check for. + * + * @return {boolean} Whether there is support. + */ +function hasBackgroundSupport(blockName, feature = 'any') { + if (external_wp_element_namespaceObject.Platform.OS !== 'web') { + return false; + } + const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockName, BACKGROUND_SUPPORT_KEY); + if (support === true) { + return true; + } + if (feature === 'any') { + return !!support?.backgroundImage || !!support?.backgroundSize || !!support?.backgroundRepeat; + } + return !!support?.[feature]; +} + +/** + * Resets the background image block support attributes. This can be used when disabling + * the background image controls for a block via a `ToolsPanel`. + * + * @param {Object} style Style attribute. + * @param {Function} setAttributes Function to set block's attributes. + */ +function resetBackgroundImage(style = {}, setAttributes) { + setAttributes({ + style: utils_cleanEmptyObject({ + ...style, + background: { + ...style?.background, + backgroundImage: undefined + } + }) + }); +} + +/** + * Resets the background size block support attributes. This can be used when disabling + * the background size controls for a block via a `ToolsPanel`. + * + * @param {Object} style Style attribute. + * @param {Function} setAttributes Function to set block's attributes. + */ +function resetBackgroundSize(style = {}, setAttributes) { + setAttributes({ + style: utils_cleanEmptyObject({ + ...style, + background: { + ...style?.background, + backgroundRepeat: undefined, + backgroundSize: undefined + } + }) + }); +} + +/** + * Generates a CSS class name if an background image is set. + * + * @param {Object} style A block's style attribute. + * + * @return {string} CSS class name. + */ +function getBackgroundImageClasses(style) { + return hasBackgroundImageValue(style) ? 'has-background' : ''; +} +function InspectorImagePreview({ + label, + filename, + url: imgUrl +}) { + const imgLabel = label || (0,external_wp_url_namespaceObject.getFilename)(imgUrl); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalItemGroup, { + as: "span" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + justify: "flex-start", + as: "span" + }, (0,external_React_.createElement)("span", { + className: classnames_default()('block-editor-hooks__background__inspector-image-indicator-wrapper', { + 'has-image': imgUrl + }), + "aria-hidden": true + }, imgUrl && (0,external_React_.createElement)("span", { + className: "block-editor-hooks__background__inspector-image-indicator", + style: { + backgroundImage: `url(${imgUrl})` + } + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, { + as: "span" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { + numberOfLines: 1, + className: "block-editor-hooks__background__inspector-media-replace-title" + }, imgLabel), (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + as: "span" + }, filename ? (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: file name */ + (0,external_wp_i18n_namespaceObject.__)('Selected image: %s'), filename) : (0,external_wp_i18n_namespaceObject.__)('No image selected'))))); +} +function BackgroundImagePanelItem({ + clientId, + isShownByDefault, + setAttributes +}) { + const { + style, + mediaUpload + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlockAttributes, + getSettings + } = select(store); + return { + style: getBlockAttributes(clientId)?.style, + mediaUpload: getSettings().mediaUpload + }; + }, [clientId]); + const { + id, + title, + url + } = style?.background?.backgroundImage || {}; + const replaceContainerRef = (0,external_wp_element_namespaceObject.useRef)(); + const { + createErrorNotice + } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); + const onUploadError = message => { + createErrorNotice(message, { + type: 'snackbar' + }); + }; + const onSelectMedia = media => { + if (!media || !media.url) { + const newStyle = { + ...style, + background: { + ...style?.background, + backgroundImage: undefined + } + }; + const newAttributes = { + style: utils_cleanEmptyObject(newStyle) + }; + setAttributes(newAttributes); + return; + } + if ((0,external_wp_blob_namespaceObject.isBlobURL)(media.url)) { + return; + } + + // For media selections originated from a file upload. + if (media.media_type && media.media_type !== IMAGE_BACKGROUND_TYPE || !media.media_type && media.type && media.type !== IMAGE_BACKGROUND_TYPE) { + onUploadError((0,external_wp_i18n_namespaceObject.__)('Only images can be used as a background image.')); + return; + } + const newStyle = { + ...style, + background: { + ...style?.background, + backgroundImage: { + url: media.url, + id: media.id, + source: 'file', + title: media.title || undefined + } + } + }; + const newAttributes = { + style: utils_cleanEmptyObject(newStyle) + }; + setAttributes(newAttributes); + }; + const onFilesDrop = filesList => { + mediaUpload({ + allowedTypes: ['image'], + filesList, + onFileChange([image]) { + if ((0,external_wp_blob_namespaceObject.isBlobURL)(image?.url)) { + return; + } + onSelectMedia(image); + }, + onError: onUploadError + }); + }; + const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { + return { + ...previousValue, + style: { + ...previousValue.style, + background: undefined + } + }; + }, []); + const hasValue = hasBackgroundImageValue(style); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + className: "single-column", + hasValue: () => hasValue, + label: (0,external_wp_i18n_namespaceObject.__)('Background image'), + onDeselect: () => resetBackgroundImage(style, setAttributes), + isShownByDefault: isShownByDefault, + resetAllFilter: resetAllFilter, + panelId: clientId + }, (0,external_React_.createElement)("div", { + className: "block-editor-hooks__background__inspector-media-replace-container", + ref: replaceContainerRef + }, (0,external_React_.createElement)(media_replace_flow, { + mediaId: id, + mediaURL: url, + allowedTypes: [IMAGE_BACKGROUND_TYPE], + accept: "image/*", + onSelect: onSelectMedia, + name: (0,external_React_.createElement)(InspectorImagePreview, { + label: (0,external_wp_i18n_namespaceObject.__)('Background image'), + filename: title, + url: url + }), + variant: "secondary" + }, hasValue && (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + onClick: () => { + const [toggleButton] = external_wp_dom_namespaceObject.focus.tabbable.find(replaceContainerRef.current); + // Focus the toggle button and close the dropdown menu. + // This ensures similar behaviour as to selecting an image, where the dropdown is + // closed and focus is redirected to the dropdown toggle button. + toggleButton?.focus(); + toggleButton?.click(); + resetBackgroundImage(style, setAttributes); + } + }, (0,external_wp_i18n_namespaceObject.__)('Reset '))), (0,external_React_.createElement)(external_wp_components_namespaceObject.DropZone, { + onFilesDrop: onFilesDrop, + label: (0,external_wp_i18n_namespaceObject.__)('Drop to upload') + }))); +} +function backgroundSizeHelpText(value) { + if (value === 'cover' || value === undefined) { + return (0,external_wp_i18n_namespaceObject.__)('Stretch image to cover the block.'); + } + if (value === 'contain') { + return (0,external_wp_i18n_namespaceObject.__)('Resize image to fit without cropping.'); + } + return (0,external_wp_i18n_namespaceObject.__)('Set a fixed width.'); +} +function BackgroundSizePanelItem({ + clientId, + isShownByDefault, + setAttributes +}) { + const style = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getBlockAttributes(clientId)?.style, [clientId]); + const sizeValue = style?.background?.backgroundSize; + const repeatValue = style?.background?.backgroundRepeat; + + // An `undefined` value is treated as `cover` by the toggle group control. + // An empty string is treated as `auto` by the toggle group control. This + // allows a user to select "Size" and then enter a custom value, with an + // empty value being treated as `auto`. + const currentValueForToggle = sizeValue !== undefined && sizeValue !== 'cover' && sizeValue !== 'contain' || sizeValue === '' ? 'auto' : sizeValue || 'cover'; + + // If the current value is `cover` and the repeat value is `undefined`, then + // the toggle should be unchecked as the default state. Otherwise, the toggle + // should reflect the current repeat value. + const repeatCheckedValue = repeatValue === 'no-repeat' || currentValueForToggle === 'cover' && repeatValue === undefined ? false : true; + const hasValue = hasBackgroundSizeValue(style); + const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { + return { + ...previousValue, + style: { + ...previousValue.style, + background: { + ...previousValue.style?.background, + backgroundRepeat: undefined, + backgroundSize: undefined + } + } + }; + }, []); + const updateBackgroundSize = next => { + // When switching to 'contain' toggle the repeat off. + let nextRepeat = repeatValue; + if (next === 'contain') { + nextRepeat = 'no-repeat'; + } + if ((currentValueForToggle === 'cover' || currentValueForToggle === 'contain') && next === 'auto') { + nextRepeat = undefined; + } + setAttributes({ + style: utils_cleanEmptyObject({ + ...style, + background: { + ...style?.background, + backgroundRepeat: nextRepeat, + backgroundSize: next + } + }) + }); + }; + const toggleIsRepeated = () => { + setAttributes({ + style: utils_cleanEmptyObject({ + ...style, + background: { + ...style?.background, + backgroundRepeat: repeatCheckedValue === true ? 'no-repeat' : undefined + } + }) + }); + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + as: external_wp_components_namespaceObject.__experimentalToolsPanelItem, + spacing: 2, + className: "single-column", + hasValue: () => hasValue, + label: (0,external_wp_i18n_namespaceObject.__)('Size'), + onDeselect: () => resetBackgroundSize(style, setAttributes), + isShownByDefault: isShownByDefault, + resetAllFilter: resetAllFilter, + panelId: clientId + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, { + __nextHasNoMarginBottom: true, + size: '__unstable-large', + label: (0,external_wp_i18n_namespaceObject.__)('Size'), + value: currentValueForToggle, + onChange: updateBackgroundSize, + isBlock: true, + help: backgroundSizeHelpText(sizeValue) + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, { + key: 'cover', + value: 'cover', + label: (0,external_wp_i18n_namespaceObject.__)('Cover') + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, { + key: 'contain', + value: 'contain', + label: (0,external_wp_i18n_namespaceObject.__)('Contain') + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, { + key: 'fixed', + value: 'auto', + label: (0,external_wp_i18n_namespaceObject.__)('Fixed') + })), sizeValue !== undefined && sizeValue !== 'cover' && sizeValue !== 'contain' ? (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + size: '__unstable-large', + onChange: updateBackgroundSize, + value: sizeValue + }) : null, currentValueForToggle !== 'cover' && (0,external_React_.createElement)(external_wp_components_namespaceObject.ToggleControl, { + __nextHasNoMarginBottom: true, + label: (0,external_wp_i18n_namespaceObject.__)('Repeat image'), + checked: repeatCheckedValue, + onChange: toggleIsRepeated + })); +} +function BackgroundImagePanel(props) { + const [backgroundImage, backgroundSize] = use_settings_useSettings('background.backgroundImage', 'background.backgroundSize'); + if (!backgroundImage || !hasBackgroundSupport(props.name, 'backgroundImage')) { + return null; + } + const showBackgroundSize = !!(backgroundSize && hasBackgroundSupport(props.name, 'backgroundSize')); + const defaultControls = (0,external_wp_blocks_namespaceObject.getBlockSupport)(props.name, [BACKGROUND_SUPPORT_KEY, '__experimentalDefaultControls']); + return (0,external_React_.createElement)(inspector_controls, { + group: "background" + }, (0,external_React_.createElement)(BackgroundImagePanelItem, { + isShownByDefault: defaultControls?.backgroundImage, + ...props + }), showBackgroundSize && (0,external_React_.createElement)(BackgroundSizePanelItem, { + isShownByDefault: defaultControls?.backgroundSize, + ...props + })); +} + +;// CONCATENATED MODULE: ./node_modules/colord/index.mjs +var r={grad:.9,turn:360,rad:360/(2*Math.PI)},t=function(r){return"string"==typeof r?r.length>0:"number"==typeof r},n=function(r,t,n){return void 0===t&&(t=0),void 0===n&&(n=Math.pow(10,t)),Math.round(n*r)/n+0},e=function(r,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),r>n?n:r>t?r:t},u=function(r){return(r=isFinite(r)?r%360:0)>0?r:r+360},a=function(r){return{r:e(r.r,0,255),g:e(r.g,0,255),b:e(r.b,0,255),a:e(r.a)}},o=function(r){return{r:n(r.r),g:n(r.g),b:n(r.b),a:n(r.a,3)}},i=/^#([0-9a-f]{3,8})$/i,s=function(r){var t=r.toString(16);return t.length<2?"0"+t:t},h=function(r){var t=r.r,n=r.g,e=r.b,u=r.a,a=Math.max(t,n,e),o=a-Math.min(t,n,e),i=o?a===t?(n-e)/o:a===n?2+(e-t)/o:4+(t-n)/o:0;return{h:60*(i<0?i+6:i),s:a?o/a*100:0,v:a/255*100,a:u}},b=function(r){var t=r.h,n=r.s,e=r.v,u=r.a;t=t/360*6,n/=100,e/=100;var a=Math.floor(t),o=e*(1-n),i=e*(1-(t-a)*n),s=e*(1-(1-t+a)*n),h=a%6;return{r:255*[e,i,o,o,s,e][h],g:255*[s,e,e,i,o,o][h],b:255*[o,o,s,e,e,i][h],a:u}},g=function(r){return{h:u(r.h),s:e(r.s,0,100),l:e(r.l,0,100),a:e(r.a)}},d=function(r){return{h:n(r.h),s:n(r.s),l:n(r.l),a:n(r.a,3)}},f=function(r){return b((n=(t=r).s,{h:t.h,s:(n*=((e=t.l)<50?e:100-e)/100)>0?2*n/(e+n)*100:0,v:e+n,a:t.a}));var t,n,e},c=function(r){return{h:(t=h(r)).h,s:(u=(200-(n=t.s))*(e=t.v)/100)>0&&u<200?n*e/100/(u<=100?u:200-u)*100:0,l:u/2,a:t.a};var t,n,e,u},l=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,p=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,v=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,m=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,y={string:[[function(r){var t=i.exec(r);return t?(r=t[1]).length<=4?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:4===r.length?n(parseInt(r[3]+r[3],16)/255,2):1}:6===r.length||8===r.length?{r:parseInt(r.substr(0,2),16),g:parseInt(r.substr(2,2),16),b:parseInt(r.substr(4,2),16),a:8===r.length?n(parseInt(r.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(r){var t=v.exec(r)||m.exec(r);return t?t[2]!==t[4]||t[4]!==t[6]?null:a({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(t){var n=l.exec(t)||p.exec(t);if(!n)return null;var e,u,a=g({h:(e=n[1],u=n[2],void 0===u&&(u="deg"),Number(e)*(r[u]||1)),s:Number(n[3]),l:Number(n[4]),a:void 0===n[5]?1:Number(n[5])/(n[6]?100:1)});return f(a)},"hsl"]],object:[[function(r){var n=r.r,e=r.g,u=r.b,o=r.a,i=void 0===o?1:o;return t(n)&&t(e)&&t(u)?a({r:Number(n),g:Number(e),b:Number(u),a:Number(i)}):null},"rgb"],[function(r){var n=r.h,e=r.s,u=r.l,a=r.a,o=void 0===a?1:a;if(!t(n)||!t(e)||!t(u))return null;var i=g({h:Number(n),s:Number(e),l:Number(u),a:Number(o)});return f(i)},"hsl"],[function(r){var n=r.h,a=r.s,o=r.v,i=r.a,s=void 0===i?1:i;if(!t(n)||!t(a)||!t(o))return null;var h=function(r){return{h:u(r.h),s:e(r.s,0,100),v:e(r.v,0,100),a:e(r.a)}}({h:Number(n),s:Number(a),v:Number(o),a:Number(s)});return b(h)},"hsv"]]},N=function(r,t){for(var n=0;n=.5},r.prototype.toHex=function(){return r=o(this.rgba),t=r.r,e=r.g,u=r.b,i=(a=r.a)<1?s(n(255*a)):"","#"+s(t)+s(e)+s(u)+i;var r,t,e,u,a,i},r.prototype.toRgb=function(){return o(this.rgba)},r.prototype.toRgbString=function(){return r=o(this.rgba),t=r.r,n=r.g,e=r.b,(u=r.a)<1?"rgba("+t+", "+n+", "+e+", "+u+")":"rgb("+t+", "+n+", "+e+")";var r,t,n,e,u},r.prototype.toHsl=function(){return d(c(this.rgba))},r.prototype.toHslString=function(){return r=d(c(this.rgba)),t=r.h,n=r.s,e=r.l,(u=r.a)<1?"hsla("+t+", "+n+"%, "+e+"%, "+u+")":"hsl("+t+", "+n+"%, "+e+"%)";var r,t,n,e,u},r.prototype.toHsv=function(){return r=h(this.rgba),{h:n(r.h),s:n(r.s),v:n(r.v),a:n(r.a,3)};var r},r.prototype.invert=function(){return w({r:255-(r=this.rgba).r,g:255-r.g,b:255-r.b,a:r.a});var r},r.prototype.saturate=function(r){return void 0===r&&(r=.1),w(M(this.rgba,r))},r.prototype.desaturate=function(r){return void 0===r&&(r=.1),w(M(this.rgba,-r))},r.prototype.grayscale=function(){return w(M(this.rgba,-1))},r.prototype.lighten=function(r){return void 0===r&&(r=.1),w($(this.rgba,r))},r.prototype.darken=function(r){return void 0===r&&(r=.1),w($(this.rgba,-r))},r.prototype.rotate=function(r){return void 0===r&&(r=15),this.hue(this.hue()+r)},r.prototype.alpha=function(r){return"number"==typeof r?w({r:(t=this.rgba).r,g:t.g,b:t.b,a:r}):n(this.rgba.a,3);var t},r.prototype.hue=function(r){var t=c(this.rgba);return"number"==typeof r?w({h:r,s:t.s,l:t.l,a:t.a}):n(t.h)},r.prototype.isEqual=function(r){return this.toHex()===w(r).toHex()},r}(),w=function(r){return r instanceof j?r:new j(r)},S=[],k=function(r){r.forEach(function(r){S.indexOf(r)<0&&(r(j,y),S.push(r))})},E=function(){return new j({r:255*Math.random(),g:255*Math.random(),b:255*Math.random()})}; + +;// CONCATENATED MODULE: ./node_modules/colord/plugins/names.mjs +/* harmony default export */ function names(e,f){var a={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},r={};for(var d in a)r[a[d]]=d;var l={};e.prototype.toName=function(f){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var d,i,n=r[this.toHex()];if(n)return n;if(null==f?void 0:f.closest){var o=this.toRgb(),t=1/0,b="black";if(!l.length)for(var c in a)l[c]=new e(a[c]).toRgb();for(var g in a){var u=(d=o,i=l[g],Math.pow(d.r-i.r,2)+Math.pow(d.g-i.g,2)+Math.pow(d.b-i.b,2));ud?(u+.05)/(d+.05):(d+.05)/(u+.05),void 0===(a=2)&&(a=0),void 0===i&&(i=Math.pow(10,a)),Math.floor(i*n)/i+0},o.prototype.isReadable=function(o,t){return void 0===o&&(o="#FFF"),void 0===t&&(t={}),this.contrast(o)>=(e=void 0===(i=(r=t).size)?"normal":i,"AAA"===(a=void 0===(n=r.level)?"AA":n)&&"normal"===e?7:"AA"===a&&"large"===e?3:4.5);var r,n,a,i,e}} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/utils.js +/** + * External dependencies + */ + + + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + +k([names, a11y]); + +/** + * Provided an array of color objects as set by the theme or by the editor defaults, + * and the values of the defined color or custom color returns a color object describing the color. + * + * @param {Array} colors Array of color objects as set by the theme or by the editor defaults. + * @param {?string} definedColor A string containing the color slug. + * @param {?string} customColor A string containing the customColor value. + * + * @return {?Object} If definedColor is passed and the name is found in colors, + * the color object exactly as set by the theme or editor defaults is returned. + * Otherwise, an object that just sets the color is defined. + */ +const getColorObjectByAttributeValues = (colors, definedColor, customColor) => { + if (definedColor) { + const colorObj = colors?.find(color => color.slug === definedColor); + if (colorObj) { + return colorObj; + } + } + return { + color: customColor + }; +}; + +/** + * Provided an array of color objects as set by the theme or by the editor defaults, and a color value returns the color object matching that value or undefined. + * + * @param {Array} colors Array of color objects as set by the theme or by the editor defaults. + * @param {?string} colorValue A string containing the color value. + * + * @return {?Object} Color object included in the colors array whose color property equals colorValue. + * Returns undefined if no color object matches this requirement. + */ +const getColorObjectByColorValue = (colors, colorValue) => { + return colors?.find(color => color.color === colorValue); +}; + +/** + * Returns a class based on the context a color is being used and its slug. + * + * @param {string} colorContextName Context/place where color is being used e.g: background, text etc... + * @param {string} colorSlug Slug of the color. + * + * @return {?string} String with the class corresponding to the color in the provided context. + * Returns undefined if either colorContextName or colorSlug are not provided. + */ +function getColorClassName(colorContextName, colorSlug) { + if (!colorContextName || !colorSlug) { + return undefined; + } + const { + kebabCase + } = unlock(external_wp_components_namespaceObject.privateApis); + return `has-${kebabCase(colorSlug)}-${colorContextName}`; +} + +/** + * Given an array of color objects and a color value returns the color value of the most readable color in the array. + * + * @param {Array} colors Array of color objects as set by the theme or by the editor defaults. + * @param {?string} colorValue A string containing the color value. + * + * @return {string} String with the color value of the most readable color. + */ +function getMostReadableColor(colors, colorValue) { + const colordColor = w(colorValue); + const getColorContrast = ({ + color + }) => colordColor.contrast(color); + const maxContrast = Math.max(...colors.map(getColorContrast)); + return colors.find(color => getColorContrast(color) === maxContrast).color; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +/** + * Retrieves color and gradient related settings. + * + * The arrays for colors and gradients are made up of color palettes from each + * origin i.e. "Core", "Theme", and "User". + * + * @return {Object} Color and gradient related settings. + */ +function useMultipleOriginColorsAndGradients() { + const [enableCustomColors, customColors, themeColors, defaultColors, shouldDisplayDefaultColors, enableCustomGradients, customGradients, themeGradients, defaultGradients, shouldDisplayDefaultGradients] = use_settings_useSettings('color.custom', 'color.palette.custom', 'color.palette.theme', 'color.palette.default', 'color.defaultPalette', 'color.customGradient', 'color.gradients.custom', 'color.gradients.theme', 'color.gradients.default', 'color.defaultGradients'); + const colorGradientSettings = { + disableCustomColors: !enableCustomColors, + disableCustomGradients: !enableCustomGradients + }; + colorGradientSettings.colors = (0,external_wp_element_namespaceObject.useMemo)(() => { + const result = []; + if (themeColors && themeColors.length) { + result.push({ + name: (0,external_wp_i18n_namespaceObject._x)('Theme', 'Indicates this palette comes from the theme.'), + colors: themeColors + }); + } + if (shouldDisplayDefaultColors && defaultColors && defaultColors.length) { + result.push({ + name: (0,external_wp_i18n_namespaceObject._x)('Default', 'Indicates this palette comes from WordPress.'), + colors: defaultColors + }); + } + if (customColors && customColors.length) { + result.push({ + name: (0,external_wp_i18n_namespaceObject._x)('Custom', 'Indicates this palette comes from the theme.'), + colors: customColors + }); + } + return result; + }, [customColors, themeColors, defaultColors, shouldDisplayDefaultColors]); + colorGradientSettings.gradients = (0,external_wp_element_namespaceObject.useMemo)(() => { + const result = []; + if (themeGradients && themeGradients.length) { + result.push({ + name: (0,external_wp_i18n_namespaceObject._x)('Theme', 'Indicates this palette comes from the theme.'), + gradients: themeGradients + }); + } + if (shouldDisplayDefaultGradients && defaultGradients && defaultGradients.length) { + result.push({ + name: (0,external_wp_i18n_namespaceObject._x)('Default', 'Indicates this palette comes from WordPress.'), + gradients: defaultGradients + }); + } + if (customGradients && customGradients.length) { + result.push({ + name: (0,external_wp_i18n_namespaceObject._x)('Custom', 'Indicates this palette is created by the user.'), + gradients: customGradients + }); + } + return result; + }, [customGradients, themeGradients, defaultGradients, shouldDisplayDefaultGradients]); + colorGradientSettings.hasColorsOrGradients = !!colorGradientSettings.colors.length || !!colorGradientSettings.gradients.length; + return colorGradientSettings; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/utils.js +/** + * WordPress dependencies + */ + + +/** + * Gets the (non-undefined) item with the highest occurrence within an array + * Based in part on: https://stackoverflow.com/a/20762713 + * + * Undefined values are always sorted to the end by `sort`, so this function + * returns the first element, to always prioritize real values over undefined + * values. + * + * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description + * + * @param {Array} inputArray Array of items to check. + * @return {any} The item with the most occurrences. + */ +function utils_mode(inputArray) { + const arr = [...inputArray]; + return arr.sort((a, b) => inputArray.filter(v => v === b).length - inputArray.filter(v => v === a).length).shift(); +} + +/** + * Returns the most common CSS unit from the current CSS unit selections. + * + * - If a single flat border radius is set, its unit will be used + * - If individual corner selections, the most common of those will be used + * - Failing any unit selections a default of 'px' is returned. + * + * @param {Object} selectedUnits Unit selections for flat radius & each corner. + * @return {string} Most common CSS unit from current selections. Default: `px`. + */ +function getAllUnit(selectedUnits = {}) { + const { + flat, + ...cornerUnits + } = selectedUnits; + return flat || utils_mode(Object.values(cornerUnits).filter(Boolean)) || 'px'; +} + +/** + * Gets the 'all' input value and unit from values data. + * + * @param {Object|string} values Radius values. + * @return {string} A value + unit for the 'all' input. + */ +function getAllValue(values = {}) { + /** + * Border radius support was originally a single pixel value. + * + * To maintain backwards compatibility treat this case as the all value. + */ + if (typeof values === 'string') { + return values; + } + const parsedQuantitiesAndUnits = Object.values(values).map(value => (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(value)); + const allValues = parsedQuantitiesAndUnits.map(value => { + var _value$; + return (_value$ = value[0]) !== null && _value$ !== void 0 ? _value$ : ''; + }); + const allUnits = parsedQuantitiesAndUnits.map(value => value[1]); + const value = allValues.every(v => v === allValues[0]) ? allValues[0] : ''; + const unit = utils_mode(allUnits); + const allValue = value === 0 || value ? `${value}${unit}` : undefined; + return allValue; +} + +/** + * Checks to determine if values are mixed. + * + * @param {Object} values Radius values. + * @return {boolean} Whether values are mixed. + */ +function hasMixedValues(values = {}) { + const allValue = getAllValue(values); + const isMixed = typeof values === 'string' ? false : isNaN(parseFloat(allValue)); + return isMixed; +} + +/** + * Checks to determine if values are defined. + * + * @param {Object} values Radius values. + * @return {boolean} Whether values are mixed. + */ +function hasDefinedValues(values) { + if (!values) { + return false; + } + + // A string value represents a shorthand value. + if (typeof values === 'string') { + return true; + } + + // An object represents longhand border radius values, if any are set + // flag values as being defined. + const filteredValues = Object.values(values).filter(value => { + return !!value || value === 0; + }); + return !!filteredValues.length; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/all-input-control.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + +function AllInputControl({ + onChange, + selectedUnits, + setSelectedUnits, + values, + ...props +}) { + let allValue = getAllValue(values); + if (allValue === undefined) { + // If we don't have any value set the unit to any current selection + // or the most common unit from the individual radii values. + allValue = getAllUnit(selectedUnits); + } + const hasValues = hasDefinedValues(values); + const isMixed = hasValues && hasMixedValues(values); + const allPlaceholder = isMixed ? (0,external_wp_i18n_namespaceObject.__)('Mixed') : null; + + // Filter out CSS-unit-only values to prevent invalid styles. + const handleOnChange = next => { + const isNumeric = !isNaN(parseFloat(next)); + const nextValue = isNumeric ? next : undefined; + onChange(nextValue); + }; + + // Store current unit selection for use as fallback for individual + // radii controls. + const handleOnUnitChange = unit => { + setSelectedUnits({ + topLeft: unit, + topRight: unit, + bottomLeft: unit, + bottomRight: unit + }); + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + ...props, + "aria-label": (0,external_wp_i18n_namespaceObject.__)('Border radius'), + disableUnits: isMixed, + isOnly: true, + value: allValue, + onChange: handleOnChange, + onUnitChange: handleOnUnitChange, + placeholder: allPlaceholder, + size: '__unstable-large' + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/input-controls.js + +/** + * WordPress dependencies + */ + + +const CORNERS = { + topLeft: (0,external_wp_i18n_namespaceObject.__)('Top left'), + topRight: (0,external_wp_i18n_namespaceObject.__)('Top right'), + bottomLeft: (0,external_wp_i18n_namespaceObject.__)('Bottom left'), + bottomRight: (0,external_wp_i18n_namespaceObject.__)('Bottom right') +}; +function BoxInputControls({ + onChange, + selectedUnits, + setSelectedUnits, + values: valuesProp, + ...props +}) { + const createHandleOnChange = corner => next => { + if (!onChange) { + return; + } + + // Filter out CSS-unit-only values to prevent invalid styles. + const isNumeric = !isNaN(parseFloat(next)); + const nextValue = isNumeric ? next : undefined; + onChange({ + ...values, + [corner]: nextValue + }); + }; + const createHandleOnUnitChange = side => next => { + const newUnits = { + ...selectedUnits + }; + newUnits[side] = next; + setSelectedUnits(newUnits); + }; + + // For shorthand style & backwards compatibility, handle flat string value. + const values = typeof valuesProp !== 'string' ? valuesProp : { + topLeft: valuesProp, + topRight: valuesProp, + bottomLeft: valuesProp, + bottomRight: valuesProp + }; + + // Controls are wrapped in tooltips as visible labels aren't desired here. + // Tooltip rendering also requires the UnitControl to be wrapped. See: + // https://github.com/WordPress/gutenberg/pull/24966#issuecomment-685875026 + return (0,external_React_.createElement)("div", { + className: "components-border-radius-control__input-controls-wrapper" + }, Object.entries(CORNERS).map(([corner, label]) => { + const [parsedQuantity, parsedUnit] = (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(values[corner]); + const computedUnit = values[corner] ? parsedUnit : selectedUnits[corner] || selectedUnits.flat; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Tooltip, { + text: label, + placement: "top", + key: corner + }, (0,external_React_.createElement)("div", { + className: "components-border-radius-control__tooltip-wrapper" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + ...props, + "aria-label": label, + value: [parsedQuantity, computedUnit].join(''), + onChange: createHandleOnChange(corner), + onUnitChange: createHandleOnUnitChange(corner), + size: '__unstable-large' + }))); + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/link.js + +/** + * WordPress dependencies + */ + +const link_link = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z" +})); +/* harmony default export */ var library_link = (link_link); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/linked-button.js + +/** + * WordPress dependencies + */ + + + +function LinkedButton({ + isLinked, + ...props +}) { + const label = isLinked ? (0,external_wp_i18n_namespaceObject.__)('Unlink radii') : (0,external_wp_i18n_namespaceObject.__)('Link radii'); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Tooltip, { + text: label + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + ...props, + className: "component-border-radius-control__linked-button", + size: "small", + icon: isLinked ? library_link : link_off, + iconSize: 24, + "aria-label": label + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/index.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + +const border_radius_control_DEFAULT_VALUES = { + topLeft: undefined, + topRight: undefined, + bottomLeft: undefined, + bottomRight: undefined +}; +const MIN_BORDER_RADIUS_VALUE = 0; +const MAX_BORDER_RADIUS_VALUES = { + px: 100, + em: 20, + rem: 20 +}; + +/** + * Control to display border radius options. + * + * @param {Object} props Component props. + * @param {Function} props.onChange Callback to handle onChange. + * @param {Object} props.values Border radius values. + * + * @return {Element} Custom border radius control. + */ +function BorderRadiusControl({ + onChange, + values +}) { + const [isLinked, setIsLinked] = (0,external_wp_element_namespaceObject.useState)(!hasDefinedValues(values) || !hasMixedValues(values)); + + // Tracking selected units via internal state allows filtering of CSS unit + // only values from being saved while maintaining preexisting unit selection + // behaviour. Filtering CSS unit only values prevents invalid style values. + const [selectedUnits, setSelectedUnits] = (0,external_wp_element_namespaceObject.useState)({ + flat: typeof values === 'string' ? (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(values)[1] : undefined, + topLeft: (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(values?.topLeft)[1], + topRight: (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(values?.topRight)[1], + bottomLeft: (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(values?.bottomLeft)[1], + bottomRight: (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(values?.bottomRight)[1] + }); + const [availableUnits] = use_settings_useSettings('spacing.units'); + const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ + availableUnits: availableUnits || ['px', 'em', 'rem'] + }); + const unit = getAllUnit(selectedUnits); + const unitConfig = units && units.find(item => item.value === unit); + const step = unitConfig?.step || 1; + const [allValue] = (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(getAllValue(values)); + const toggleLinked = () => setIsLinked(!isLinked); + const handleSliderChange = next => { + onChange(next !== undefined ? `${next}${unit}` : undefined); + }; + return (0,external_React_.createElement)("fieldset", { + className: "components-border-radius-control" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { + as: "legend" + }, (0,external_wp_i18n_namespaceObject.__)('Radius')), (0,external_React_.createElement)("div", { + className: "components-border-radius-control__wrapper" + }, isLinked ? (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(AllInputControl, { + className: "components-border-radius-control__unit-control", + values: values, + min: MIN_BORDER_RADIUS_VALUE, + onChange: onChange, + selectedUnits: selectedUnits, + setSelectedUnits: setSelectedUnits, + units: units + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.RangeControl, { + label: (0,external_wp_i18n_namespaceObject.__)('Border radius'), + hideLabelFromVision: true, + className: "components-border-radius-control__range-control", + value: allValue !== null && allValue !== void 0 ? allValue : '', + min: MIN_BORDER_RADIUS_VALUE, + max: MAX_BORDER_RADIUS_VALUES[unit], + initialPosition: 0, + withInputField: false, + onChange: handleSliderChange, + step: step, + __nextHasNoMarginBottom: true + })) : (0,external_React_.createElement)(BoxInputControls, { + min: MIN_BORDER_RADIUS_VALUE, + onChange: onChange, + selectedUnits: selectedUnits, + setSelectedUnits: setSelectedUnits, + values: values || border_radius_control_DEFAULT_VALUES, + units: units + }), (0,external_React_.createElement)(LinkedButton, { + onClick: toggleLinked, + isLinked: isLinked + }))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/border-panel.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + +function useHasBorderPanel(settings) { + const controls = [useHasBorderColorControl(settings), useHasBorderRadiusControl(settings), useHasBorderStyleControl(settings), useHasBorderWidthControl(settings)]; + return controls.some(Boolean); +} +function useHasBorderColorControl(settings) { + return settings?.border?.color; +} +function useHasBorderRadiusControl(settings) { + return settings?.border?.radius; +} +function useHasBorderStyleControl(settings) { + return settings?.border?.style; +} +function useHasBorderWidthControl(settings) { + return settings?.border?.width; +} +function BorderToolsPanel({ + resetAllFilter, + onChange, + value, + panelId, + children +}) { + const resetAll = () => { + const updatedValue = resetAllFilter(value); + onChange(updatedValue); + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { + label: (0,external_wp_i18n_namespaceObject.__)('Border'), + resetAll: resetAll, + panelId: panelId, + dropdownMenuProps: TOOLSPANEL_DROPDOWNMENU_PROPS + }, children); +} +const border_panel_DEFAULT_CONTROLS = { + radius: true, + color: true, + width: true +}; +function BorderPanel({ + as: Wrapper = BorderToolsPanel, + value, + onChange, + inheritedValue = value, + settings, + panelId, + defaultControls = border_panel_DEFAULT_CONTROLS +}) { + const colors = useColorsPerOrigin(settings); + const decodeValue = (0,external_wp_element_namespaceObject.useCallback)(rawValue => getValueFromVariable({ + settings + }, '', rawValue), [settings]); + const encodeColorValue = colorValue => { + const allColors = colors.flatMap(({ + colors: originColors + }) => originColors); + const colorObject = allColors.find(({ + color + }) => color === colorValue); + return colorObject ? 'var:preset|color|' + colorObject.slug : colorValue; + }; + const border = (0,external_wp_element_namespaceObject.useMemo)(() => { + if ((0,external_wp_components_namespaceObject.__experimentalHasSplitBorders)(inheritedValue?.border)) { + const borderValue = { + ...inheritedValue?.border + }; + ['top', 'right', 'bottom', 'left'].forEach(side => { + borderValue[side] = { + ...borderValue[side], + color: decodeValue(borderValue[side]?.color) + }; + }); + return borderValue; + } + return { + ...inheritedValue?.border, + color: inheritedValue?.border?.color ? decodeValue(inheritedValue?.border?.color) : undefined + }; + }, [inheritedValue?.border, decodeValue]); + const setBorder = newBorder => onChange({ + ...value, + border: newBorder + }); + const showBorderColor = useHasBorderColorControl(settings); + const showBorderStyle = useHasBorderStyleControl(settings); + const showBorderWidth = useHasBorderWidthControl(settings); + + // Border radius. + const showBorderRadius = useHasBorderRadiusControl(settings); + const borderRadiusValues = decodeValue(border?.radius); + const setBorderRadius = newBorderRadius => setBorder({ + ...border, + radius: newBorderRadius + }); + const hasBorderRadius = () => { + const borderValues = value?.border?.radius; + if (typeof borderValues === 'object') { + return Object.entries(borderValues).some(Boolean); + } + return !!borderValues; + }; + const resetBorder = () => { + if (hasBorderRadius()) { + return setBorder({ + radius: value?.border?.radius + }); + } + setBorder(undefined); + }; + const onBorderChange = newBorder => { + // Ensure we have a visible border style when a border width or + // color is being selected. + const updatedBorder = { + ...newBorder + }; + if ((0,external_wp_components_namespaceObject.__experimentalHasSplitBorders)(updatedBorder)) { + ['top', 'right', 'bottom', 'left'].forEach(side => { + if (updatedBorder[side]) { + updatedBorder[side] = { + ...updatedBorder[side], + color: encodeColorValue(updatedBorder[side]?.color) + }; + } + }); + } else if (updatedBorder) { + updatedBorder.color = encodeColorValue(updatedBorder.color); + } + + // As radius is maintained separately to color, style, and width + // maintain its value. Undefined values here will be cleaned when + // global styles are saved. + setBorder({ + radius: border?.radius, + ...updatedBorder + }); + }; + const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { + return { + ...previousValue, + border: undefined + }; + }, []); + const showBorderByDefault = defaultControls?.color || defaultControls?.width; + return (0,external_React_.createElement)(Wrapper, { + resetAllFilter: resetAllFilter, + value: value, + onChange: onChange, + panelId: panelId + }, (showBorderWidth || showBorderColor) && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + hasValue: () => (0,external_wp_components_namespaceObject.__experimentalIsDefinedBorder)(value?.border), + label: (0,external_wp_i18n_namespaceObject.__)('Border'), + onDeselect: () => resetBorder(), + isShownByDefault: showBorderByDefault, + panelId: panelId + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalBorderBoxControl, { + colors: colors, + enableAlpha: true, + enableStyle: showBorderStyle, + onChange: onBorderChange, + popoverOffset: 40, + popoverPlacement: "left-start", + value: border, + __experimentalIsRenderedInSidebar: true, + size: '__unstable-large' + })), showBorderRadius && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + hasValue: hasBorderRadius, + label: (0,external_wp_i18n_namespaceObject.__)('Radius'), + onDeselect: () => setBorderRadius(undefined), + isShownByDefault: defaultControls.radius, + panelId: panelId + }, (0,external_React_.createElement)(BorderRadiusControl, { + values: borderRadiusValues, + onChange: newValue => { + setBorderRadius(newValue || undefined); + } + }))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/border.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + + + +const BORDER_SUPPORT_KEY = '__experimentalBorder'; +const getColorByProperty = (colors, property, value) => { + let matchedColor; + colors.some(origin => origin.colors.some(color => { + if (color[property] === value) { + matchedColor = color; + return true; + } + return false; + })); + return matchedColor; +}; +const getMultiOriginColor = ({ + colors, + namedColor, + customColor +}) => { + // Search each origin (default, theme, or user) for matching color by name. + if (namedColor) { + const colorObject = getColorByProperty(colors, 'slug', namedColor); + if (colorObject) { + return colorObject; + } + } + + // Skip if no custom color or matching named color. + if (!customColor) { + return { + color: undefined + }; + } + + // Attempt to find color via custom color value or build new object. + const colorObject = getColorByProperty(colors, 'color', customColor); + return colorObject ? colorObject : { + color: customColor + }; +}; +function getColorSlugFromVariable(value) { + const namedColor = /var:preset\|color\|(.+)/.exec(value); + if (namedColor && namedColor[1]) { + return namedColor[1]; + } + return null; +} +function styleToAttributes(style) { + if ((0,external_wp_components_namespaceObject.__experimentalHasSplitBorders)(style?.border)) { + return { + style, + borderColor: undefined + }; + } + const borderColorValue = style?.border?.color; + const borderColorSlug = borderColorValue?.startsWith('var:preset|color|') ? borderColorValue.substring('var:preset|color|'.length) : undefined; + const updatedStyle = { + ...style + }; + updatedStyle.border = { + ...updatedStyle.border, + color: borderColorSlug ? undefined : borderColorValue + }; + return { + style: utils_cleanEmptyObject(updatedStyle), + borderColor: borderColorSlug + }; +} +function attributesToStyle(attributes) { + if ((0,external_wp_components_namespaceObject.__experimentalHasSplitBorders)(attributes.style?.border)) { + return attributes.style; + } + return { + ...attributes.style, + border: { + ...attributes.style?.border, + color: attributes.borderColor ? 'var:preset|color|' + attributes.borderColor : attributes.style?.border?.color + } + }; +} +function BordersInspectorControl({ + children, + resetAllFilter +}) { + const attributesResetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(attributes => { + const existingStyle = attributesToStyle(attributes); + const updatedStyle = resetAllFilter(existingStyle); + return { + ...attributes, + ...styleToAttributes(updatedStyle) + }; + }, [resetAllFilter]); + return (0,external_React_.createElement)(inspector_controls, { + group: "border", + resetAllFilter: attributesResetAllFilter + }, children); +} +function border_BorderPanel({ + clientId, + name, + setAttributes, + settings +}) { + const isEnabled = useHasBorderPanel(settings); + function selector(select) { + const { + style, + borderColor + } = select(store).getBlockAttributes(clientId) || {}; + return { + style, + borderColor + }; + } + const { + style, + borderColor + } = (0,external_wp_data_namespaceObject.useSelect)(selector, [clientId]); + const value = (0,external_wp_element_namespaceObject.useMemo)(() => { + return attributesToStyle({ + style, + borderColor + }); + }, [style, borderColor]); + const onChange = newStyle => { + setAttributes(styleToAttributes(newStyle)); + }; + if (!isEnabled) { + return null; + } + const defaultControls = (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, [BORDER_SUPPORT_KEY, '__experimentalDefaultControls']); + return (0,external_React_.createElement)(BorderPanel, { + as: BordersInspectorControl, + panelId: clientId, + settings: settings, + value: value, + onChange: onChange, + defaultControls: defaultControls + }); +} + +/** + * Determine whether there is block support for border properties. + * + * @param {string} blockName Block name. + * @param {string} feature Border feature to check support for. + * + * @return {boolean} Whether there is support. + */ +function hasBorderSupport(blockName, feature = 'any') { + if (external_wp_element_namespaceObject.Platform.OS !== 'web') { + return false; + } + const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockName, BORDER_SUPPORT_KEY); + if (support === true) { + return true; + } + if (feature === 'any') { + return !!(support?.color || support?.radius || support?.width || support?.style); + } + return !!support?.[feature]; +} + +/** + * Returns a new style object where the specified border attribute has been + * removed. + * + * @param {Object} style Styles from block attributes. + * @param {string} attribute The border style attribute to clear. + * + * @return {Object} Style object with the specified attribute removed. + */ +function removeBorderAttribute(style, attribute) { + return cleanEmptyObject({ + ...style, + border: { + ...style?.border, + [attribute]: undefined + } + }); +} + +/** + * Filters registered block settings, extending attributes to include + * `borderColor` if needed. + * + * @param {Object} settings Original block settings. + * + * @return {Object} Updated block settings. + */ +function addAttributes(settings) { + if (!hasBorderSupport(settings, 'color')) { + return settings; + } + + // Allow blocks to specify default value if needed. + if (settings.attributes.borderColor) { + return settings; + } + + // Add new borderColor attribute to block settings. + return { + ...settings, + attributes: { + ...settings.attributes, + borderColor: { + type: 'string' + } + } + }; +} + +/** + * Override props assigned to save component to inject border color. + * + * @param {Object} props Additional props applied to save element. + * @param {Object|string} blockNameOrType Block type definition. + * @param {Object} attributes Block's attributes. + * + * @return {Object} Filtered props to apply to save element. + */ +function border_addSaveProps(props, blockNameOrType, attributes) { + if (!hasBorderSupport(blockNameOrType, 'color') || shouldSkipSerialization(blockNameOrType, BORDER_SUPPORT_KEY, 'color')) { + return props; + } + const borderClasses = getBorderClasses(attributes); + const newClassName = classnames_default()(props.className, borderClasses); + + // If we are clearing the last of the previous classes in `className` + // set it to `undefined` to avoid rendering empty DOM attributes. + props.className = newClassName ? newClassName : undefined; + return props; +} + +/** + * Generates a CSS class name consisting of all the applicable border color + * classes given the current block attributes. + * + * @param {Object} attributes Block's attributes. + * + * @return {string} CSS class name. + */ +function getBorderClasses(attributes) { + const { + borderColor, + style + } = attributes; + const borderColorClass = getColorClassName('border-color', borderColor); + return classnames_default()({ + 'has-border-color': borderColor || style?.border?.color, + [borderColorClass]: !!borderColorClass + }); +} +function border_useBlockProps({ + name, + borderColor, + style +}) { + const { + colors + } = useMultipleOriginColorsAndGradients(); + if (!hasBorderSupport(name, 'color') || shouldSkipSerialization(name, BORDER_SUPPORT_KEY, 'color')) { + return {}; + } + const { + color: borderColorValue + } = getMultiOriginColor({ + colors, + namedColor: borderColor + }); + const { + color: borderTopColor + } = getMultiOriginColor({ + colors, + namedColor: getColorSlugFromVariable(style?.border?.top?.color) + }); + const { + color: borderRightColor + } = getMultiOriginColor({ + colors, + namedColor: getColorSlugFromVariable(style?.border?.right?.color) + }); + const { + color: borderBottomColor + } = getMultiOriginColor({ + colors, + namedColor: getColorSlugFromVariable(style?.border?.bottom?.color) + }); + const { + color: borderLeftColor + } = getMultiOriginColor({ + colors, + namedColor: getColorSlugFromVariable(style?.border?.left?.color) + }); + const extraStyles = { + borderTopColor: borderTopColor || borderColorValue, + borderRightColor: borderRightColor || borderColorValue, + borderBottomColor: borderBottomColor || borderColorValue, + borderLeftColor: borderLeftColor || borderColorValue + }; + return border_addSaveProps({ + style: utils_cleanEmptyObject(extraStyles) || {} + }, name, { + borderColor, + style + }); +} +/* harmony default export */ var border = ({ + useBlockProps: border_useBlockProps, + addSaveProps: border_addSaveProps, + attributeKeys: ['borderColor', 'style'], + hasSupport(name) { + return hasBorderSupport(name, 'color'); + } +}); +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/border/addAttributes', addAttributes); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/gradients/use-gradient.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +function __experimentalGetGradientClass(gradientSlug) { + if (!gradientSlug) { + return undefined; + } + return `has-${gradientSlug}-gradient-background`; +} + +/** + * Retrieves the gradient value per slug. + * + * @param {Array} gradients Gradient Palette + * @param {string} slug Gradient slug + * + * @return {string} Gradient value. + */ +function getGradientValueBySlug(gradients, slug) { + const gradient = gradients?.find(g => g.slug === slug); + return gradient && gradient.gradient; +} +function __experimentalGetGradientObjectByGradientValue(gradients, value) { + const gradient = gradients?.find(g => g.gradient === value); + return gradient; +} + +/** + * Retrieves the gradient slug per slug. + * + * @param {Array} gradients Gradient Palette + * @param {string} value Gradient value + * @return {string} Gradient slug. + */ +function getGradientSlugByValue(gradients, value) { + const gradient = __experimentalGetGradientObjectByGradientValue(gradients, value); + return gradient && gradient.slug; +} +function __experimentalUseGradient({ + gradientAttribute = 'gradient', + customGradientAttribute = 'customGradient' +} = {}) { + const { + clientId + } = useBlockEditContext(); + const [userGradientPalette, themeGradientPalette, defaultGradientPalette] = use_settings_useSettings('color.gradients.custom', 'color.gradients.theme', 'color.gradients.default'); + const allGradients = (0,external_wp_element_namespaceObject.useMemo)(() => [...(userGradientPalette || []), ...(themeGradientPalette || []), ...(defaultGradientPalette || [])], [userGradientPalette, themeGradientPalette, defaultGradientPalette]); + const { + gradient, + customGradient + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlockAttributes + } = select(store); + const attributes = getBlockAttributes(clientId) || {}; + return { + customGradient: attributes[customGradientAttribute], + gradient: attributes[gradientAttribute] + }; + }, [clientId, gradientAttribute, customGradientAttribute]); + const { + updateBlockAttributes + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const setGradient = (0,external_wp_element_namespaceObject.useCallback)(newGradientValue => { + const slug = getGradientSlugByValue(allGradients, newGradientValue); + if (slug) { + updateBlockAttributes(clientId, { + [gradientAttribute]: slug, + [customGradientAttribute]: undefined + }); + return; + } + updateBlockAttributes(clientId, { + [gradientAttribute]: undefined, + [customGradientAttribute]: newGradientValue + }); + }, [allGradients, clientId, updateBlockAttributes]); + const gradientClass = __experimentalGetGradientClass(gradient); + let gradientValue; + if (gradient) { + gradientValue = getGradientValueBySlug(allGradients, gradient); + } else { + gradientValue = customGradient; + } + return { + gradientClass, + gradientValue, + setGradient + }; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors-gradients/control.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +const colorsAndGradientKeys = ['colors', 'disableCustomColors', 'gradients', 'disableCustomGradients']; +const TAB_IDS = { + color: 'color', + gradient: 'gradient' +}; +function ColorGradientControlInner({ + colors, + gradients, + disableCustomColors, + disableCustomGradients, + __experimentalIsRenderedInSidebar, + className, + label, + onColorChange, + onGradientChange, + colorValue, + gradientValue, + clearable, + showTitle = true, + enableAlpha, + headingLevel +}) { + const canChooseAColor = onColorChange && (colors && colors.length > 0 || !disableCustomColors); + const canChooseAGradient = onGradientChange && (gradients && gradients.length > 0 || !disableCustomGradients); + if (!canChooseAColor && !canChooseAGradient) { + return null; + } + const tabPanels = { + [TAB_IDS.color]: (0,external_React_.createElement)(external_wp_components_namespaceObject.ColorPalette, { + value: colorValue, + onChange: canChooseAGradient ? newColor => { + onColorChange(newColor); + onGradientChange(); + } : onColorChange, + colors, + disableCustomColors, + __experimentalIsRenderedInSidebar: __experimentalIsRenderedInSidebar, + clearable: clearable, + enableAlpha: enableAlpha, + headingLevel: headingLevel + }), + [TAB_IDS.gradient]: (0,external_React_.createElement)(external_wp_components_namespaceObject.GradientPicker, { + __nextHasNoMargin: true, + value: gradientValue, + onChange: canChooseAColor ? newGradient => { + onGradientChange(newGradient); + onColorChange(); + } : onGradientChange, + gradients, + disableCustomGradients, + __experimentalIsRenderedInSidebar: __experimentalIsRenderedInSidebar, + clearable: clearable, + headingLevel: headingLevel + }) + }; + const renderPanelType = type => (0,external_React_.createElement)("div", { + className: "block-editor-color-gradient-control__panel" + }, tabPanels[type]); + + // Unlocking `Tabs` too early causes the `unlock` method to receive an empty + // object, due to circular dependencies. + // See https://github.com/WordPress/gutenberg/issues/52692 + const { + Tabs + } = unlock(external_wp_components_namespaceObject.privateApis); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.BaseControl, { + __nextHasNoMarginBottom: true, + className: classnames_default()('block-editor-color-gradient-control', className) + }, (0,external_React_.createElement)("fieldset", { + className: "block-editor-color-gradient-control__fieldset" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + spacing: 1 + }, showTitle && (0,external_React_.createElement)("legend", null, (0,external_React_.createElement)("div", { + className: "block-editor-color-gradient-control__color-indicator" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, null, label))), canChooseAColor && canChooseAGradient && (0,external_React_.createElement)("div", null, (0,external_React_.createElement)(Tabs, { + initialTabId: gradientValue ? TAB_IDS.gradient : !!canChooseAColor && TAB_IDS.color + }, (0,external_React_.createElement)(Tabs.TabList, null, (0,external_React_.createElement)(Tabs.Tab, { + tabId: TAB_IDS.color + }, (0,external_wp_i18n_namespaceObject.__)('Solid')), (0,external_React_.createElement)(Tabs.Tab, { + tabId: TAB_IDS.gradient + }, (0,external_wp_i18n_namespaceObject.__)('Gradient'))), (0,external_React_.createElement)(Tabs.TabPanel, { + tabId: TAB_IDS.color, + className: 'block-editor-color-gradient-control__panel', + focusable: false + }, tabPanels.color), (0,external_React_.createElement)(Tabs.TabPanel, { + tabId: TAB_IDS.gradient, + className: 'block-editor-color-gradient-control__panel', + focusable: false + }, tabPanels.gradient))), !canChooseAGradient && renderPanelType(TAB_IDS.color), !canChooseAColor && renderPanelType(TAB_IDS.gradient)))); +} +function ColorGradientControlSelect(props) { + const [colors, gradients, customColors, customGradients] = use_settings_useSettings('color.palette', 'color.gradients', 'color.custom', 'color.customGradient'); + return (0,external_React_.createElement)(ColorGradientControlInner, { + colors: colors, + gradients: gradients, + disableCustomColors: !customColors, + disableCustomGradients: !customGradients, + ...props + }); +} +function ColorGradientControl(props) { + if (colorsAndGradientKeys.every(key => props.hasOwnProperty(key))) { + return (0,external_React_.createElement)(ColorGradientControlInner, { + ...props + }); + } + return (0,external_React_.createElement)(ColorGradientControlSelect, { + ...props + }); +} +/* harmony default export */ var control = (ColorGradientControl); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/color-panel.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + +function useHasColorPanel(settings) { + const hasTextPanel = useHasTextPanel(settings); + const hasBackgroundPanel = useHasBackgroundPanel(settings); + const hasLinkPanel = useHasLinkPanel(settings); + const hasHeadingPanel = useHasHeadingPanel(settings); + const hasButtonPanel = useHasButtonPanel(settings); + const hasCaptionPanel = useHasCaptionPanel(settings); + return hasTextPanel || hasBackgroundPanel || hasLinkPanel || hasHeadingPanel || hasButtonPanel || hasCaptionPanel; +} +function useHasTextPanel(settings) { + const colors = useColorsPerOrigin(settings); + return settings?.color?.text && (colors?.length > 0 || settings?.color?.custom); +} +function useHasLinkPanel(settings) { + const colors = useColorsPerOrigin(settings); + return settings?.color?.link && (colors?.length > 0 || settings?.color?.custom); +} +function useHasCaptionPanel(settings) { + const colors = useColorsPerOrigin(settings); + return settings?.color?.caption && (colors?.length > 0 || settings?.color?.custom); +} +function useHasHeadingPanel(settings) { + const colors = useColorsPerOrigin(settings); + const gradients = useGradientsPerOrigin(settings); + return settings?.color?.heading && (colors?.length > 0 || settings?.color?.custom || gradients?.length > 0 || settings?.color?.customGradient); +} +function useHasButtonPanel(settings) { + const colors = useColorsPerOrigin(settings); + const gradients = useGradientsPerOrigin(settings); + return settings?.color?.button && (colors?.length > 0 || settings?.color?.custom || gradients?.length > 0 || settings?.color?.customGradient); +} +function useHasBackgroundPanel(settings) { + const colors = useColorsPerOrigin(settings); + const gradients = useGradientsPerOrigin(settings); + return settings?.color?.background && (colors?.length > 0 || settings?.color?.custom || gradients?.length > 0 || settings?.color?.customGradient); +} +function ColorToolsPanel({ + resetAllFilter, + onChange, + value, + panelId, + children +}) { + const resetAll = () => { + const updatedValue = resetAllFilter(value); + onChange(updatedValue); + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { + label: (0,external_wp_i18n_namespaceObject.__)('Color'), + resetAll: resetAll, + panelId: panelId, + hasInnerWrapper: true, + className: "color-block-support-panel", + __experimentalFirstVisibleItemClass: "first", + __experimentalLastVisibleItemClass: "last", + dropdownMenuProps: TOOLSPANEL_DROPDOWNMENU_PROPS + }, (0,external_React_.createElement)("div", { + className: "color-block-support-panel__inner-wrapper" + }, children)); +} +const color_panel_DEFAULT_CONTROLS = { + text: true, + background: true, + link: true, + heading: true, + button: true, + caption: true +}; +const popoverProps = { + placement: 'left-start', + offset: 36, + shift: true +}; +const LabeledColorIndicators = ({ + indicators, + label +}) => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + justify: "flex-start" +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalZStack, { + isLayered: false, + offset: -8 +}, indicators.map((indicator, index) => (0,external_React_.createElement)(external_wp_components_namespaceObject.Flex, { + key: index, + expanded: false +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.ColorIndicator, { + colorValue: indicator +})))), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, { + className: "block-editor-panel-color-gradient-settings__color-name", + title: label +}, label)); +function ColorPanelTab({ + isGradient, + inheritedValue, + userValue, + setValue, + colorGradientControlSettings +}) { + return (0,external_React_.createElement)(control, { + ...colorGradientControlSettings, + showTitle: false, + enableAlpha: true, + __experimentalIsRenderedInSidebar: true, + colorValue: isGradient ? undefined : inheritedValue, + gradientValue: isGradient ? inheritedValue : undefined, + onColorChange: isGradient ? undefined : setValue, + onGradientChange: isGradient ? setValue : undefined, + clearable: inheritedValue === userValue, + headingLevel: 3 + }); +} +function ColorPanelDropdown({ + label, + hasValue, + resetValue, + isShownByDefault, + indicators, + tabs, + colorGradientControlSettings, + panelId +}) { + const currentTab = tabs.find(tab => tab.userValue !== undefined); + // Unlocking `Tabs` too early causes the `unlock` method to receive an empty + // object, due to circular dependencies. + // See https://github.com/WordPress/gutenberg/issues/52692 + const { + Tabs + } = unlock(external_wp_components_namespaceObject.privateApis); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + className: "block-editor-tools-panel-color-gradient-settings__item", + hasValue: hasValue, + label: label, + onDeselect: resetValue, + isShownByDefault: isShownByDefault, + panelId: panelId + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Dropdown, { + popoverProps: popoverProps, + className: "block-editor-tools-panel-color-gradient-settings__dropdown", + renderToggle: ({ + onToggle, + isOpen + }) => { + const toggleProps = { + onClick: onToggle, + className: classnames_default()('block-editor-panel-color-gradient-settings__dropdown', { + 'is-open': isOpen + }), + 'aria-expanded': isOpen, + 'aria-label': (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s is the type of color property, e.g., "background" */ + (0,external_wp_i18n_namespaceObject.__)('Color %s styles'), label) + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + ...toggleProps + }, (0,external_React_.createElement)(LabeledColorIndicators, { + indicators: indicators, + label: label + })); + }, + renderContent: () => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalDropdownContentWrapper, { + paddingSize: "none" + }, (0,external_React_.createElement)("div", { + className: "block-editor-panel-color-gradient-settings__dropdown-content" + }, tabs.length === 1 && (0,external_React_.createElement)(ColorPanelTab, { + ...tabs[0], + colorGradientControlSettings: colorGradientControlSettings + }), tabs.length > 1 && (0,external_React_.createElement)(Tabs, { + initialTabId: currentTab?.key + }, (0,external_React_.createElement)(Tabs.TabList, null, tabs.map(tab => (0,external_React_.createElement)(Tabs.Tab, { + key: tab.key, + tabId: tab.key + }, tab.label))), tabs.map(tab => { + return (0,external_React_.createElement)(Tabs.TabPanel, { + key: tab.key, + tabId: tab.key, + focusable: false + }, (0,external_React_.createElement)(ColorPanelTab, { + ...tab, + colorGradientControlSettings: colorGradientControlSettings + })); + })))) + })); +} +function ColorPanel({ + as: Wrapper = ColorToolsPanel, + value, + onChange, + inheritedValue = value, + settings, + panelId, + defaultControls = color_panel_DEFAULT_CONTROLS, + children +}) { + const colors = useColorsPerOrigin(settings); + const gradients = useGradientsPerOrigin(settings); + const areCustomSolidsEnabled = settings?.color?.custom; + const areCustomGradientsEnabled = settings?.color?.customGradient; + const hasSolidColors = colors.length > 0 || areCustomSolidsEnabled; + const hasGradientColors = gradients.length > 0 || areCustomGradientsEnabled; + const decodeValue = rawValue => getValueFromVariable({ + settings + }, '', rawValue); + const encodeColorValue = colorValue => { + const allColors = colors.flatMap(({ + colors: originColors + }) => originColors); + const colorObject = allColors.find(({ + color + }) => color === colorValue); + return colorObject ? 'var:preset|color|' + colorObject.slug : colorValue; + }; + const encodeGradientValue = gradientValue => { + const allGradients = gradients.flatMap(({ + gradients: originGradients + }) => originGradients); + const gradientObject = allGradients.find(({ + gradient + }) => gradient === gradientValue); + return gradientObject ? 'var:preset|gradient|' + gradientObject.slug : gradientValue; + }; + + // BackgroundColor + const showBackgroundPanel = useHasBackgroundPanel(settings); + const backgroundColor = decodeValue(inheritedValue?.color?.background); + const userBackgroundColor = decodeValue(value?.color?.background); + const gradient = decodeValue(inheritedValue?.color?.gradient); + const userGradient = decodeValue(value?.color?.gradient); + const hasBackground = () => !!userBackgroundColor || !!userGradient; + const setBackgroundColor = newColor => { + const newValue = setImmutably(value, ['color', 'background'], encodeColorValue(newColor)); + newValue.color.gradient = undefined; + onChange(newValue); + }; + const setGradient = newGradient => { + const newValue = setImmutably(value, ['color', 'gradient'], encodeGradientValue(newGradient)); + newValue.color.background = undefined; + onChange(newValue); + }; + const resetBackground = () => { + const newValue = setImmutably(value, ['color', 'background'], undefined); + newValue.color.gradient = undefined; + onChange(newValue); + }; + + // Links + const showLinkPanel = useHasLinkPanel(settings); + const linkColor = decodeValue(inheritedValue?.elements?.link?.color?.text); + const userLinkColor = decodeValue(value?.elements?.link?.color?.text); + const setLinkColor = newColor => { + onChange(setImmutably(value, ['elements', 'link', 'color', 'text'], encodeColorValue(newColor))); + }; + const hoverLinkColor = decodeValue(inheritedValue?.elements?.link?.[':hover']?.color?.text); + const userHoverLinkColor = decodeValue(value?.elements?.link?.[':hover']?.color?.text); + const setHoverLinkColor = newColor => { + onChange(setImmutably(value, ['elements', 'link', ':hover', 'color', 'text'], encodeColorValue(newColor))); + }; + const hasLink = () => !!userLinkColor || !!userHoverLinkColor; + const resetLink = () => { + let newValue = setImmutably(value, ['elements', 'link', ':hover', 'color', 'text'], undefined); + newValue = setImmutably(newValue, ['elements', 'link', 'color', 'text'], undefined); + onChange(newValue); + }; + + // Text Color + const showTextPanel = useHasTextPanel(settings); + const textColor = decodeValue(inheritedValue?.color?.text); + const userTextColor = decodeValue(value?.color?.text); + const hasTextColor = () => !!userTextColor; + const setTextColor = newColor => { + let changedObject = setImmutably(value, ['color', 'text'], encodeColorValue(newColor)); + if (textColor === linkColor) { + changedObject = setImmutably(changedObject, ['elements', 'link', 'color', 'text'], encodeColorValue(newColor)); + } + onChange(changedObject); + }; + const resetTextColor = () => setTextColor(undefined); + + // Elements + const elements = [{ + name: 'caption', + label: (0,external_wp_i18n_namespaceObject.__)('Captions'), + showPanel: useHasCaptionPanel(settings) + }, { + name: 'button', + label: (0,external_wp_i18n_namespaceObject.__)('Button'), + showPanel: useHasButtonPanel(settings) + }, { + name: 'heading', + label: (0,external_wp_i18n_namespaceObject.__)('Heading'), + showPanel: useHasHeadingPanel(settings) + }, { + name: 'h1', + label: (0,external_wp_i18n_namespaceObject.__)('H1'), + showPanel: useHasHeadingPanel(settings) + }, { + name: 'h2', + label: (0,external_wp_i18n_namespaceObject.__)('H2'), + showPanel: useHasHeadingPanel(settings) + }, { + name: 'h3', + label: (0,external_wp_i18n_namespaceObject.__)('H3'), + showPanel: useHasHeadingPanel(settings) + }, { + name: 'h4', + label: (0,external_wp_i18n_namespaceObject.__)('H4'), + showPanel: useHasHeadingPanel(settings) + }, { + name: 'h5', + label: (0,external_wp_i18n_namespaceObject.__)('H5'), + showPanel: useHasHeadingPanel(settings) + }, { + name: 'h6', + label: (0,external_wp_i18n_namespaceObject.__)('H6'), + showPanel: useHasHeadingPanel(settings) + }]; + const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { + return { + ...previousValue, + color: undefined, + elements: { + ...previousValue?.elements, + link: { + ...previousValue?.elements?.link, + color: undefined, + ':hover': { + color: undefined + } + }, + ...elements.reduce((acc, element) => { + return { + ...acc, + [element.name]: { + ...previousValue?.elements?.[element.name], + color: undefined + } + }; + }, {}) + } + }; + }, []); + const items = [showTextPanel && { + key: 'text', + label: (0,external_wp_i18n_namespaceObject.__)('Text'), + hasValue: hasTextColor, + resetValue: resetTextColor, + isShownByDefault: defaultControls.text, + indicators: [textColor], + tabs: [{ + key: 'text', + label: (0,external_wp_i18n_namespaceObject.__)('Text'), + inheritedValue: textColor, + setValue: setTextColor, + userValue: userTextColor + }] + }, showBackgroundPanel && { + key: 'background', + label: (0,external_wp_i18n_namespaceObject.__)('Background'), + hasValue: hasBackground, + resetValue: resetBackground, + isShownByDefault: defaultControls.background, + indicators: [gradient !== null && gradient !== void 0 ? gradient : backgroundColor], + tabs: [hasSolidColors && { + key: 'background', + label: (0,external_wp_i18n_namespaceObject.__)('Solid'), + inheritedValue: backgroundColor, + setValue: setBackgroundColor, + userValue: userBackgroundColor + }, hasGradientColors && { + key: 'gradient', + label: (0,external_wp_i18n_namespaceObject.__)('Gradient'), + inheritedValue: gradient, + setValue: setGradient, + userValue: userGradient, + isGradient: true + }].filter(Boolean) + }, showLinkPanel && { + key: 'link', + label: (0,external_wp_i18n_namespaceObject.__)('Link'), + hasValue: hasLink, + resetValue: resetLink, + isShownByDefault: defaultControls.link, + indicators: [linkColor, hoverLinkColor], + tabs: [{ + key: 'link', + label: (0,external_wp_i18n_namespaceObject.__)('Default'), + inheritedValue: linkColor, + setValue: setLinkColor, + userValue: userLinkColor + }, { + key: 'hover', + label: (0,external_wp_i18n_namespaceObject.__)('Hover'), + inheritedValue: hoverLinkColor, + setValue: setHoverLinkColor, + userValue: userHoverLinkColor + }] + }].filter(Boolean); + elements.forEach(({ + name, + label, + showPanel + }) => { + if (!showPanel) return; + const elementBackgroundColor = decodeValue(inheritedValue?.elements?.[name]?.color?.background); + const elementGradient = decodeValue(inheritedValue?.elements?.[name]?.color?.gradient); + const elementTextColor = decodeValue(inheritedValue?.elements?.[name]?.color?.text); + const elementBackgroundUserColor = decodeValue(value?.elements?.[name]?.color?.background); + const elementGradientUserColor = decodeValue(value?.elements?.[name]?.color?.gradient); + const elementTextUserColor = decodeValue(value?.elements?.[name]?.color?.text); + const hasElement = () => !!(elementTextUserColor || elementBackgroundUserColor || elementGradientUserColor); + const resetElement = () => { + const newValue = setImmutably(value, ['elements', name, 'color', 'background'], undefined); + newValue.elements[name].color.gradient = undefined; + newValue.elements[name].color.text = undefined; + onChange(newValue); + }; + const setElementTextColor = newTextColor => { + onChange(setImmutably(value, ['elements', name, 'color', 'text'], encodeColorValue(newTextColor))); + }; + const setElementBackgroundColor = newBackgroundColor => { + const newValue = setImmutably(value, ['elements', name, 'color', 'background'], encodeColorValue(newBackgroundColor)); + newValue.elements[name].color.gradient = undefined; + onChange(newValue); + }; + const setElementGradient = newGradient => { + const newValue = setImmutably(value, ['elements', name, 'color', 'gradient'], encodeGradientValue(newGradient)); + newValue.elements[name].color.background = undefined; + onChange(newValue); + }; + const supportsTextColor = true; + // Background color is not supported for `caption` + // as there isn't yet a way to set padding for the element. + const supportsBackground = name !== 'caption'; + items.push({ + key: name, + label, + hasValue: hasElement, + resetValue: resetElement, + isShownByDefault: defaultControls[name], + indicators: supportsTextColor && supportsBackground ? [elementTextColor, elementGradient !== null && elementGradient !== void 0 ? elementGradient : elementBackgroundColor] : [supportsTextColor ? elementTextColor : elementGradient !== null && elementGradient !== void 0 ? elementGradient : elementBackgroundColor], + tabs: [hasSolidColors && supportsTextColor && { + key: 'text', + label: (0,external_wp_i18n_namespaceObject.__)('Text'), + inheritedValue: elementTextColor, + setValue: setElementTextColor, + userValue: elementTextUserColor + }, hasSolidColors && supportsBackground && { + key: 'background', + label: (0,external_wp_i18n_namespaceObject.__)('Background'), + inheritedValue: elementBackgroundColor, + setValue: setElementBackgroundColor, + userValue: elementBackgroundUserColor + }, hasGradientColors && supportsBackground && { + key: 'gradient', + label: (0,external_wp_i18n_namespaceObject.__)('Gradient'), + inheritedValue: elementGradient, + setValue: setElementGradient, + userValue: elementGradientUserColor, + isGradient: true + }].filter(Boolean) + }); + }); + return (0,external_React_.createElement)(Wrapper, { + resetAllFilter: resetAllFilter, + value: value, + onChange: onChange, + panelId: panelId + }, items.map(item => (0,external_React_.createElement)(ColorPanelDropdown, { + key: item.key, + ...item, + colorGradientControlSettings: { + colors, + disableCustomColors: !areCustomSolidsEnabled, + gradients, + disableCustomGradients: !areCustomGradientsEnabled + }, + panelId: panelId + })), children); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/contrast-checker/index.js + +/** + * External dependencies + */ + + + + +/** + * WordPress dependencies + */ + + + +k([names, a11y]); +function ContrastChecker({ + backgroundColor, + fallbackBackgroundColor, + fallbackTextColor, + fallbackLinkColor, + fontSize, + // Font size value in pixels. + isLargeText, + textColor, + linkColor, + enableAlphaChecker = false +}) { + const currentBackgroundColor = backgroundColor || fallbackBackgroundColor; + + // Must have a background color. + if (!currentBackgroundColor) { + return null; + } + const currentTextColor = textColor || fallbackTextColor; + const currentLinkColor = linkColor || fallbackLinkColor; + + // Must have at least one text color. + if (!currentTextColor && !currentLinkColor) { + return null; + } + const textColors = [{ + color: currentTextColor, + description: (0,external_wp_i18n_namespaceObject.__)('text color') + }, { + color: currentLinkColor, + description: (0,external_wp_i18n_namespaceObject.__)('link color') + }]; + const colordBackgroundColor = w(currentBackgroundColor); + const backgroundColorHasTransparency = colordBackgroundColor.alpha() < 1; + const backgroundColorBrightness = colordBackgroundColor.brightness(); + const isReadableOptions = { + level: 'AA', + size: isLargeText || isLargeText !== false && fontSize >= 24 ? 'large' : 'small' + }; + let message = ''; + let speakMessage = ''; + for (const item of textColors) { + // If there is no color, go no further. + if (!item.color) { + continue; + } + const colordTextColor = w(item.color); + const isColordTextReadable = colordTextColor.isReadable(colordBackgroundColor, isReadableOptions); + const textHasTransparency = colordTextColor.alpha() < 1; + + // If the contrast is not readable. + if (!isColordTextReadable) { + // Don't show the message if the background or text is transparent. + if (backgroundColorHasTransparency || textHasTransparency) { + continue; + } + message = backgroundColorBrightness < colordTextColor.brightness() ? (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s is a type of text color, e.g., "text color" or "link color". + (0,external_wp_i18n_namespaceObject.__)('This color combination may be hard for people to read. Try using a darker background color and/or a brighter %s.'), item.description) : (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s is a type of text color, e.g., "text color" or "link color". + (0,external_wp_i18n_namespaceObject.__)('This color combination may be hard for people to read. Try using a brighter background color and/or a darker %s.'), item.description); + speakMessage = (0,external_wp_i18n_namespaceObject.__)('This color combination may be hard for people to read.'); + // Break from the loop when we have a contrast warning. + // These messages take priority over the transparency warning. + break; + } + + // If there is no contrast warning and the text is transparent, + // show the transparent warning if alpha check is enabled. + if (textHasTransparency && enableAlphaChecker) { + message = (0,external_wp_i18n_namespaceObject.__)('Transparent text may be hard for people to read.'); + speakMessage = (0,external_wp_i18n_namespaceObject.__)('Transparent text may be hard for people to read.'); + } + } + if (!message) { + return null; + } + + // Note: The `Notice` component can speak messages via its `spokenMessage` + // prop, but the contrast checker requires granular control over when the + // announcements are made. Notably, the message will be re-announced if a + // new color combination is selected and the contrast is still insufficient. + (0,external_wp_a11y_namespaceObject.speak)(speakMessage); + return (0,external_React_.createElement)("div", { + className: "block-editor-contrast-checker" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Notice, { + spokenMessage: null, + status: "warning", + isDismissible: false + }, message)); +} + +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/contrast-checker/README.md + */ +/* harmony default export */ var contrast_checker = (ContrastChecker); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/provider/block-refs-provider.js + +/** + * WordPress dependencies + */ + +const BlockRefs = (0,external_wp_element_namespaceObject.createContext)({ + refs: new Map(), + callbacks: new Map() +}); +function BlockRefsProvider({ + children +}) { + const value = (0,external_wp_element_namespaceObject.useMemo)(() => ({ + refs: new Map(), + callbacks: new Map() + }), []); + return (0,external_React_.createElement)(BlockRefs.Provider, { + value: value + }, children); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-block-refs.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +/** @typedef {import('@wordpress/element').RefCallback} RefCallback */ +/** @typedef {import('@wordpress/element').RefObject} RefObject */ + +/** + * Provides a ref to the BlockRefs context. + * + * @param {string} clientId The client ID of the element ref. + * + * @return {RefCallback} Ref callback. + */ +function useBlockRefProvider(clientId) { + const { + refs, + callbacks + } = (0,external_wp_element_namespaceObject.useContext)(BlockRefs); + const ref = (0,external_wp_element_namespaceObject.useRef)(); + (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { + refs.set(ref, clientId); + return () => { + refs.delete(ref); + }; + }, [clientId]); + return (0,external_wp_compose_namespaceObject.useRefEffect)(element => { + // Update the ref in the provider. + ref.current = element; + // Call any update functions. + callbacks.forEach((id, setElement) => { + if (clientId === id) { + setElement(element); + } + }); + }, [clientId]); +} + +/** + * Gets a ref pointing to the current block element. Continues to return a + * stable ref even if the block client ID changes. + * + * @param {string} clientId The client ID to get a ref for. + * + * @return {RefObject} A ref containing the element. + */ +function useBlockRef(clientId) { + const { + refs + } = (0,external_wp_element_namespaceObject.useContext)(BlockRefs); + const freshClientId = (0,external_wp_element_namespaceObject.useRef)(); + freshClientId.current = clientId; + // Always return an object, even if no ref exists for a given client ID, so + // that `current` works at a later point. + return (0,external_wp_element_namespaceObject.useMemo)(() => ({ + get current() { + let element = null; + + // Multiple refs may be created for a single block. Find the + // first that has an element set. + for (const [ref, id] of refs.entries()) { + if (id === freshClientId.current && ref.current) { + element = ref.current; + } + } + return element; + } + }), []); +} + +/** + * Return the element for a given client ID. Updates whenever the element + * changes, becomes available, or disappears. + * + * @param {string} clientId The client ID to an element for. + * + * @return {Element|null} The block's wrapper element. + */ +function useBlockElement(clientId) { + const { + callbacks + } = (0,external_wp_element_namespaceObject.useContext)(BlockRefs); + const ref = useBlockRef(clientId); + const [element, setElement] = (0,external_wp_element_namespaceObject.useState)(null); + (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { + if (!clientId) { + return; + } + callbacks.set(setElement, clientId); + return () => { + callbacks.delete(setElement); + }; + }, [clientId]); + return ref.current || element; +} + + + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/contrast-checker.js + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +function getComputedStyle(node) { + return node.ownerDocument.defaultView.getComputedStyle(node); +} +function BlockColorContrastChecker({ + clientId +}) { + const [detectedBackgroundColor, setDetectedBackgroundColor] = (0,external_wp_element_namespaceObject.useState)(); + const [detectedColor, setDetectedColor] = (0,external_wp_element_namespaceObject.useState)(); + const [detectedLinkColor, setDetectedLinkColor] = (0,external_wp_element_namespaceObject.useState)(); + const ref = useBlockRef(clientId); + + // There are so many things that can change the color of a block + // So we perform this check on every render. + // eslint-disable-next-line react-hooks/exhaustive-deps + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (!ref.current) { + return; + } + setDetectedColor(getComputedStyle(ref.current).color); + const firstLinkElement = ref.current?.querySelector('a'); + if (firstLinkElement && !!firstLinkElement.innerText) { + setDetectedLinkColor(getComputedStyle(firstLinkElement).color); + } + let backgroundColorNode = ref.current; + let backgroundColor = getComputedStyle(backgroundColorNode).backgroundColor; + while (backgroundColor === 'rgba(0, 0, 0, 0)' && backgroundColorNode.parentNode && backgroundColorNode.parentNode.nodeType === backgroundColorNode.parentNode.ELEMENT_NODE) { + backgroundColorNode = backgroundColorNode.parentNode; + backgroundColor = getComputedStyle(backgroundColorNode).backgroundColor; + } + setDetectedBackgroundColor(backgroundColor); + }); + return (0,external_React_.createElement)(contrast_checker, { + backgroundColor: detectedBackgroundColor, + textColor: detectedColor, + enableAlphaChecker: true, + linkColor: detectedLinkColor + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/color.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + + + + + +const COLOR_SUPPORT_KEY = 'color'; +const hasColorSupport = blockNameOrType => { + const colorSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockNameOrType, COLOR_SUPPORT_KEY); + return colorSupport && (colorSupport.link === true || colorSupport.gradient === true || colorSupport.background !== false || colorSupport.text !== false); +}; +const hasLinkColorSupport = blockType => { + if (external_wp_element_namespaceObject.Platform.OS !== 'web') { + return false; + } + const colorSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, COLOR_SUPPORT_KEY); + return colorSupport !== null && typeof colorSupport === 'object' && !!colorSupport.link; +}; +const hasGradientSupport = blockNameOrType => { + const colorSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockNameOrType, COLOR_SUPPORT_KEY); + return colorSupport !== null && typeof colorSupport === 'object' && !!colorSupport.gradients; +}; +const hasBackgroundColorSupport = blockType => { + const colorSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, COLOR_SUPPORT_KEY); + return colorSupport && colorSupport.background !== false; +}; +const hasTextColorSupport = blockType => { + const colorSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, COLOR_SUPPORT_KEY); + return colorSupport && colorSupport.text !== false; +}; + +/** + * Filters registered block settings, extending attributes to include + * `backgroundColor` and `textColor` attribute. + * + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. + */ +function color_addAttributes(settings) { + if (!hasColorSupport(settings)) { + return settings; + } + + // Allow blocks to specify their own attribute definition with default values if needed. + if (!settings.attributes.backgroundColor) { + Object.assign(settings.attributes, { + backgroundColor: { + type: 'string' + } + }); + } + if (!settings.attributes.textColor) { + Object.assign(settings.attributes, { + textColor: { + type: 'string' + } + }); + } + if (hasGradientSupport(settings) && !settings.attributes.gradient) { + Object.assign(settings.attributes, { + gradient: { + type: 'string' + } + }); + } + return settings; +} + +/** + * Override props assigned to save component to inject colors classnames. + * + * @param {Object} props Additional props applied to save element. + * @param {Object|string} blockNameOrType Block type. + * @param {Object} attributes Block attributes. + * + * @return {Object} Filtered props applied to save element. + */ +function color_addSaveProps(props, blockNameOrType, attributes) { + if (!hasColorSupport(blockNameOrType) || shouldSkipSerialization(blockNameOrType, COLOR_SUPPORT_KEY)) { + return props; + } + const hasGradient = hasGradientSupport(blockNameOrType); + + // I'd have preferred to avoid the "style" attribute usage here + const { + backgroundColor, + textColor, + gradient, + style + } = attributes; + const shouldSerialize = feature => !shouldSkipSerialization(blockNameOrType, COLOR_SUPPORT_KEY, feature); + + // Primary color classes must come before the `has-text-color`, + // `has-background` and `has-link-color` classes to maintain backwards + // compatibility and avoid block invalidations. + const textClass = shouldSerialize('text') ? getColorClassName('color', textColor) : undefined; + const gradientClass = shouldSerialize('gradients') ? __experimentalGetGradientClass(gradient) : undefined; + const backgroundClass = shouldSerialize('background') ? getColorClassName('background-color', backgroundColor) : undefined; + const serializeHasBackground = shouldSerialize('background') || shouldSerialize('gradients'); + const hasBackground = backgroundColor || style?.color?.background || hasGradient && (gradient || style?.color?.gradient); + const newClassName = classnames_default()(props.className, textClass, gradientClass, { + // Don't apply the background class if there's a custom gradient. + [backgroundClass]: (!hasGradient || !style?.color?.gradient) && !!backgroundClass, + 'has-text-color': shouldSerialize('text') && (textColor || style?.color?.text), + 'has-background': serializeHasBackground && hasBackground, + 'has-link-color': shouldSerialize('link') && style?.elements?.link?.color + }); + props.className = newClassName ? newClassName : undefined; + return props; +} +function color_styleToAttributes(style) { + const textColorValue = style?.color?.text; + const textColorSlug = textColorValue?.startsWith('var:preset|color|') ? textColorValue.substring('var:preset|color|'.length) : undefined; + const backgroundColorValue = style?.color?.background; + const backgroundColorSlug = backgroundColorValue?.startsWith('var:preset|color|') ? backgroundColorValue.substring('var:preset|color|'.length) : undefined; + const gradientValue = style?.color?.gradient; + const gradientSlug = gradientValue?.startsWith('var:preset|gradient|') ? gradientValue.substring('var:preset|gradient|'.length) : undefined; + const updatedStyle = { + ...style + }; + updatedStyle.color = { + ...updatedStyle.color, + text: textColorSlug ? undefined : textColorValue, + background: backgroundColorSlug ? undefined : backgroundColorValue, + gradient: gradientSlug ? undefined : gradientValue + }; + return { + style: utils_cleanEmptyObject(updatedStyle), + textColor: textColorSlug, + backgroundColor: backgroundColorSlug, + gradient: gradientSlug + }; +} +function color_attributesToStyle(attributes) { + return { + ...attributes.style, + color: { + ...attributes.style?.color, + text: attributes.textColor ? 'var:preset|color|' + attributes.textColor : attributes.style?.color?.text, + background: attributes.backgroundColor ? 'var:preset|color|' + attributes.backgroundColor : attributes.style?.color?.background, + gradient: attributes.gradient ? 'var:preset|gradient|' + attributes.gradient : attributes.style?.color?.gradient + } + }; +} +function ColorInspectorControl({ + children, + resetAllFilter +}) { + const attributesResetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(attributes => { + const existingStyle = color_attributesToStyle(attributes); + const updatedStyle = resetAllFilter(existingStyle); + return { + ...attributes, + ...color_styleToAttributes(updatedStyle) + }; + }, [resetAllFilter]); + return (0,external_React_.createElement)(inspector_controls, { + group: "color", + resetAllFilter: attributesResetAllFilter + }, children); +} +function ColorEdit({ + clientId, + name, + setAttributes, + settings +}) { + const isEnabled = useHasColorPanel(settings); + function selector(select) { + const { + style, + textColor, + backgroundColor, + gradient + } = select(store).getBlockAttributes(clientId) || {}; + return { + style, + textColor, + backgroundColor, + gradient + }; + } + const { + style, + textColor, + backgroundColor, + gradient + } = (0,external_wp_data_namespaceObject.useSelect)(selector, [clientId]); + const value = (0,external_wp_element_namespaceObject.useMemo)(() => { + return color_attributesToStyle({ + style, + textColor, + backgroundColor, + gradient + }); + }, [style, textColor, backgroundColor, gradient]); + const onChange = newStyle => { + setAttributes(color_styleToAttributes(newStyle)); + }; + if (!isEnabled) { + return null; + } + const defaultControls = (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, [COLOR_SUPPORT_KEY, '__experimentalDefaultControls']); + const enableContrastChecking = external_wp_element_namespaceObject.Platform.OS === 'web' && !value?.color?.gradient && (settings?.color?.text || settings?.color?.link) && + // Contrast checking is enabled by default. + // Deactivating it requires `enableContrastChecker` to have + // an explicit value of `false`. + false !== (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, [COLOR_SUPPORT_KEY, 'enableContrastChecker']); + return (0,external_React_.createElement)(ColorPanel, { + as: ColorInspectorControl, + panelId: clientId, + settings: settings, + value: value, + onChange: onChange, + defaultControls: defaultControls, + enableContrastChecker: false !== (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, [COLOR_SUPPORT_KEY, 'enableContrastChecker']) + }, enableContrastChecking && (0,external_React_.createElement)(BlockColorContrastChecker, { + clientId: clientId + })); +} +function color_useBlockProps({ + name, + backgroundColor, + textColor, + gradient, + style +}) { + const [userPalette, themePalette, defaultPalette] = use_settings_useSettings('color.palette.custom', 'color.palette.theme', 'color.palette.default'); + const colors = (0,external_wp_element_namespaceObject.useMemo)(() => [...(userPalette || []), ...(themePalette || []), ...(defaultPalette || [])], [userPalette, themePalette, defaultPalette]); + if (!hasColorSupport(name) || shouldSkipSerialization(name, COLOR_SUPPORT_KEY)) { + return {}; + } + const extraStyles = {}; + if (textColor && !shouldSkipSerialization(name, COLOR_SUPPORT_KEY, 'text')) { + extraStyles.color = getColorObjectByAttributeValues(colors, textColor)?.color; + } + if (backgroundColor && !shouldSkipSerialization(name, COLOR_SUPPORT_KEY, 'background')) { + extraStyles.backgroundColor = getColorObjectByAttributeValues(colors, backgroundColor)?.color; + } + const saveProps = color_addSaveProps({ + style: extraStyles + }, name, { + textColor, + backgroundColor, + gradient, + style + }); + const hasBackgroundValue = backgroundColor || style?.color?.background || gradient || style?.color?.gradient; + return { + ...saveProps, + className: classnames_default()(saveProps.className, + // Add background image classes in the editor, if not already handled by background color values. + !hasBackgroundValue && getBackgroundImageClasses(style)) + }; +} +/* harmony default export */ var color = ({ + useBlockProps: color_useBlockProps, + addSaveProps: color_addSaveProps, + attributeKeys: ['backgroundColor', 'textColor', 'gradient', 'style'], + hasSupport: hasColorSupport +}); +const MIGRATION_PATHS = { + linkColor: [['style', 'elements', 'link', 'color', 'text']], + textColor: [['textColor'], ['style', 'color', 'text']], + backgroundColor: [['backgroundColor'], ['style', 'color', 'background']], + gradient: [['gradient'], ['style', 'color', 'gradient']] +}; +function color_addTransforms(result, source, index, results) { + const destinationBlockType = result.name; + const activeSupports = { + linkColor: hasLinkColorSupport(destinationBlockType), + textColor: hasTextColorSupport(destinationBlockType), + backgroundColor: hasBackgroundColorSupport(destinationBlockType), + gradient: hasGradientSupport(destinationBlockType) + }; + return transformStyles(activeSupports, MIGRATION_PATHS, result, source, index, results); +} +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/color/addAttribute', color_addAttributes); +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.switchToBlockType.transformedBlock', 'core/color/addTransforms', color_addTransforms); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-family/index.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + +function FontFamilyControl({ + value = '', + onChange, + fontFamilies, + ...props +}) { + const [blockLevelFontFamilies] = use_settings_useSettings('typography.fontFamilies'); + if (!fontFamilies) { + fontFamilies = blockLevelFontFamilies; + } + if (!fontFamilies || fontFamilies.length === 0) { + return null; + } + const options = [{ + value: '', + label: (0,external_wp_i18n_namespaceObject.__)('Default') + }, ...fontFamilies.map(({ + fontFamily, + name + }) => { + return { + value: fontFamily, + label: name || fontFamily + }; + })]; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.SelectControl, { + label: (0,external_wp_i18n_namespaceObject.__)('Font'), + options: options, + value: value, + onChange: onChange, + labelPosition: "top", + ...props + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-appearance-control/index.js + +/** + * WordPress dependencies + */ + + + +const FONT_STYLES = [{ + name: (0,external_wp_i18n_namespaceObject._x)('Regular', 'font style'), + value: 'normal' +}, { + name: (0,external_wp_i18n_namespaceObject._x)('Italic', 'font style'), + value: 'italic' +}]; +const FONT_WEIGHTS = [{ + name: (0,external_wp_i18n_namespaceObject._x)('Thin', 'font weight'), + value: '100' +}, { + name: (0,external_wp_i18n_namespaceObject._x)('Extra Light', 'font weight'), + value: '200' +}, { + name: (0,external_wp_i18n_namespaceObject._x)('Light', 'font weight'), + value: '300' +}, { + name: (0,external_wp_i18n_namespaceObject._x)('Regular', 'font weight'), + value: '400' +}, { + name: (0,external_wp_i18n_namespaceObject._x)('Medium', 'font weight'), + value: '500' +}, { + name: (0,external_wp_i18n_namespaceObject._x)('Semi Bold', 'font weight'), + value: '600' +}, { + name: (0,external_wp_i18n_namespaceObject._x)('Bold', 'font weight'), + value: '700' +}, { + name: (0,external_wp_i18n_namespaceObject._x)('Extra Bold', 'font weight'), + value: '800' +}, { + name: (0,external_wp_i18n_namespaceObject._x)('Black', 'font weight'), + value: '900' +}]; + +/** + * Adjusts font appearance field label in case either font styles or weights + * are disabled. + * + * @param {boolean} hasFontStyles Whether font styles are enabled and present. + * @param {boolean} hasFontWeights Whether font weights are enabled and present. + * @return {string} A label representing what font appearance is being edited. + */ +const getFontAppearanceLabel = (hasFontStyles, hasFontWeights) => { + if (!hasFontStyles) { + return (0,external_wp_i18n_namespaceObject.__)('Font weight'); + } + if (!hasFontWeights) { + return (0,external_wp_i18n_namespaceObject.__)('Font style'); + } + return (0,external_wp_i18n_namespaceObject.__)('Appearance'); +}; + +/** + * Control to display unified font style and weight options. + * + * @param {Object} props Component props. + * + * @return {Element} Font appearance control. + */ +function FontAppearanceControl(props) { + const { + onChange, + hasFontStyles = true, + hasFontWeights = true, + value: { + fontStyle, + fontWeight + }, + ...otherProps + } = props; + const hasStylesOrWeights = hasFontStyles || hasFontWeights; + const label = getFontAppearanceLabel(hasFontStyles, hasFontWeights); + const defaultOption = { + key: 'default', + name: (0,external_wp_i18n_namespaceObject.__)('Default'), + style: { + fontStyle: undefined, + fontWeight: undefined + } + }; + + // Combines both font style and weight options into a single dropdown. + const combineOptions = () => { + const combinedOptions = [defaultOption]; + FONT_STYLES.forEach(({ + name: styleName, + value: styleValue + }) => { + FONT_WEIGHTS.forEach(({ + name: weightName, + value: weightValue + }) => { + const optionName = styleValue === 'normal' ? weightName : (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: 1: Font weight name. 2: Font style name. */ + (0,external_wp_i18n_namespaceObject.__)('%1$s %2$s'), weightName, styleName); + combinedOptions.push({ + key: `${styleValue}-${weightValue}`, + name: optionName, + style: { + fontStyle: styleValue, + fontWeight: weightValue + } + }); + }); + }); + return combinedOptions; + }; + + // Generates select options for font styles only. + const styleOptions = () => { + const combinedOptions = [defaultOption]; + FONT_STYLES.forEach(({ + name, + value + }) => { + combinedOptions.push({ + key: value, + name, + style: { + fontStyle: value, + fontWeight: undefined + } + }); + }); + return combinedOptions; + }; + + // Generates select options for font weights only. + const weightOptions = () => { + const combinedOptions = [defaultOption]; + FONT_WEIGHTS.forEach(({ + name, + value + }) => { + combinedOptions.push({ + key: value, + name, + style: { + fontStyle: undefined, + fontWeight: value + } + }); + }); + return combinedOptions; + }; + + // Map font styles and weights to select options. + const selectOptions = (0,external_wp_element_namespaceObject.useMemo)(() => { + if (hasFontStyles && hasFontWeights) { + return combineOptions(); + } + return hasFontStyles ? styleOptions() : weightOptions(); + }, [props.options]); + + // Find current selection by comparing font style & weight against options, + // and fall back to the Default option if there is no matching option. + const currentSelection = selectOptions.find(option => option.style.fontStyle === fontStyle && option.style.fontWeight === fontWeight) || selectOptions[0]; + + // Adjusts screen reader description based on styles or weights. + const getDescribedBy = () => { + if (!currentSelection) { + return (0,external_wp_i18n_namespaceObject.__)('No selected font appearance'); + } + if (!hasFontStyles) { + return (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s: Currently selected font weight. + (0,external_wp_i18n_namespaceObject.__)('Currently selected font weight: %s'), currentSelection.name); + } + if (!hasFontWeights) { + return (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s: Currently selected font style. + (0,external_wp_i18n_namespaceObject.__)('Currently selected font style: %s'), currentSelection.name); + } + return (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s: Currently selected font appearance. + (0,external_wp_i18n_namespaceObject.__)('Currently selected font appearance: %s'), currentSelection.name); + }; + return hasStylesOrWeights && (0,external_React_.createElement)(external_wp_components_namespaceObject.CustomSelectControl, { + ...otherProps, + className: "components-font-appearance-control", + label: label, + describedBy: getDescribedBy(), + options: selectOptions, + value: currentSelection, + onChange: ({ + selectedItem + }) => onChange(selectedItem.style), + __nextUnconstrainedWidth: true + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/line-height-control/utils.js +const BASE_DEFAULT_VALUE = 1.5; +const STEP = 0.01; +/** + * A spin factor of 10 allows the spin controls to increment/decrement by 0.1. + * e.g. A line-height value of 1.55 will increment to 1.65. + */ +const SPIN_FACTOR = 10; +/** + * There are varying value types within LineHeightControl: + * + * {undefined} Initial value. No changes from the user. + * {string} Input value. Value consumed/outputted by the input. Empty would be ''. + * {number} Block attribute type. Input value needs to be converted for attribute setting. + * + * Note: If the value is undefined, the input requires it to be an empty string ('') + * in order to be considered "controlled" by props (rather than internal state). + */ +const RESET_VALUE = ''; + +/** + * Determines if the lineHeight attribute has been properly defined. + * + * @param {any} lineHeight The value to check. + * + * @return {boolean} Whether the lineHeight attribute is valid. + */ +function isLineHeightDefined(lineHeight) { + return lineHeight !== undefined && lineHeight !== RESET_VALUE; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/line-height-control/index.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + +const line_height_control_LineHeightControl = ({ + value: lineHeight, + onChange, + /** Start opting into the new margin-free styles that will become the default in a future version. */ + __nextHasNoMarginBottom = false, + __unstableInputWidth = '60px', + ...otherProps +}) => { + const isDefined = isLineHeightDefined(lineHeight); + const adjustNextValue = (nextValue, wasTypedOrPasted) => { + // Set the next value without modification if lineHeight has been defined. + if (isDefined) return nextValue; + + /** + * The following logic handles the initial spin up/down action + * (from an undefined value state) so that the next values are better suited for + * line-height rendering. For example, the first spin up should immediately + * go to 1.6, rather than the normally expected 0.1. + * + * Spin up/down actions can be triggered by keydowns of the up/down arrow keys, + * dragging the input or by clicking the spin buttons. + */ + const spin = STEP * SPIN_FACTOR; + switch (`${nextValue}`) { + case `${spin}`: + // Increment by spin value. + return BASE_DEFAULT_VALUE + spin; + case '0': + { + // This means the user explicitly input '0', rather than using the + // spin down action from an undefined value state. + if (wasTypedOrPasted) return nextValue; + // Decrement by spin value. + return BASE_DEFAULT_VALUE - spin; + } + case '': + return BASE_DEFAULT_VALUE; + default: + return nextValue; + } + }; + const stateReducer = (state, action) => { + // Be careful when changing this — cross-browser behavior of the + // `inputType` field in `input` events are inconsistent. + // For example, Firefox emits an input event with inputType="insertReplacementText" + // on spin button clicks, while other browsers do not even emit an input event. + const wasTypedOrPasted = ['insertText', 'insertFromPaste'].includes(action.payload.event.nativeEvent?.inputType); + const value = adjustNextValue(state.value, wasTypedOrPasted); + return { + ...state, + value + }; + }; + const value = isDefined ? lineHeight : RESET_VALUE; + if (!__nextHasNoMarginBottom) { + external_wp_deprecated_default()('Bottom margin styles for wp.blockEditor.LineHeightControl', { + since: '6.0', + version: '6.4', + hint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version' + }); + } + const deprecatedStyles = __nextHasNoMarginBottom ? undefined : { + marginBottom: 24 + }; + const handleOnChange = (nextValue, { + event + }) => { + if (nextValue === '') { + onChange(); + return; + } + if (event.type === 'click') { + onChange(adjustNextValue(`${nextValue}`, false)); + return; + } + onChange(`${nextValue}`); + }; + return (0,external_React_.createElement)("div", { + className: "block-editor-line-height-control", + style: deprecatedStyles + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalNumberControl, { + ...otherProps, + __unstableInputWidth: __unstableInputWidth, + __unstableStateReducer: stateReducer, + onChange: handleOnChange, + label: (0,external_wp_i18n_namespaceObject.__)('Line height'), + placeholder: BASE_DEFAULT_VALUE, + step: STEP, + spinFactor: SPIN_FACTOR, + value: value, + min: 0, + spinControls: "custom" + })); +}; + +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/line-height-control/README.md + */ +/* harmony default export */ var line_height_control = (line_height_control_LineHeightControl); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/letter-spacing-control/index.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +/** + * Control for letter-spacing. + * + * @param {Object} props Component props. + * @param {string} props.value Currently selected letter-spacing. + * @param {Function} props.onChange Handles change in letter-spacing selection. + * @param {string|number|undefined} props.__unstableInputWidth Input width to pass through to inner UnitControl. Should be a valid CSS value. + * + * @return {Element} Letter-spacing control. + */ +function LetterSpacingControl({ + value, + onChange, + __unstableInputWidth = '60px', + ...otherProps +}) { + const [availableUnits] = use_settings_useSettings('spacing.units'); + const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ + availableUnits: availableUnits || ['px', 'em', 'rem'], + defaultValues: { + px: 2, + em: 0.2, + rem: 0.2 + } + }); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + ...otherProps, + label: (0,external_wp_i18n_namespaceObject.__)('Letter spacing'), + value: value, + __unstableInputWidth: __unstableInputWidth, + units: units, + onChange: onChange + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/reset.js + +/** + * WordPress dependencies + */ + +const reset_reset = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M7 11.5h10V13H7z" +})); +/* harmony default export */ var library_reset = (reset_reset); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-uppercase.js + +/** + * WordPress dependencies + */ + +const formatUppercase = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M6.1 6.8L2.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H6.1zm-.8 6.8L7 8.9l1.7 4.7H5.3zm15.1-.7c-.4-.5-.9-.8-1.6-1 .4-.2.7-.5.8-.9.2-.4.3-.9.3-1.4 0-.9-.3-1.6-.8-2-.6-.5-1.3-.7-2.4-.7h-3.5V18h4.2c1.1 0 2-.3 2.6-.8.6-.6 1-1.4 1-2.4-.1-.8-.3-1.4-.6-1.9zm-5.7-4.7h1.8c.6 0 1.1.1 1.4.4.3.2.5.7.5 1.3 0 .6-.2 1.1-.5 1.3-.3.2-.8.4-1.4.4h-1.8V8.2zm4 8c-.4.3-.9.5-1.5.5h-2.6v-3.8h2.6c1.4 0 2 .6 2 1.9.1.6-.1 1-.5 1.4z" +})); +/* harmony default export */ var format_uppercase = (formatUppercase); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-lowercase.js + +/** + * WordPress dependencies + */ + +const formatLowercase = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M11 16.8c-.1-.1-.2-.3-.3-.5v-2.6c0-.9-.1-1.7-.3-2.2-.2-.5-.5-.9-.9-1.2-.4-.2-.9-.3-1.6-.3-.5 0-1 .1-1.5.2s-.9.3-1.2.6l.2 1.2c.4-.3.7-.4 1.1-.5.3-.1.7-.2 1-.2.6 0 1 .1 1.3.4.3.2.4.7.4 1.4-1.2 0-2.3.2-3.3.7s-1.4 1.1-1.4 2.1c0 .7.2 1.2.7 1.6.4.4 1 .6 1.8.6.9 0 1.7-.4 2.4-1.2.1.3.2.5.4.7.1.2.3.3.6.4.3.1.6.1 1.1.1h.1l.2-1.2h-.1c-.4.1-.6 0-.7-.1zM9.2 16c-.2.3-.5.6-.9.8-.3.1-.7.2-1.1.2-.4 0-.7-.1-.9-.3-.2-.2-.3-.5-.3-.9 0-.6.2-1 .7-1.3.5-.3 1.3-.4 2.5-.5v2zm10.6-3.9c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2s-.2 1.4-.6 2z" +})); +/* harmony default export */ var format_lowercase = (formatLowercase); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-capitalize.js + +/** + * WordPress dependencies + */ + +const formatCapitalize = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M7.1 6.8L3.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H7.1zm-.8 6.8L8 8.9l1.7 4.7H6.3zm14.5-1.5c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2 .1.8-.2 1.4-.6 2z" +})); +/* harmony default export */ var format_capitalize = (formatCapitalize); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/text-transform-control/index.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + +const TEXT_TRANSFORMS = [{ + name: (0,external_wp_i18n_namespaceObject.__)('None'), + value: 'none', + icon: library_reset +}, { + name: (0,external_wp_i18n_namespaceObject.__)('Uppercase'), + value: 'uppercase', + icon: format_uppercase +}, { + name: (0,external_wp_i18n_namespaceObject.__)('Lowercase'), + value: 'lowercase', + icon: format_lowercase +}, { + name: (0,external_wp_i18n_namespaceObject.__)('Capitalize'), + value: 'capitalize', + icon: format_capitalize +}]; + +/** + * Control to facilitate text transform selections. + * + * @param {Object} props Component props. + * @param {string} props.className Class name to add to the control. + * @param {string} props.value Currently selected text transform. + * @param {Function} props.onChange Handles change in text transform selection. + * + * @return {Element} Text transform control. + */ +function TextTransformControl({ + className, + value, + onChange +}) { + return (0,external_React_.createElement)("fieldset", { + className: classnames_default()('block-editor-text-transform-control', className) + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { + as: "legend" + }, (0,external_wp_i18n_namespaceObject.__)('Letter case')), (0,external_React_.createElement)("div", { + className: "block-editor-text-transform-control__buttons" + }, TEXT_TRANSFORMS.map(textTransform => { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + key: textTransform.value, + icon: textTransform.icon, + label: textTransform.name, + isPressed: textTransform.value === value, + onClick: () => { + onChange(textTransform.value === value ? undefined : textTransform.value); + } + }); + }))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-underline.js + +/** + * WordPress dependencies + */ + +const formatUnderline = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M7 18v1h10v-1H7zm5-2c1.5 0 2.6-.4 3.4-1.2.8-.8 1.1-2 1.1-3.5V5H15v5.8c0 1.2-.2 2.1-.6 2.8-.4.7-1.2 1-2.4 1s-2-.3-2.4-1c-.4-.7-.6-1.6-.6-2.8V5H7.5v6.2c0 1.5.4 2.7 1.1 3.5.8.9 1.9 1.3 3.4 1.3z" +})); +/* harmony default export */ var format_underline = (formatUnderline); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-strikethrough.js + +/** + * WordPress dependencies + */ + +const formatStrikethrough = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M9.1 9v-.5c0-.6.2-1.1.7-1.4.5-.3 1.2-.5 2-.5.7 0 1.4.1 2.1.3.7.2 1.4.5 2.1.9l.2-1.9c-.6-.3-1.2-.5-1.9-.7-.8-.1-1.6-.2-2.4-.2-1.5 0-2.7.3-3.6 1-.8.7-1.2 1.5-1.2 2.6V9h2zM20 12H4v1h8.3c.3.1.6.2.8.3.5.2.9.5 1.1.8.3.3.4.7.4 1.2 0 .7-.2 1.1-.8 1.5-.5.3-1.2.5-2.1.5-.8 0-1.6-.1-2.4-.3-.8-.2-1.5-.5-2.2-.8L7 18.1c.5.2 1.2.4 2 .6.8.2 1.6.3 2.4.3 1.7 0 3-.3 3.9-1 .9-.7 1.3-1.6 1.3-2.8 0-.9-.2-1.7-.7-2.2H20v-1z" +})); +/* harmony default export */ var format_strikethrough = (formatStrikethrough); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/text-decoration-control/index.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + +const TEXT_DECORATIONS = [{ + name: (0,external_wp_i18n_namespaceObject.__)('None'), + value: 'none', + icon: library_reset +}, { + name: (0,external_wp_i18n_namespaceObject.__)('Underline'), + value: 'underline', + icon: format_underline +}, { + name: (0,external_wp_i18n_namespaceObject.__)('Strikethrough'), + value: 'line-through', + icon: format_strikethrough +}]; + +/** + * Control to facilitate text decoration selections. + * + * @param {Object} props Component props. + * @param {string} props.value Currently selected text decoration. + * @param {Function} props.onChange Handles change in text decoration selection. + * @param {string} [props.className] Additional class name to apply. + * + * @return {Element} Text decoration control. + */ +function TextDecorationControl({ + value, + onChange, + className +}) { + return (0,external_React_.createElement)("fieldset", { + className: classnames_default()('block-editor-text-decoration-control', className) + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { + as: "legend" + }, (0,external_wp_i18n_namespaceObject.__)('Decoration')), (0,external_React_.createElement)("div", { + className: "block-editor-text-decoration-control__buttons" + }, TEXT_DECORATIONS.map(textDecoration => { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + key: textDecoration.value, + icon: textDecoration.icon, + label: textDecoration.name, + isPressed: textDecoration.value === value, + onClick: () => { + onChange(textDecoration.value === value ? undefined : textDecoration.value); + } + }); + }))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/text-horizontal.js + +/** + * WordPress dependencies + */ + +const textHorizontal = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M8.2 14.4h3.9L13 17h1.7L11 6.5H9.3L5.6 17h1.7l.9-2.6zm2-5.5 1.4 4H8.8l1.4-4zm7.4 7.5-1.3.8.8 1.4H5.5V20h14.3l-2.2-3.6z" +})); +/* harmony default export */ var text_horizontal = (textHorizontal); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/text-vertical.js + +/** + * WordPress dependencies + */ + +const textVertical = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M7 5.6v1.7l2.6.9v3.9L7 13v1.7L17.5 11V9.3L7 5.6zm4.2 6V8.8l4 1.4-4 1.4zm-5.7 5.6V5.5H4v14.3l3.6-2.2-.8-1.3-1.3.9z" +})); +/* harmony default export */ var text_vertical = (textVertical); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-mode-control/index.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + +const WRITING_MODES = [{ + name: (0,external_wp_i18n_namespaceObject.__)('Horizontal'), + value: 'horizontal-tb', + icon: text_horizontal +}, { + name: (0,external_wp_i18n_namespaceObject.__)('Vertical'), + value: (0,external_wp_i18n_namespaceObject.isRTL)() ? 'vertical-lr' : 'vertical-rl', + icon: text_vertical +}]; + +/** + * Control to facilitate writing mode selections. + * + * @param {Object} props Component props. + * @param {string} props.className Class name to add to the control. + * @param {string} props.value Currently selected writing mode. + * @param {Function} props.onChange Handles change in the writing mode selection. + * + * @return {Element} Writing Mode control. + */ +function WritingModeControl({ + className, + value, + onChange +}) { + return (0,external_React_.createElement)("fieldset", { + className: classnames_default()('block-editor-writing-mode-control', className) + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { + as: "legend" + }, (0,external_wp_i18n_namespaceObject.__)('Orientation')), (0,external_React_.createElement)("div", { + className: "block-editor-writing-mode-control__buttons" + }, WRITING_MODES.map(writingMode => { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + key: writingMode.value, + icon: writingMode.icon, + label: writingMode.name, + isPressed: writingMode.value === value, + onClick: () => { + onChange(writingMode.value === value ? undefined : writingMode.value); + } + }); + }))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/typography-panel.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + + + + + + +const MIN_TEXT_COLUMNS = 1; +const MAX_TEXT_COLUMNS = 6; +function useHasTypographyPanel(settings) { + const hasFontFamily = useHasFontFamilyControl(settings); + const hasLineHeight = useHasLineHeightControl(settings); + const hasFontAppearance = useHasAppearanceControl(settings); + const hasLetterSpacing = useHasLetterSpacingControl(settings); + const hasTextTransform = useHasTextTransformControl(settings); + const hasTextDecoration = useHasTextDecorationControl(settings); + const hasWritingMode = useHasWritingModeControl(settings); + const hasTextColumns = useHasTextColumnsControl(settings); + const hasFontSize = useHasFontSizeControl(settings); + return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || hasTextTransform || hasFontSize || hasTextDecoration || hasWritingMode || hasTextColumns; +} +function useHasFontSizeControl(settings) { + return settings?.typography?.defaultFontSizes !== false && settings?.typography?.fontSizes?.default?.length || settings?.typography?.fontSizes?.theme?.length || settings?.typography?.fontSizes?.custom?.length || settings?.typography?.customFontSize; +} +function useHasFontFamilyControl(settings) { + return hasMergedOrigins(settings?.typography?.fontFamilies); +} +function useHasLineHeightControl(settings) { + return settings?.typography?.lineHeight; +} +function useHasAppearanceControl(settings) { + return settings?.typography?.fontStyle || settings?.typography?.fontWeight; +} +function useAppearanceControlLabel(settings) { + if (!settings?.typography?.fontStyle) { + return (0,external_wp_i18n_namespaceObject.__)('Font weight'); + } + if (!settings?.typography?.fontWeight) { + return (0,external_wp_i18n_namespaceObject.__)('Font style'); + } + return (0,external_wp_i18n_namespaceObject.__)('Appearance'); +} +function useHasLetterSpacingControl(settings) { + return settings?.typography?.letterSpacing; +} +function useHasTextTransformControl(settings) { + return settings?.typography?.textTransform; +} +function useHasTextDecorationControl(settings) { + return settings?.typography?.textDecoration; +} +function useHasWritingModeControl(settings) { + return settings?.typography?.writingMode; +} +function useHasTextColumnsControl(settings) { + return settings?.typography?.textColumns; +} + +/** + * TODO: The reversing and filtering of default font sizes is a hack so the + * dropdown UI matches what is generated in the global styles CSS stylesheet. + * + * This is a temporary solution until #57733 is resolved. At which point, + * the mergedFontSizes would just need to be the concatenated array of all + * presets or a custom dropdown with sections for each. + * + * @see {@link https://github.com/WordPress/gutenberg/issues/57733} + * + * @param {Object} settings The global styles settings. + * + * @return {Array} The merged font sizes. + */ +function getMergedFontSizes(settings) { + // The font size presets are merged in reverse order so that the duplicates + // that may defined later in the array have higher priority to match the CSS. + const mergedFontSizesAll = uniqByProperty([settings?.typography?.fontSizes?.custom, settings?.typography?.fontSizes?.theme, settings?.typography?.fontSizes?.default].flatMap(presets => { + var _presets$toReversed; + return (_presets$toReversed = presets?.toReversed()) !== null && _presets$toReversed !== void 0 ? _presets$toReversed : []; + }), 'slug').reverse(); + + // Default presets exist in the global styles CSS no matter the setting, so + // filtering them out in the UI has to be done after merging. + const mergedFontSizes = settings?.typography?.defaultFontSizes === false ? mergedFontSizesAll.filter(({ + slug + }) => !['small', 'medium', 'large', 'x-large'].includes(slug)) : mergedFontSizesAll; + return mergedFontSizes; +} +function TypographyToolsPanel({ + resetAllFilter, + onChange, + value, + panelId, + children +}) { + const resetAll = () => { + const updatedValue = resetAllFilter(value); + onChange(updatedValue); + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { + label: (0,external_wp_i18n_namespaceObject.__)('Typography'), + resetAll: resetAll, + panelId: panelId, + dropdownMenuProps: TOOLSPANEL_DROPDOWNMENU_PROPS + }, children); +} +const typography_panel_DEFAULT_CONTROLS = { + fontFamily: true, + fontSize: true, + fontAppearance: true, + lineHeight: true, + letterSpacing: true, + textTransform: true, + textDecoration: true, + writingMode: true, + textColumns: true +}; +function TypographyPanel({ + as: Wrapper = TypographyToolsPanel, + value, + onChange, + inheritedValue = value, + settings, + panelId, + defaultControls = typography_panel_DEFAULT_CONTROLS +}) { + const decodeValue = rawValue => getValueFromVariable({ + settings + }, '', rawValue); + + // Font Family + const hasFontFamilyEnabled = useHasFontFamilyControl(settings); + const fontFamilies = settings?.typography?.fontFamilies; + const mergedFontFamilies = fontFamilies ? mergeOrigins(fontFamilies) : []; + const fontFamily = decodeValue(inheritedValue?.typography?.fontFamily); + const setFontFamily = newValue => { + const slug = mergedFontFamilies?.find(({ + fontFamily: f + }) => f === newValue)?.slug; + onChange(setImmutably(value, ['typography', 'fontFamily'], slug ? `var:preset|font-family|${slug}` : newValue || undefined)); + }; + const hasFontFamily = () => !!value?.typography?.fontFamily; + const resetFontFamily = () => setFontFamily(undefined); + + // Font Size + const hasFontSizeEnabled = useHasFontSizeControl(settings); + const disableCustomFontSizes = !settings?.typography?.customFontSize; + const mergedFontSizes = getMergedFontSizes(settings); + const fontSize = decodeValue(inheritedValue?.typography?.fontSize); + const setFontSize = (newValue, metadata) => { + const actualValue = !!metadata?.slug ? `var:preset|font-size|${metadata?.slug}` : newValue; + onChange(setImmutably(value, ['typography', 'fontSize'], actualValue || undefined)); + }; + const hasFontSize = () => !!value?.typography?.fontSize; + const resetFontSize = () => setFontSize(undefined); + + // Appearance + const hasAppearanceControl = useHasAppearanceControl(settings); + const appearanceControlLabel = useAppearanceControlLabel(settings); + const hasFontStyles = settings?.typography?.fontStyle; + const hasFontWeights = settings?.typography?.fontWeight; + const fontStyle = decodeValue(inheritedValue?.typography?.fontStyle); + const fontWeight = decodeValue(inheritedValue?.typography?.fontWeight); + const setFontAppearance = ({ + fontStyle: newFontStyle, + fontWeight: newFontWeight + }) => { + onChange({ + ...value, + typography: { + ...value?.typography, + fontStyle: newFontStyle || undefined, + fontWeight: newFontWeight || undefined + } + }); + }; + const hasFontAppearance = () => !!value?.typography?.fontStyle || !!value?.typography?.fontWeight; + const resetFontAppearance = () => { + setFontAppearance({}); + }; + + // Line Height + const hasLineHeightEnabled = useHasLineHeightControl(settings); + const lineHeight = decodeValue(inheritedValue?.typography?.lineHeight); + const setLineHeight = newValue => { + onChange(setImmutably(value, ['typography', 'lineHeight'], newValue || undefined)); + }; + const hasLineHeight = () => value?.typography?.lineHeight !== undefined; + const resetLineHeight = () => setLineHeight(undefined); + + // Letter Spacing + const hasLetterSpacingControl = useHasLetterSpacingControl(settings); + const letterSpacing = decodeValue(inheritedValue?.typography?.letterSpacing); + const setLetterSpacing = newValue => { + onChange(setImmutably(value, ['typography', 'letterSpacing'], newValue || undefined)); + }; + const hasLetterSpacing = () => !!value?.typography?.letterSpacing; + const resetLetterSpacing = () => setLetterSpacing(undefined); + + // Text Columns + const hasTextColumnsControl = useHasTextColumnsControl(settings); + const textColumns = decodeValue(inheritedValue?.typography?.textColumns); + const setTextColumns = newValue => { + onChange(setImmutably(value, ['typography', 'textColumns'], newValue || undefined)); + }; + const hasTextColumns = () => !!value?.typography?.textColumns; + const resetTextColumns = () => setTextColumns(undefined); + + // Text Transform + const hasTextTransformControl = useHasTextTransformControl(settings); + const textTransform = decodeValue(inheritedValue?.typography?.textTransform); + const setTextTransform = newValue => { + onChange(setImmutably(value, ['typography', 'textTransform'], newValue || undefined)); + }; + const hasTextTransform = () => !!value?.typography?.textTransform; + const resetTextTransform = () => setTextTransform(undefined); + + // Text Decoration + const hasTextDecorationControl = useHasTextDecorationControl(settings); + const textDecoration = decodeValue(inheritedValue?.typography?.textDecoration); + const setTextDecoration = newValue => { + onChange(setImmutably(value, ['typography', 'textDecoration'], newValue || undefined)); + }; + const hasTextDecoration = () => !!value?.typography?.textDecoration; + const resetTextDecoration = () => setTextDecoration(undefined); + + // Text Orientation + const hasWritingModeControl = useHasWritingModeControl(settings); + const writingMode = decodeValue(inheritedValue?.typography?.writingMode); + const setWritingMode = newValue => { + onChange(setImmutably(value, ['typography', 'writingMode'], newValue || undefined)); + }; + const hasWritingMode = () => !!value?.typography?.writingMode; + const resetWritingMode = () => setWritingMode(undefined); + const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { + return { + ...previousValue, + typography: {} + }; + }, []); + return (0,external_React_.createElement)(Wrapper, { + resetAllFilter: resetAllFilter, + value: value, + onChange: onChange, + panelId: panelId + }, hasFontFamilyEnabled && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + label: (0,external_wp_i18n_namespaceObject.__)('Font family'), + hasValue: hasFontFamily, + onDeselect: resetFontFamily, + isShownByDefault: defaultControls.fontFamily, + panelId: panelId + }, (0,external_React_.createElement)(FontFamilyControl, { + fontFamilies: mergedFontFamilies, + value: fontFamily, + onChange: setFontFamily, + size: "__unstable-large", + __nextHasNoMarginBottom: true + })), hasFontSizeEnabled && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + label: (0,external_wp_i18n_namespaceObject.__)('Font size'), + hasValue: hasFontSize, + onDeselect: resetFontSize, + isShownByDefault: defaultControls.fontSize, + panelId: panelId + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.FontSizePicker, { + value: fontSize, + onChange: setFontSize, + fontSizes: mergedFontSizes, + disableCustomFontSizes: disableCustomFontSizes, + withReset: false, + withSlider: true, + size: "__unstable-large", + __nextHasNoMarginBottom: true + })), hasAppearanceControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + className: "single-column", + label: appearanceControlLabel, + hasValue: hasFontAppearance, + onDeselect: resetFontAppearance, + isShownByDefault: defaultControls.fontAppearance, + panelId: panelId + }, (0,external_React_.createElement)(FontAppearanceControl, { + value: { + fontStyle, + fontWeight + }, + onChange: setFontAppearance, + hasFontStyles: hasFontStyles, + hasFontWeights: hasFontWeights, + size: "__unstable-large", + __nextHasNoMarginBottom: true + })), hasLineHeightEnabled && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + className: "single-column", + label: (0,external_wp_i18n_namespaceObject.__)('Line height'), + hasValue: hasLineHeight, + onDeselect: resetLineHeight, + isShownByDefault: defaultControls.lineHeight, + panelId: panelId + }, (0,external_React_.createElement)(line_height_control, { + __nextHasNoMarginBottom: true, + __unstableInputWidth: "auto", + value: lineHeight, + onChange: setLineHeight, + size: "__unstable-large" + })), hasLetterSpacingControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + className: "single-column", + label: (0,external_wp_i18n_namespaceObject.__)('Letter spacing'), + hasValue: hasLetterSpacing, + onDeselect: resetLetterSpacing, + isShownByDefault: defaultControls.letterSpacing, + panelId: panelId + }, (0,external_React_.createElement)(LetterSpacingControl, { + value: letterSpacing, + onChange: setLetterSpacing, + size: "__unstable-large", + __unstableInputWidth: "auto" + })), hasTextColumnsControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + className: "single-column", + label: (0,external_wp_i18n_namespaceObject.__)('Text columns'), + hasValue: hasTextColumns, + onDeselect: resetTextColumns, + isShownByDefault: defaultControls.textColumns, + panelId: panelId + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalNumberControl, { + label: (0,external_wp_i18n_namespaceObject.__)('Text columns'), + max: MAX_TEXT_COLUMNS, + min: MIN_TEXT_COLUMNS, + onChange: setTextColumns, + size: "__unstable-large", + spinControls: "custom", + value: textColumns, + initialPosition: 1 + })), hasTextDecorationControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + className: "single-column", + label: (0,external_wp_i18n_namespaceObject.__)('Text decoration'), + hasValue: hasTextDecoration, + onDeselect: resetTextDecoration, + isShownByDefault: defaultControls.textDecoration, + panelId: panelId + }, (0,external_React_.createElement)(TextDecorationControl, { + value: textDecoration, + onChange: setTextDecoration, + size: "__unstable-large", + __unstableInputWidth: "auto" + })), hasWritingModeControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + className: "single-column", + label: (0,external_wp_i18n_namespaceObject.__)('Text orientation'), + hasValue: hasWritingMode, + onDeselect: resetWritingMode, + isShownByDefault: defaultControls.writingMode, + panelId: panelId + }, (0,external_React_.createElement)(WritingModeControl, { + value: writingMode, + onChange: setWritingMode, + size: "__unstable-large", + __nextHasNoMarginBottom: true + })), hasTextTransformControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + label: (0,external_wp_i18n_namespaceObject.__)('Letter case'), + hasValue: hasTextTransform, + onDeselect: resetTextTransform, + isShownByDefault: defaultControls.textTransform, + panelId: panelId + }, (0,external_React_.createElement)(TextTransformControl, { + value: textTransform, + onChange: setTextTransform, + showNone: true, + isBlock: true, + size: "__unstable-large", + __nextHasNoMarginBottom: true + }))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/line-height.js + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +const LINE_HEIGHT_SUPPORT_KEY = 'typography.lineHeight'; + +/** + * Inspector control panel containing the line height related configuration + * + * @param {Object} props + * + * @return {Element} Line height edit element. + */ +function LineHeightEdit(props) { + const { + attributes: { + style + }, + setAttributes + } = props; + const onChange = newLineHeightValue => { + const newStyle = { + ...style, + typography: { + ...style?.typography, + lineHeight: newLineHeightValue + } + }; + setAttributes({ + style: cleanEmptyObject(newStyle) + }); + }; + return createElement(LineHeightControl, { + __unstableInputWidth: "100%", + __nextHasNoMarginBottom: true, + value: style?.typography?.lineHeight, + onChange: onChange, + size: "__unstable-large" + }); +} + +/** + * Custom hook that checks if line-height settings have been disabled. + * + * @param {string} name The name of the block. + * @return {boolean} Whether setting is disabled. + */ +function useIsLineHeightDisabled({ + name: blockName +} = {}) { + const [isEnabled] = useSettings('typography.lineHeight'); + return !isEnabled || !hasBlockSupport(blockName, LINE_HEIGHT_SUPPORT_KEY); +} + +;// CONCATENATED MODULE: external ["wp","tokenList"] +var external_wp_tokenList_namespaceObject = window["wp"]["tokenList"]; +var external_wp_tokenList_default = /*#__PURE__*/__webpack_require__.n(external_wp_tokenList_namespaceObject); +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/font-family.js +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + +const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily'; + +/** + * Filters registered block settings, extending attributes to include + * the `fontFamily` attribute. + * + * @param {Object} settings Original block settings + * @return {Object} Filtered block settings + */ +function font_family_addAttributes(settings) { + if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(settings, FONT_FAMILY_SUPPORT_KEY)) { + return settings; + } + + // Allow blocks to specify a default value if needed. + if (!settings.attributes.fontFamily) { + Object.assign(settings.attributes, { + fontFamily: { + type: 'string' + } + }); + } + return settings; +} + +/** + * Override props assigned to save component to inject font family. + * + * @param {Object} props Additional props applied to save element + * @param {Object} blockType Block type + * @param {Object} attributes Block attributes + * @return {Object} Filtered props applied to save element + */ +function font_family_addSaveProps(props, blockType, attributes) { + if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockType, FONT_FAMILY_SUPPORT_KEY)) { + return props; + } + if (shouldSkipSerialization(blockType, TYPOGRAPHY_SUPPORT_KEY, 'fontFamily')) { + return props; + } + if (!attributes?.fontFamily) { + return props; + } + + // Use TokenList to dedupe classes. + const classes = new (external_wp_tokenList_default())(props.className); + const { + kebabCase + } = unlock(external_wp_components_namespaceObject.privateApis); + classes.add(`has-${kebabCase(attributes?.fontFamily)}-font-family`); + const newClassName = classes.value; + props.className = newClassName ? newClassName : undefined; + return props; +} +function font_family_useBlockProps({ + name, + fontFamily +}) { + return font_family_addSaveProps({}, name, { + fontFamily + }); +} +/* harmony default export */ var font_family = ({ + useBlockProps: font_family_useBlockProps, + addSaveProps: font_family_addSaveProps, + attributeKeys: ['fontFamily'], + hasSupport(name) { + return (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, FONT_FAMILY_SUPPORT_KEY); + } +}); + +/** + * Resets the font family block support attribute. This can be used when + * disabling the font family support controls for a block via a progressive + * discovery panel. + * + * @param {Object} props Block props. + * @param {Object} props.setAttributes Function to set block's attributes. + */ +function resetFontFamily({ + setAttributes +}) { + setAttributes({ + fontFamily: undefined + }); +} +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/fontFamily/addAttribute', font_family_addAttributes); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/utils.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +/** + * Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values. + * If namedFontSize is undefined or not found in fontSizes an object with just the size value based on customFontSize is returned. + * + * @param {Array} fontSizes Array of font size objects containing at least the "name" and "size" values as properties. + * @param {?string} fontSizeAttribute Content of the font size attribute (slug). + * @param {?number} customFontSizeAttribute Contents of the custom font size attribute (value). + * + * @return {?Object} If fontSizeAttribute is set and an equal slug is found in fontSizes it returns the font size object for that slug. + * Otherwise, an object with just the size value based on customFontSize is returned. + */ +const utils_getFontSize = (fontSizes, fontSizeAttribute, customFontSizeAttribute) => { + if (fontSizeAttribute) { + const fontSizeObject = fontSizes?.find(({ + slug + }) => slug === fontSizeAttribute); + if (fontSizeObject) { + return fontSizeObject; + } + } + return { + size: customFontSizeAttribute + }; +}; + +/** + * Returns the corresponding font size object for a given value. + * + * @param {Array} fontSizes Array of font size objects. + * @param {number} value Font size value. + * + * @return {Object} Font size object. + */ +function utils_getFontSizeObjectByValue(fontSizes, value) { + const fontSizeObject = fontSizes?.find(({ + size + }) => size === value); + if (fontSizeObject) { + return fontSizeObject; + } + return { + size: value + }; +} + +/** + * Returns a class based on fontSizeName. + * + * @param {string} fontSizeSlug Slug of the fontSize. + * + * @return {string | undefined} String with the class corresponding to the fontSize passed. + * The class is generated by appending 'has-' followed by fontSizeSlug in kebabCase and ending with '-font-size'. + */ +function getFontSizeClass(fontSizeSlug) { + if (!fontSizeSlug) { + return; + } + const { + kebabCase + } = unlock(external_wp_components_namespaceObject.privateApis); + return `has-${kebabCase(fontSizeSlug)}-font-size`; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/font-size.js + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + + +const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize'; + +/** + * Filters registered block settings, extending attributes to include + * `fontSize` and `fontWeight` attributes. + * + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. + */ +function font_size_addAttributes(settings) { + if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(settings, FONT_SIZE_SUPPORT_KEY)) { + return settings; + } + + // Allow blocks to specify a default value if needed. + if (!settings.attributes.fontSize) { + Object.assign(settings.attributes, { + fontSize: { + type: 'string' + } + }); + } + return settings; +} + +/** + * Override props assigned to save component to inject font size. + * + * @param {Object} props Additional props applied to save element. + * @param {Object} blockNameOrType Block type. + * @param {Object} attributes Block attributes. + * + * @return {Object} Filtered props applied to save element. + */ +function font_size_addSaveProps(props, blockNameOrType, attributes) { + if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockNameOrType, FONT_SIZE_SUPPORT_KEY)) { + return props; + } + if (shouldSkipSerialization(blockNameOrType, TYPOGRAPHY_SUPPORT_KEY, 'fontSize')) { + return props; + } + + // Use TokenList to dedupe classes. + const classes = new (external_wp_tokenList_default())(props.className); + classes.add(getFontSizeClass(attributes.fontSize)); + const newClassName = classes.value; + props.className = newClassName ? newClassName : undefined; + return props; +} + +/** + * Inspector control panel containing the font size related configuration + * + * @param {Object} props + * + * @return {Element} Font size edit element. + */ +function FontSizeEdit(props) { + const { + attributes: { + fontSize, + style + }, + setAttributes + } = props; + const [fontSizes] = useSettings('typography.fontSizes'); + const onChange = value => { + const fontSizeSlug = getFontSizeObjectByValue(fontSizes, value).slug; + setAttributes({ + style: cleanEmptyObject({ + ...style, + typography: { + ...style?.typography, + fontSize: fontSizeSlug ? undefined : value + } + }), + fontSize: fontSizeSlug + }); + }; + const fontSizeObject = getFontSize(fontSizes, fontSize, style?.typography?.fontSize); + const fontSizeValue = fontSizeObject?.size || style?.typography?.fontSize || fontSize; + return createElement(FontSizePicker, { + onChange: onChange, + value: fontSizeValue, + withReset: false, + withSlider: true, + size: "__unstable-large", + __nextHasNoMarginBottom: true + }); +} + +/** + * Custom hook that checks if font-size settings have been disabled. + * + * @param {string} name The name of the block. + * @return {boolean} Whether setting is disabled. + */ +function useIsFontSizeDisabled({ + name: blockName +} = {}) { + const [fontSizes] = useSettings('typography.fontSizes'); + const hasFontSizes = !!fontSizes?.length; + return !hasBlockSupport(blockName, FONT_SIZE_SUPPORT_KEY) || !hasFontSizes; +} +function font_size_useBlockProps({ + name, + fontSize, + style +}) { + const [fontSizes] = use_settings_useSettings('typography.fontSizes'); + + // Only add inline styles if the block supports font sizes, + // doesn't skip serialization of font sizes, + // doesn't already have an inline font size, + // and does have a class to extract the font size from. + if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, FONT_SIZE_SUPPORT_KEY) || shouldSkipSerialization(name, TYPOGRAPHY_SUPPORT_KEY, 'fontSize') || !fontSize) { + return; + } + let props = {}; + if (!style?.typography?.fontSize) { + props = { + style: { + fontSize: utils_getFontSize(fontSizes, fontSize, style?.typography?.fontSize).size + } + }; + } + + // TODO: This sucks! We should be using useSetting( 'typography.fluid' ) + // or even useSelect( blockEditorStore ). We can't do either here + // because getEditWrapperProps is a plain JavaScript function called by + // BlockListBlock and not a React component rendered within + // BlockListContext.Provider. If we set fontSize using editor. + // BlockListBlock instead of using getEditWrapperProps then the value is + // clobbered when the core/style/addEditProps filter runs. + + // TODO: We can do the thing above now. + const fluidTypographySettings = getFluidTypographyOptionsFromSettings((0,external_wp_data_namespaceObject.select)(store).getSettings().__experimentalFeatures); + if (fontSize) { + props = { + style: { + fontSize: getTypographyFontSizeValue({ + size: fontSize + }, fluidTypographySettings) + } + }; + } + return font_size_addSaveProps(props, name, { + fontSize + }); +} +/* harmony default export */ var font_size = ({ + useBlockProps: font_size_useBlockProps, + addSaveProps: font_size_addSaveProps, + attributeKeys: ['fontSize', 'style'], + hasSupport(name) { + return (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, FONT_SIZE_SUPPORT_KEY); + } +}); +const font_size_MIGRATION_PATHS = { + fontSize: [['fontSize'], ['style', 'typography', 'fontSize']] +}; +function font_size_addTransforms(result, source, index, results) { + const destinationBlockType = result.name; + const activeSupports = { + fontSize: (0,external_wp_blocks_namespaceObject.hasBlockSupport)(destinationBlockType, FONT_SIZE_SUPPORT_KEY) + }; + return transformStyles(activeSupports, font_size_MIGRATION_PATHS, result, source, index, results); +} +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/font/addAttribute', font_size_addAttributes); +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.switchToBlockType.transformedBlock', 'core/font-size/addTransforms', font_size_addTransforms); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/typography.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + + + +function omit(object, keys) { + return Object.fromEntries(Object.entries(object).filter(([key]) => !keys.includes(key))); +} +const LETTER_SPACING_SUPPORT_KEY = 'typography.__experimentalLetterSpacing'; +const TEXT_TRANSFORM_SUPPORT_KEY = 'typography.__experimentalTextTransform'; +const TEXT_DECORATION_SUPPORT_KEY = 'typography.__experimentalTextDecoration'; +const TEXT_COLUMNS_SUPPORT_KEY = 'typography.textColumns'; +const FONT_STYLE_SUPPORT_KEY = 'typography.__experimentalFontStyle'; +const FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight'; +const WRITING_MODE_SUPPORT_KEY = 'typography.__experimentalWritingMode'; +const TYPOGRAPHY_SUPPORT_KEY = 'typography'; +const TYPOGRAPHY_SUPPORT_KEYS = [LINE_HEIGHT_SUPPORT_KEY, FONT_SIZE_SUPPORT_KEY, FONT_STYLE_SUPPORT_KEY, FONT_WEIGHT_SUPPORT_KEY, FONT_FAMILY_SUPPORT_KEY, TEXT_COLUMNS_SUPPORT_KEY, TEXT_DECORATION_SUPPORT_KEY, WRITING_MODE_SUPPORT_KEY, TEXT_TRANSFORM_SUPPORT_KEY, LETTER_SPACING_SUPPORT_KEY]; +function typography_styleToAttributes(style) { + const updatedStyle = { + ...omit(style, ['fontFamily']) + }; + const fontSizeValue = style?.typography?.fontSize; + const fontFamilyValue = style?.typography?.fontFamily; + const fontSizeSlug = fontSizeValue?.startsWith('var:preset|font-size|') ? fontSizeValue.substring('var:preset|font-size|'.length) : undefined; + const fontFamilySlug = fontFamilyValue?.startsWith('var:preset|font-family|') ? fontFamilyValue.substring('var:preset|font-family|'.length) : undefined; + updatedStyle.typography = { + ...omit(updatedStyle.typography, ['fontFamily']), + fontSize: fontSizeSlug ? undefined : fontSizeValue + }; + return { + style: utils_cleanEmptyObject(updatedStyle), + fontFamily: fontFamilySlug, + fontSize: fontSizeSlug + }; +} +function typography_attributesToStyle(attributes) { + return { + ...attributes.style, + typography: { + ...attributes.style?.typography, + fontFamily: attributes.fontFamily ? 'var:preset|font-family|' + attributes.fontFamily : undefined, + fontSize: attributes.fontSize ? 'var:preset|font-size|' + attributes.fontSize : attributes.style?.typography?.fontSize + } + }; +} +function TypographyInspectorControl({ + children, + resetAllFilter +}) { + const attributesResetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(attributes => { + const existingStyle = typography_attributesToStyle(attributes); + const updatedStyle = resetAllFilter(existingStyle); + return { + ...attributes, + ...typography_styleToAttributes(updatedStyle) + }; + }, [resetAllFilter]); + return (0,external_React_.createElement)(inspector_controls, { + group: "typography", + resetAllFilter: attributesResetAllFilter + }, children); +} +function typography_TypographyPanel({ + clientId, + name, + setAttributes, + settings +}) { + function selector(select) { + const { + style, + fontFamily, + fontSize + } = select(store).getBlockAttributes(clientId) || {}; + return { + style, + fontFamily, + fontSize + }; + } + const { + style, + fontFamily, + fontSize + } = (0,external_wp_data_namespaceObject.useSelect)(selector, [clientId]); + const isEnabled = useHasTypographyPanel(settings); + const value = (0,external_wp_element_namespaceObject.useMemo)(() => typography_attributesToStyle({ + style, + fontFamily, + fontSize + }), [style, fontSize, fontFamily]); + const onChange = newStyle => { + setAttributes(typography_styleToAttributes(newStyle)); + }; + if (!isEnabled) { + return null; + } + const defaultControls = (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, [TYPOGRAPHY_SUPPORT_KEY, '__experimentalDefaultControls']); + return (0,external_React_.createElement)(TypographyPanel, { + as: TypographyInspectorControl, + panelId: clientId, + settings: settings, + value: value, + onChange: onChange, + defaultControls: defaultControls + }); +} +const hasTypographySupport = blockName => { + return TYPOGRAPHY_SUPPORT_KEYS.some(key => hasBlockSupport(blockName, key)); +}; + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/settings.js + +/** + * WordPress dependencies + */ + +const settings_settings = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z" +}), (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z" +})); +/* harmony default export */ var library_settings = (settings_settings); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js + +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + + +const CUSTOM_VALUE_SETTINGS = { + px: { + max: 300, + steps: 1 + }, + '%': { + max: 100, + steps: 1 + }, + vw: { + max: 100, + steps: 1 + }, + vh: { + max: 100, + steps: 1 + }, + em: { + max: 10, + steps: 0.1 + }, + rm: { + max: 10, + steps: 0.1 + }, + svw: { + max: 100, + steps: 1 + }, + lvw: { + max: 100, + steps: 1 + }, + dvw: { + max: 100, + steps: 1 + }, + svh: { + max: 100, + steps: 1 + }, + lvh: { + max: 100, + steps: 1 + }, + dvh: { + max: 100, + steps: 1 + }, + vi: { + max: 100, + steps: 1 + }, + svi: { + max: 100, + steps: 1 + }, + lvi: { + max: 100, + steps: 1 + }, + dvi: { + max: 100, + steps: 1 + }, + vb: { + max: 100, + steps: 1 + }, + svb: { + max: 100, + steps: 1 + }, + lvb: { + max: 100, + steps: 1 + }, + dvb: { + max: 100, + steps: 1 + }, + vmin: { + max: 100, + steps: 1 + }, + svmin: { + max: 100, + steps: 1 + }, + lvmin: { + max: 100, + steps: 1 + }, + dvmin: { + max: 100, + steps: 1 + }, + vmax: { + max: 100, + steps: 1 + }, + svmax: { + max: 100, + steps: 1 + }, + lvmax: { + max: 100, + steps: 1 + }, + dvmax: { + max: 100, + steps: 1 + } +}; +function SpacingInputControl({ + icon, + isMixed = false, + minimumCustomValue, + onChange, + onMouseOut, + onMouseOver, + showSideInLabel = true, + side, + spacingSizes, + type, + value +}) { + var _CUSTOM_VALUE_SETTING, _CUSTOM_VALUE_SETTING2; + // Treat value as a preset value if the passed in value matches the value of one of the spacingSizes. + value = getPresetValueFromCustomValue(value, spacingSizes); + let selectListSizes = spacingSizes; + const showRangeControl = spacingSizes.length <= 8; + const disableCustomSpacingSizes = (0,external_wp_data_namespaceObject.useSelect)(select => { + const editorSettings = select(store).getSettings(); + return editorSettings?.disableCustomSpacingSizes; + }); + const [showCustomValueControl, setShowCustomValueControl] = (0,external_wp_element_namespaceObject.useState)(!disableCustomSpacingSizes && value !== undefined && !isValueSpacingPreset(value)); + const previousValue = (0,external_wp_compose_namespaceObject.usePrevious)(value); + if (!!value && previousValue !== value && !isValueSpacingPreset(value) && showCustomValueControl !== true) { + setShowCustomValueControl(true); + } + const [availableUnits] = use_settings_useSettings('spacing.units'); + const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ + availableUnits: availableUnits || ['px', 'em', 'rem'] + }); + let currentValue = null; + const showCustomValueInSelectList = !showRangeControl && !showCustomValueControl && value !== undefined && (!isValueSpacingPreset(value) || isValueSpacingPreset(value) && isMixed); + if (showCustomValueInSelectList) { + selectListSizes = [...spacingSizes, { + name: !isMixed ? + // translators: A custom measurement, eg. a number followed by a unit like 12px. + (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)('Custom (%s)'), value) : (0,external_wp_i18n_namespaceObject.__)('Mixed'), + slug: 'custom', + size: value + }]; + currentValue = selectListSizes.length - 1; + } else if (!isMixed) { + currentValue = !showCustomValueControl ? getSliderValueFromPreset(value, spacingSizes) : getCustomValueFromPreset(value, spacingSizes); + } + const selectedUnit = (0,external_wp_element_namespaceObject.useMemo)(() => (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(currentValue), [currentValue])[1] || units[0]?.value; + const setInitialValue = () => { + if (value === undefined) { + onChange('0'); + } + }; + const customTooltipContent = newValue => value === undefined ? undefined : spacingSizes[newValue]?.name; + const customRangeValue = parseFloat(currentValue, 10); + const getNewCustomValue = newSize => { + const isNumeric = !isNaN(parseFloat(newSize)); + const nextValue = isNumeric ? newSize : undefined; + return nextValue; + }; + const getNewPresetValue = (newSize, controlType) => { + const size = parseInt(newSize, 10); + if (controlType === 'selectList') { + if (size === 0) { + return undefined; + } + if (size === 1) { + return '0'; + } + } else if (size === 0) { + return '0'; + } + return `var:preset|spacing|${spacingSizes[newSize]?.slug}`; + }; + const handleCustomValueSliderChange = next => { + onChange([next, selectedUnit].join('')); + }; + const allPlaceholder = isMixed ? (0,external_wp_i18n_namespaceObject.__)('Mixed') : null; + const options = selectListSizes.map((size, index) => ({ + key: index, + name: size.name + })); + const marks = spacingSizes.map((_newValue, index) => ({ + value: index, + label: undefined + })); + const sideLabel = ALL_SIDES.includes(side) && showSideInLabel ? LABELS[side] : ''; + const typeLabel = showSideInLabel ? type?.toLowerCase() : type; + const ariaLabel = (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: 1: The side of the block being modified (top, bottom, left, All sides etc.). 2. Type of spacing being modified (Padding, margin, etc) + (0,external_wp_i18n_namespaceObject.__)('%1$s %2$s'), sideLabel, typeLabel).trim(); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + className: "spacing-sizes-control__wrapper" + }, icon && (0,external_React_.createElement)(external_wp_components_namespaceObject.Icon, { + className: "spacing-sizes-control__icon", + icon: icon, + size: 24 + }), showCustomValueControl && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + onMouseOver: onMouseOver, + onMouseOut: onMouseOut, + onFocus: onMouseOver, + onBlur: onMouseOut, + onChange: newSize => onChange(getNewCustomValue(newSize)), + value: currentValue, + units: units, + min: minimumCustomValue, + placeholder: allPlaceholder, + disableUnits: isMixed, + label: ariaLabel, + hideLabelFromVision: true, + className: "spacing-sizes-control__custom-value-input", + size: '__unstable-large' + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.RangeControl, { + onMouseOver: onMouseOver, + onMouseOut: onMouseOut, + onFocus: onMouseOver, + onBlur: onMouseOut, + value: customRangeValue, + min: 0, + max: (_CUSTOM_VALUE_SETTING = CUSTOM_VALUE_SETTINGS[selectedUnit]?.max) !== null && _CUSTOM_VALUE_SETTING !== void 0 ? _CUSTOM_VALUE_SETTING : 10, + step: (_CUSTOM_VALUE_SETTING2 = CUSTOM_VALUE_SETTINGS[selectedUnit]?.steps) !== null && _CUSTOM_VALUE_SETTING2 !== void 0 ? _CUSTOM_VALUE_SETTING2 : 0.1, + withInputField: false, + onChange: handleCustomValueSliderChange, + className: "spacing-sizes-control__custom-value-range", + __nextHasNoMarginBottom: true + })), showRangeControl && !showCustomValueControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.RangeControl, { + onMouseOver: onMouseOver, + onMouseOut: onMouseOut, + className: "spacing-sizes-control__range-control", + value: currentValue, + onChange: newSize => onChange(getNewPresetValue(newSize)), + onMouseDown: event => { + // If mouse down is near start of range set initial value to 0, which + // prevents the user have to drag right then left to get 0 setting. + if (event?.nativeEvent?.offsetX < 35) { + setInitialValue(); + } + }, + withInputField: false, + "aria-valuenow": currentValue, + "aria-valuetext": spacingSizes[currentValue]?.name, + renderTooltipContent: customTooltipContent, + min: 0, + max: spacingSizes.length - 1, + marks: marks, + label: ariaLabel, + hideLabelFromVision: true, + __nextHasNoMarginBottom: true, + onFocus: onMouseOver, + onBlur: onMouseOut + }), !showRangeControl && !showCustomValueControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.CustomSelectControl, { + className: "spacing-sizes-control__custom-select-control", + value: options.find(option => option.key === currentValue) || '' // passing undefined here causes a downshift controlled/uncontrolled warning + , + + onChange: selection => { + onChange(getNewPresetValue(selection.selectedItem.key, 'selectList')); + }, + options: options, + label: ariaLabel, + hideLabelFromVision: true, + __nextUnconstrainedWidth: true, + size: '__unstable-large', + onMouseOver: onMouseOver, + onMouseOut: onMouseOut, + onFocus: onMouseOver, + onBlur: onMouseOut + }), !disableCustomSpacingSizes && (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + label: showCustomValueControl ? (0,external_wp_i18n_namespaceObject.__)('Use size preset') : (0,external_wp_i18n_namespaceObject.__)('Set custom size'), + icon: library_settings, + onClick: () => { + setShowCustomValueControl(!showCustomValueControl); + }, + isPressed: showCustomValueControl, + size: "small", + className: "spacing-sizes-control__custom-toggle", + iconSize: 24 + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/input-controls/axial.js + +/** + * Internal dependencies + */ + + +const groupedSides = ['vertical', 'horizontal']; +function AxialInputControls({ + minimumCustomValue, + onChange, + onMouseOut, + onMouseOver, + sides, + spacingSizes, + type, + values +}) { + const createHandleOnChange = side => next => { + if (!onChange) { + return; + } + + // Encode the existing value into the preset value if the passed in value matches the value of one of the spacingSizes. + const nextValues = { + ...Object.keys(values).reduce((acc, key) => { + acc[key] = getPresetValueFromCustomValue(values[key], spacingSizes); + return acc; + }, {}) + }; + if (side === 'vertical') { + nextValues.top = next; + nextValues.bottom = next; + } + if (side === 'horizontal') { + nextValues.left = next; + nextValues.right = next; + } + onChange(nextValues); + }; + + // Filter sides if custom configuration provided, maintaining default order. + const filteredSides = sides?.length ? groupedSides.filter(side => hasAxisSupport(sides, side)) : groupedSides; + return (0,external_React_.createElement)(external_React_.Fragment, null, filteredSides.map(side => { + const axisValue = side === 'vertical' ? values.top : values.left; + return (0,external_React_.createElement)(SpacingInputControl, { + key: `spacing-sizes-control-${side}`, + icon: ICONS[side], + label: LABELS[side], + minimumCustomValue: minimumCustomValue, + onChange: createHandleOnChange(side), + onMouseOut: onMouseOut, + onMouseOver: onMouseOver, + side: side, + spacingSizes: spacingSizes, + type: type, + value: axisValue, + withInputField: false + }); + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/input-controls/separated.js + +/** + * Internal dependencies + */ + + +function SeparatedInputControls({ + minimumCustomValue, + onChange, + onMouseOut, + onMouseOver, + sides, + spacingSizes, + type, + values +}) { + // Filter sides if custom configuration provided, maintaining default order. + const filteredSides = sides?.length ? ALL_SIDES.filter(side => sides.includes(side)) : ALL_SIDES; + const createHandleOnChange = side => next => { + // Encode the existing value into the preset value if the passed in value matches the value of one of the spacingSizes. + const nextValues = { + ...Object.keys(values).reduce((acc, key) => { + acc[key] = getPresetValueFromCustomValue(values[key], spacingSizes); + return acc; + }, {}) + }; + nextValues[side] = next; + onChange(nextValues); + }; + return (0,external_React_.createElement)(external_React_.Fragment, null, filteredSides.map(side => { + return (0,external_React_.createElement)(SpacingInputControl, { + key: `spacing-sizes-control-${side}`, + icon: ICONS[side], + label: LABELS[side], + minimumCustomValue: minimumCustomValue, + onChange: createHandleOnChange(side), + onMouseOut: onMouseOut, + onMouseOver: onMouseOver, + side: side, + spacingSizes: spacingSizes, + type: type, + value: values[side], + withInputField: false + }); + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/input-controls/single.js + +/** + * Internal dependencies + */ + + +function SingleInputControl({ + minimumCustomValue, + onChange, + onMouseOut, + onMouseOver, + showSideInLabel, + side, + spacingSizes, + type, + values +}) { + const createHandleOnChange = currentSide => next => { + // Encode the existing value into the preset value if the passed in value matches the value of one of the spacingSizes. + const nextValues = { + ...Object.keys(values).reduce((acc, key) => { + acc[key] = getPresetValueFromCustomValue(values[key], spacingSizes); + return acc; + }, {}) + }; + nextValues[currentSide] = next; + onChange(nextValues); + }; + return (0,external_React_.createElement)(SpacingInputControl, { + label: LABELS[side], + minimumCustomValue: minimumCustomValue, + onChange: createHandleOnChange(side), + onMouseOut: onMouseOut, + onMouseOver: onMouseOver, + showSideInLabel: showSideInLabel, + side: side, + spacingSizes: spacingSizes, + type: type, + value: values[side], + withInputField: false + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js + +/** + * WordPress dependencies + */ + +const check_check = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z" +})); +/* harmony default export */ var library_check = (check_check); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/sides-dropdown/index.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + +const checkIcon = (0,external_React_.createElement)(external_wp_components_namespaceObject.Icon, { + icon: library_check, + size: 24 +}); +function SidesDropdown({ + label: labelProp, + onChange, + sides, + value +}) { + if (!sides || !sides.length) { + return; + } + const supportedItems = getSupportedMenuItems(sides); + const sideIcon = supportedItems[value].icon; + const { + custom: customItem, + ...menuItems + } = supportedItems; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.DropdownMenu, { + icon: sideIcon, + label: labelProp, + className: "spacing-sizes-control__dropdown", + toggleProps: { + isSmall: true + } + }, ({ + onClose + }) => { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, null, Object.entries(menuItems).map(([slug, { + label, + icon + }]) => { + const isSelected = value === slug; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + key: slug, + icon: icon, + iconPosition: "left", + isSelected: isSelected, + role: "menuitemradio", + onClick: () => { + onChange(slug); + onClose(); + }, + suffix: isSelected ? checkIcon : undefined + }, label); + })), !!customItem && (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + icon: customItem.icon, + iconPosition: "left", + isSelected: value === VIEWS.custom, + role: "menuitemradio", + onClick: () => { + onChange(VIEWS.custom); + onClose(); + }, + suffix: value === VIEWS.custom ? checkIcon : undefined + }, customItem.label))); + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + +function useSpacingSizes() { + const spacingSizes = [{ + name: 0, + slug: '0', + size: 0 + }]; + const [settingsSizes] = use_settings_useSettings('spacing.spacingSizes'); + if (settingsSizes) { + spacingSizes.push(...settingsSizes); + } + if (spacingSizes.length > 8) { + spacingSizes.unshift({ + name: (0,external_wp_i18n_namespaceObject.__)('Default'), + slug: 'default', + size: undefined + }); + } + return spacingSizes; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/index.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + + +function SpacingSizesControl({ + inputProps, + label: labelProp, + minimumCustomValue = 0, + onChange, + onMouseOut, + onMouseOver, + showSideInLabel = true, + sides = ALL_SIDES, + useSelect, + values +}) { + const spacingSizes = useSpacingSizes(); + const inputValues = values || DEFAULT_VALUES; + const hasOneSide = sides?.length === 1; + const hasOnlyAxialSides = sides?.includes('horizontal') && sides?.includes('vertical') && sides?.length === 2; + const [view, setView] = (0,external_wp_element_namespaceObject.useState)(getInitialView(inputValues, sides)); + const handleOnChange = nextValue => { + const newValues = { + ...values, + ...nextValue + }; + onChange(newValues); + }; + const inputControlProps = { + ...inputProps, + minimumCustomValue, + onChange: handleOnChange, + onMouseOut, + onMouseOver, + sides, + spacingSizes, + type: labelProp, + useSelect, + values: inputValues + }; + const renderControls = () => { + if (view === VIEWS.axial) { + return (0,external_React_.createElement)(AxialInputControls, { + ...inputControlProps + }); + } + if (view === VIEWS.custom) { + return (0,external_React_.createElement)(SeparatedInputControls, { + ...inputControlProps + }); + } + return (0,external_React_.createElement)(SingleInputControl, { + side: view, + ...inputControlProps, + showSideInLabel: showSideInLabel + }); + }; + const sideLabel = ALL_SIDES.includes(view) && showSideInLabel ? LABELS[view] : ''; + const label = (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: 2. Type of spacing being modified (Padding, margin, etc). 1: The side of the block being modified (top, bottom, left etc.). + (0,external_wp_i18n_namespaceObject.__)('%1$s %2$s'), labelProp, sideLabel).trim(); + const dropdownLabelText = (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s: The current spacing property e.g. "Padding", "Margin". + (0,external_wp_i18n_namespaceObject._x)('%s options', 'Button label to reveal side configuration options'), labelProp); + return (0,external_React_.createElement)("fieldset", { + className: "spacing-sizes-control" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + className: "spacing-sizes-control__header" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { + as: "legend", + className: "spacing-sizes-control__label" + }, label), !hasOneSide && !hasOnlyAxialSides && (0,external_React_.createElement)(SidesDropdown, { + label: dropdownLabelText, + onChange: setView, + sides: sides, + value: view + })), renderControls()); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/height-control/index.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + +const RANGE_CONTROL_CUSTOM_SETTINGS = { + px: { + max: 1000, + step: 1 + }, + '%': { + max: 100, + step: 1 + }, + vw: { + max: 100, + step: 1 + }, + vh: { + max: 100, + step: 1 + }, + em: { + max: 50, + step: 0.1 + }, + rem: { + max: 50, + step: 0.1 + }, + svw: { + max: 100, + step: 1 + }, + lvw: { + max: 100, + step: 1 + }, + dvw: { + max: 100, + step: 1 + }, + svh: { + max: 100, + step: 1 + }, + lvh: { + max: 100, + step: 1 + }, + dvh: { + max: 100, + step: 1 + }, + vi: { + max: 100, + step: 1 + }, + svi: { + max: 100, + step: 1 + }, + lvi: { + max: 100, + step: 1 + }, + dvi: { + max: 100, + step: 1 + }, + vb: { + max: 100, + step: 1 + }, + svb: { + max: 100, + step: 1 + }, + lvb: { + max: 100, + step: 1 + }, + dvb: { + max: 100, + step: 1 + }, + vmin: { + max: 100, + step: 1 + }, + svmin: { + max: 100, + step: 1 + }, + lvmin: { + max: 100, + step: 1 + }, + dvmin: { + max: 100, + step: 1 + }, + vmax: { + max: 100, + step: 1 + }, + svmax: { + max: 100, + step: 1 + }, + lvmax: { + max: 100, + step: 1 + }, + dvmax: { + max: 100, + step: 1 + } +}; + +/** + * HeightControl renders a linked unit control and range control for adjusting the height of a block. + * + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/height-control/README.md + * + * @param {Object} props + * @param {?string} props.label A label for the control. + * @param {( value: string ) => void } props.onChange Called when the height changes. + * @param {string} props.value The current height value. + * + * @return {Component} The component to be rendered. + */ +function HeightControl({ + label = (0,external_wp_i18n_namespaceObject.__)('Height'), + onChange, + value +}) { + var _RANGE_CONTROL_CUSTOM, _RANGE_CONTROL_CUSTOM2; + const customRangeValue = parseFloat(value); + const [availableUnits] = use_settings_useSettings('spacing.units'); + const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ + availableUnits: availableUnits || ['%', 'px', 'em', 'rem', 'vh', 'vw'] + }); + const selectedUnit = (0,external_wp_element_namespaceObject.useMemo)(() => (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(value), [value])[1] || units[0]?.value || 'px'; + const handleSliderChange = next => { + onChange([next, selectedUnit].join('')); + }; + const handleUnitChange = newUnit => { + // Attempt to smooth over differences between currentUnit and newUnit. + // This should slightly improve the experience of switching between unit types. + const [currentValue, currentUnit] = (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(value); + if (['em', 'rem'].includes(newUnit) && currentUnit === 'px') { + // Convert pixel value to an approximate of the new unit, assuming a root size of 16px. + onChange((currentValue / 16).toFixed(2) + newUnit); + } else if (['em', 'rem'].includes(currentUnit) && newUnit === 'px') { + // Convert to pixel value assuming a root size of 16px. + onChange(Math.round(currentValue * 16) + newUnit); + } else if (['%', 'vw', 'svw', 'lvw', 'dvw', 'vh', 'svh', 'lvh', 'dvh', 'vi', 'svi', 'lvi', 'dvi', 'vb', 'svb', 'lvb', 'dvb', 'vmin', 'svmin', 'lvmin', 'dvmin', 'vmax', 'svmax', 'lvmax', 'dvmax'].includes(newUnit) && currentValue > 100) { + // When converting to `%` or viewport-relative units, cap the new value at 100. + onChange(100 + newUnit); + } + }; + return (0,external_React_.createElement)("fieldset", { + className: "block-editor-height-control" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { + as: "legend" + }, label), (0,external_React_.createElement)(external_wp_components_namespaceObject.Flex, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, { + isBlock: true + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + value: value, + units: units, + onChange: onChange, + onUnitChange: handleUnitChange, + min: 0, + size: '__unstable-large', + label: label, + hideLabelFromVision: true + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, { + isBlock: true + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, { + marginX: 2, + marginBottom: 0 + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.RangeControl, { + value: customRangeValue, + min: 0, + max: (_RANGE_CONTROL_CUSTOM = RANGE_CONTROL_CUSTOM_SETTINGS[selectedUnit]?.max) !== null && _RANGE_CONTROL_CUSTOM !== void 0 ? _RANGE_CONTROL_CUSTOM : 100, + step: (_RANGE_CONTROL_CUSTOM2 = RANGE_CONTROL_CUSTOM_SETTINGS[selectedUnit]?.step) !== null && _RANGE_CONTROL_CUSTOM2 !== void 0 ? _RANGE_CONTROL_CUSTOM2 : 0.1, + withInputField: false, + onChange: handleSliderChange, + __nextHasNoMarginBottom: true, + label: label, + hideLabelFromVision: true + }))))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/child-layout-control/index.js + +/** + * WordPress dependencies + */ + + + +function helpText(selfStretch, parentLayout) { + const { + orientation = 'horizontal' + } = parentLayout; + if (selfStretch === 'fill') { + return (0,external_wp_i18n_namespaceObject.__)('Stretch to fill available space.'); + } + if (selfStretch === 'fixed' && orientation === 'horizontal') { + return (0,external_wp_i18n_namespaceObject.__)('Specify a fixed width.'); + } else if (selfStretch === 'fixed') { + return (0,external_wp_i18n_namespaceObject.__)('Specify a fixed height.'); + } + return (0,external_wp_i18n_namespaceObject.__)('Fit contents.'); +} + +/** + * Form to edit the child layout value. + * + * @param {Object} props Props. + * @param {Object} props.value The child layout value. + * @param {Function} props.onChange Function to update the child layout value. + * @param {Object} props.parentLayout The parent layout value. + * + * @return {Element} child layout edit element. + */ +function ChildLayoutControl({ + value: childLayout = {}, + onChange, + parentLayout +}) { + const { + selfStretch, + flexSize + } = childLayout; + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (selfStretch === 'fixed' && !flexSize) { + onChange({ + ...childLayout, + selfStretch: 'fit' + }); + } + }, []); + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, { + __nextHasNoMarginBottom: true, + size: '__unstable-large', + label: childLayoutOrientation(parentLayout), + value: selfStretch || 'fit', + help: helpText(selfStretch, parentLayout), + onChange: value => { + const newFlexSize = value !== 'fixed' ? null : flexSize; + onChange({ + ...childLayout, + selfStretch: value, + flexSize: newFlexSize + }); + }, + isBlock: true + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, { + key: 'fit', + value: 'fit', + label: (0,external_wp_i18n_namespaceObject.__)('Fit') + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, { + key: 'fill', + value: 'fill', + label: (0,external_wp_i18n_namespaceObject.__)('Fill') + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, { + key: 'fixed', + value: 'fixed', + label: (0,external_wp_i18n_namespaceObject.__)('Fixed') + })), selfStretch === 'fixed' && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + size: '__unstable-large', + onChange: value => { + onChange({ + ...childLayout, + flexSize: value + }); + }, + value: flexSize + })); +} +function childLayoutOrientation(parentLayout) { + const { + orientation = 'horizontal' + } = parentLayout; + return orientation === 'horizontal' ? (0,external_wp_i18n_namespaceObject.__)('Width') : (0,external_wp_i18n_namespaceObject.__)('Height'); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/dimensions-tool/aspect-ratio-tool.js + +/** + * WordPress dependencies + */ + + + +/** + * @typedef {import('@wordpress/components/build-types/select-control/types').SelectControlProps} SelectControlProps + */ + +/** + * @type {SelectControlProps[]} + */ +const DEFAULT_ASPECT_RATIO_OPTIONS = [{ + label: (0,external_wp_i18n_namespaceObject._x)('Original', 'Aspect ratio option for dimensions control'), + value: 'auto' +}, { + label: (0,external_wp_i18n_namespaceObject._x)('Square - 1:1', 'Aspect ratio option for dimensions control'), + value: '1' +}, { + label: (0,external_wp_i18n_namespaceObject._x)('Standard - 4:3', 'Aspect ratio option for dimensions control'), + value: '4/3' +}, { + label: (0,external_wp_i18n_namespaceObject._x)('Portrait - 3:4', 'Aspect ratio option for dimensions control'), + value: '3/4' +}, { + label: (0,external_wp_i18n_namespaceObject._x)('Classic - 3:2', 'Aspect ratio option for dimensions control'), + value: '3/2' +}, { + label: (0,external_wp_i18n_namespaceObject._x)('Classic Portrait - 2:3', 'Aspect ratio option for dimensions control'), + value: '2/3' +}, { + label: (0,external_wp_i18n_namespaceObject._x)('Wide - 16:9', 'Aspect ratio option for dimensions control'), + value: '16/9' +}, { + label: (0,external_wp_i18n_namespaceObject._x)('Tall - 9:16', 'Aspect ratio option for dimensions control'), + value: '9/16' +}, { + label: (0,external_wp_i18n_namespaceObject._x)('Custom', 'Aspect ratio option for dimensions control'), + value: 'custom', + disabled: true, + hidden: true +}]; + +/** + * @callback AspectRatioToolPropsOnChange + * @param {string} [value] New aspect ratio value. + * @return {void} No return. + */ + +/** + * @typedef {Object} AspectRatioToolProps + * @property {string} [panelId] ID of the panel this tool is associated with. + * @property {string} [value] Current aspect ratio value. + * @property {AspectRatioToolPropsOnChange} [onChange] Callback to update the aspect ratio value. + * @property {SelectControlProps[]} [options] Aspect ratio options. + * @property {string} [defaultValue] Default aspect ratio value. + * @property {boolean} [isShownByDefault] Whether the tool is shown by default. + */ + +function AspectRatioTool({ + panelId, + value, + onChange = () => {}, + options = DEFAULT_ASPECT_RATIO_OPTIONS, + defaultValue = DEFAULT_ASPECT_RATIO_OPTIONS[0].value, + hasValue, + isShownByDefault = true +}) { + // Match the CSS default so if the value is used directly in CSS it will look correct in the control. + const displayValue = value !== null && value !== void 0 ? value : 'auto'; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + hasValue: hasValue ? hasValue : () => displayValue !== defaultValue, + label: (0,external_wp_i18n_namespaceObject.__)('Aspect ratio'), + onDeselect: () => onChange(undefined), + isShownByDefault: isShownByDefault, + panelId: panelId + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.SelectControl, { + label: (0,external_wp_i18n_namespaceObject.__)('Aspect ratio'), + value: displayValue, + options: options, + onChange: onChange, + size: '__unstable-large', + __nextHasNoMarginBottom: true + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/dimensions-panel.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + + + +const AXIAL_SIDES = ['horizontal', 'vertical']; +function useHasDimensionsPanel(settings) { + const hasContentSize = useHasContentSize(settings); + const hasWideSize = useHasWideSize(settings); + const hasPadding = useHasPadding(settings); + const hasMargin = useHasMargin(settings); + const hasGap = useHasGap(settings); + const hasMinHeight = useHasMinHeight(settings); + const hasAspectRatio = useHasAspectRatio(settings); + const hasChildLayout = useHasChildLayout(settings); + return external_wp_element_namespaceObject.Platform.OS === 'web' && (hasContentSize || hasWideSize || hasPadding || hasMargin || hasGap || hasMinHeight || hasAspectRatio || hasChildLayout); +} +function useHasContentSize(settings) { + return settings?.layout?.contentSize; +} +function useHasWideSize(settings) { + return settings?.layout?.wideSize; +} +function useHasPadding(settings) { + return settings?.spacing?.padding; +} +function useHasMargin(settings) { + return settings?.spacing?.margin; +} +function useHasGap(settings) { + return settings?.spacing?.blockGap; +} +function useHasMinHeight(settings) { + return settings?.dimensions?.minHeight; +} +function useHasAspectRatio(settings) { + return settings?.dimensions?.aspectRatio; +} +function useHasChildLayout(settings) { + var _settings$parentLayou; + const { + type: parentLayoutType = 'default', + default: { + type: defaultParentLayoutType = 'default' + } = {}, + allowSizingOnChildren = false + } = (_settings$parentLayou = settings?.parentLayout) !== null && _settings$parentLayou !== void 0 ? _settings$parentLayou : {}; + const support = (defaultParentLayoutType === 'flex' || parentLayoutType === 'flex') && allowSizingOnChildren; + return !!settings?.layout && support; +} +function useHasSpacingPresets(settings) { + var _ref, _ref2; + const { + custom, + theme, + default: defaultPresets + } = settings?.spacing?.spacingSizes || {}; + const presets = (_ref = (_ref2 = custom !== null && custom !== void 0 ? custom : theme) !== null && _ref2 !== void 0 ? _ref2 : defaultPresets) !== null && _ref !== void 0 ? _ref : []; + return presets.length > 0; +} +function filterValuesBySides(values, sides) { + // If no custom side configuration, all sides are opted into by default. + // Without any values, we have nothing to filter either. + if (!sides || !values) { + return values; + } + + // Only include sides opted into within filtered values. + const filteredValues = {}; + sides.forEach(side => { + if (side === 'vertical') { + filteredValues.top = values.top; + filteredValues.bottom = values.bottom; + } + if (side === 'horizontal') { + filteredValues.left = values.left; + filteredValues.right = values.right; + } + filteredValues[side] = values?.[side]; + }); + return filteredValues; +} +function splitStyleValue(value) { + // Check for shorthand value (a string value). + if (value && typeof value === 'string') { + // Convert to value for individual sides for BoxControl. + return { + top: value, + right: value, + bottom: value, + left: value + }; + } + return value; +} +function splitGapValue(value) { + // Check for shorthand value (a string value). + if (value && typeof value === 'string') { + // If the value is a string, treat it as a single side (top) for the spacing controls. + return { + top: value + }; + } + if (value) { + return { + ...value, + right: value?.left, + bottom: value?.top + }; + } + return value; +} +function DimensionsToolsPanel({ + resetAllFilter, + onChange, + value, + panelId, + children +}) { + const resetAll = () => { + const updatedValue = resetAllFilter(value); + onChange(updatedValue); + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { + label: (0,external_wp_i18n_namespaceObject.__)('Dimensions'), + resetAll: resetAll, + panelId: panelId, + dropdownMenuProps: TOOLSPANEL_DROPDOWNMENU_PROPS + }, children); +} +const dimensions_panel_DEFAULT_CONTROLS = { + contentSize: true, + wideSize: true, + padding: true, + margin: true, + blockGap: true, + minHeight: true, + aspectRatio: true, + childLayout: true +}; +function DimensionsPanel({ + as: Wrapper = DimensionsToolsPanel, + value, + onChange, + inheritedValue = value, + settings, + panelId, + defaultControls = dimensions_panel_DEFAULT_CONTROLS, + onVisualize = () => {}, + // Special case because the layout controls are not part of the dimensions panel + // in global styles but not in block inspector. + includeLayoutControls = false +}) { + var _settings$parentLayou2, _defaultControls$cont, _defaultControls$wide, _defaultControls$padd, _defaultControls$marg, _defaultControls$bloc, _defaultControls$minH, _defaultControls$aspe, _defaultControls$chil; + const { + dimensions, + spacing + } = settings; + const decodeValue = rawValue => { + if (rawValue && typeof rawValue === 'object') { + return Object.keys(rawValue).reduce((acc, key) => { + acc[key] = getValueFromVariable({ + settings: { + dimensions, + spacing + } + }, '', rawValue[key]); + return acc; + }, {}); + } + return getValueFromVariable({ + settings: { + dimensions, + spacing + } + }, '', rawValue); + }; + const showSpacingPresetsControl = useHasSpacingPresets(settings); + const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ + availableUnits: settings?.spacing?.units || ['%', 'px', 'em', 'rem', 'vw'] + }); + + // Content Size + const showContentSizeControl = useHasContentSize(settings) && includeLayoutControls; + const contentSizeValue = decodeValue(inheritedValue?.layout?.contentSize); + const setContentSizeValue = newValue => { + onChange(setImmutably(value, ['layout', 'contentSize'], newValue || undefined)); + }; + const hasUserSetContentSizeValue = () => !!value?.layout?.contentSize; + const resetContentSizeValue = () => setContentSizeValue(undefined); + + // Wide Size + const showWideSizeControl = useHasWideSize(settings) && includeLayoutControls; + const wideSizeValue = decodeValue(inheritedValue?.layout?.wideSize); + const setWideSizeValue = newValue => { + onChange(setImmutably(value, ['layout', 'wideSize'], newValue || undefined)); + }; + const hasUserSetWideSizeValue = () => !!value?.layout?.wideSize; + const resetWideSizeValue = () => setWideSizeValue(undefined); + + // Padding + const showPaddingControl = useHasPadding(settings); + const rawPadding = decodeValue(inheritedValue?.spacing?.padding); + const paddingValues = splitStyleValue(rawPadding); + const paddingSides = Array.isArray(settings?.spacing?.padding) ? settings?.spacing?.padding : settings?.spacing?.padding?.sides; + const isAxialPadding = paddingSides && paddingSides.some(side => AXIAL_SIDES.includes(side)); + const setPaddingValues = newPaddingValues => { + const padding = filterValuesBySides(newPaddingValues, paddingSides); + onChange(setImmutably(value, ['spacing', 'padding'], padding)); + }; + const hasPaddingValue = () => !!value?.spacing?.padding && Object.keys(value?.spacing?.padding).length; + const resetPaddingValue = () => setPaddingValues(undefined); + const onMouseOverPadding = () => onVisualize('padding'); + + // Margin + const showMarginControl = useHasMargin(settings); + const rawMargin = decodeValue(inheritedValue?.spacing?.margin); + const marginValues = splitStyleValue(rawMargin); + const marginSides = Array.isArray(settings?.spacing?.margin) ? settings?.spacing?.margin : settings?.spacing?.margin?.sides; + const isAxialMargin = marginSides && marginSides.some(side => AXIAL_SIDES.includes(side)); + const setMarginValues = newMarginValues => { + const margin = filterValuesBySides(newMarginValues, marginSides); + onChange(setImmutably(value, ['spacing', 'margin'], margin)); + }; + const hasMarginValue = () => !!value?.spacing?.margin && Object.keys(value?.spacing?.margin).length; + const resetMarginValue = () => setMarginValues(undefined); + const onMouseOverMargin = () => onVisualize('margin'); + + // Block Gap + const showGapControl = useHasGap(settings); + const gapValue = decodeValue(inheritedValue?.spacing?.blockGap); + const gapValues = splitGapValue(gapValue); + const gapSides = Array.isArray(settings?.spacing?.blockGap) ? settings?.spacing?.blockGap : settings?.spacing?.blockGap?.sides; + const isAxialGap = gapSides && gapSides.some(side => AXIAL_SIDES.includes(side)); + const setGapValue = newGapValue => { + onChange(setImmutably(value, ['spacing', 'blockGap'], newGapValue)); + }; + const setGapValues = nextBoxGapValue => { + if (!nextBoxGapValue) { + setGapValue(null); + } + // If axial gap is not enabled, treat the 'top' value as the shorthand gap value. + if (!isAxialGap && nextBoxGapValue?.hasOwnProperty('top')) { + setGapValue(nextBoxGapValue.top); + } else { + setGapValue({ + top: nextBoxGapValue?.top, + left: nextBoxGapValue?.left + }); + } + }; + const resetGapValue = () => setGapValue(undefined); + const hasGapValue = () => !!value?.spacing?.blockGap; + + // Min Height + const showMinHeightControl = useHasMinHeight(settings); + const minHeightValue = decodeValue(inheritedValue?.dimensions?.minHeight); + const setMinHeightValue = newValue => { + const tempValue = setImmutably(value, ['dimensions', 'minHeight'], newValue); + // Apply min-height, while removing any applied aspect ratio. + onChange(setImmutably(tempValue, ['dimensions', 'aspectRatio'], undefined)); + }; + const resetMinHeightValue = () => { + setMinHeightValue(undefined); + }; + const hasMinHeightValue = () => !!value?.dimensions?.minHeight; + + // Aspect Ratio + const showAspectRatioControl = useHasAspectRatio(settings); + const aspectRatioValue = decodeValue(inheritedValue?.dimensions?.aspectRatio); + const setAspectRatioValue = newValue => { + const tempValue = setImmutably(value, ['dimensions', 'aspectRatio'], newValue); + // Apply aspect-ratio, while removing any applied min-height. + onChange(setImmutably(tempValue, ['dimensions', 'minHeight'], undefined)); + }; + const hasAspectRatioValue = () => !!value?.dimensions?.aspectRatio; + + // Child Layout + const showChildLayoutControl = useHasChildLayout(settings); + const childLayout = inheritedValue?.layout; + const { + orientation = 'horizontal' + } = (_settings$parentLayou2 = settings?.parentLayout) !== null && _settings$parentLayou2 !== void 0 ? _settings$parentLayou2 : {}; + const childLayoutOrientationLabel = orientation === 'horizontal' ? (0,external_wp_i18n_namespaceObject.__)('Width') : (0,external_wp_i18n_namespaceObject.__)('Height'); + const setChildLayout = newChildLayout => { + onChange({ + ...value, + layout: { + ...value?.layout, + ...newChildLayout + } + }); + }; + const resetChildLayoutValue = () => { + setChildLayout({ + selfStretch: undefined, + flexSize: undefined + }); + }; + const hasChildLayoutValue = () => !!value?.layout; + const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { + return { + ...previousValue, + layout: utils_cleanEmptyObject({ + ...previousValue?.layout, + contentSize: undefined, + wideSize: undefined, + selfStretch: undefined, + flexSize: undefined + }), + spacing: { + ...previousValue?.spacing, + padding: undefined, + margin: undefined, + blockGap: undefined + }, + dimensions: { + ...previousValue?.dimensions, + minHeight: undefined, + aspectRatio: undefined + } + }; + }, []); + const onMouseLeaveControls = () => onVisualize(false); + return (0,external_React_.createElement)(Wrapper, { + resetAllFilter: resetAllFilter, + value: value, + onChange: onChange, + panelId: panelId + }, (showContentSizeControl || showWideSizeControl) && (0,external_React_.createElement)("span", { + className: "span-columns" + }, (0,external_wp_i18n_namespaceObject.__)('Set the width of the main content area.')), showContentSizeControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + className: "single-column", + label: (0,external_wp_i18n_namespaceObject.__)('Content size'), + hasValue: hasUserSetContentSizeValue, + onDeselect: resetContentSizeValue, + isShownByDefault: (_defaultControls$cont = defaultControls.contentSize) !== null && _defaultControls$cont !== void 0 ? _defaultControls$cont : dimensions_panel_DEFAULT_CONTROLS.contentSize, + panelId: panelId + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + alignment: "flex-end", + justify: "flex-start" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + label: (0,external_wp_i18n_namespaceObject.__)('Content'), + labelPosition: "top", + __unstableInputWidth: "80px", + value: contentSizeValue || '', + onChange: nextContentSize => { + setContentSizeValue(nextContentSize); + }, + units: units + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalView, null, (0,external_React_.createElement)(build_module_icon, { + icon: position_center + })))), showWideSizeControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + className: "single-column", + label: (0,external_wp_i18n_namespaceObject.__)('Wide size'), + hasValue: hasUserSetWideSizeValue, + onDeselect: resetWideSizeValue, + isShownByDefault: (_defaultControls$wide = defaultControls.wideSize) !== null && _defaultControls$wide !== void 0 ? _defaultControls$wide : dimensions_panel_DEFAULT_CONTROLS.wideSize, + panelId: panelId + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + alignment: "flex-end", + justify: "flex-start" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + label: (0,external_wp_i18n_namespaceObject.__)('Wide'), + labelPosition: "top", + __unstableInputWidth: "80px", + value: wideSizeValue || '', + onChange: nextWideSize => { + setWideSizeValue(nextWideSize); + }, + units: units + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalView, null, (0,external_React_.createElement)(build_module_icon, { + icon: stretch_wide + })))), showPaddingControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + hasValue: hasPaddingValue, + label: (0,external_wp_i18n_namespaceObject.__)('Padding'), + onDeselect: resetPaddingValue, + isShownByDefault: (_defaultControls$padd = defaultControls.padding) !== null && _defaultControls$padd !== void 0 ? _defaultControls$padd : dimensions_panel_DEFAULT_CONTROLS.padding, + className: classnames_default()({ + 'tools-panel-item-spacing': showSpacingPresetsControl + }), + panelId: panelId + }, !showSpacingPresetsControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalBoxControl, { + values: paddingValues, + onChange: setPaddingValues, + label: (0,external_wp_i18n_namespaceObject.__)('Padding'), + sides: paddingSides, + units: units, + allowReset: false, + splitOnAxis: isAxialPadding, + onMouseOver: onMouseOverPadding, + onMouseOut: onMouseLeaveControls + }), showSpacingPresetsControl && (0,external_React_.createElement)(SpacingSizesControl, { + values: paddingValues, + onChange: setPaddingValues, + label: (0,external_wp_i18n_namespaceObject.__)('Padding'), + sides: paddingSides, + units: units, + allowReset: false, + onMouseOver: onMouseOverPadding, + onMouseOut: onMouseLeaveControls + })), showMarginControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + hasValue: hasMarginValue, + label: (0,external_wp_i18n_namespaceObject.__)('Margin'), + onDeselect: resetMarginValue, + isShownByDefault: (_defaultControls$marg = defaultControls.margin) !== null && _defaultControls$marg !== void 0 ? _defaultControls$marg : dimensions_panel_DEFAULT_CONTROLS.margin, + className: classnames_default()({ + 'tools-panel-item-spacing': showSpacingPresetsControl + }), + panelId: panelId + }, !showSpacingPresetsControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalBoxControl, { + values: marginValues, + onChange: setMarginValues, + label: (0,external_wp_i18n_namespaceObject.__)('Margin'), + sides: marginSides, + units: units, + allowReset: false, + splitOnAxis: isAxialMargin, + onMouseOver: onMouseOverMargin, + onMouseOut: onMouseLeaveControls + }), showSpacingPresetsControl && (0,external_React_.createElement)(SpacingSizesControl, { + values: marginValues, + onChange: setMarginValues, + label: (0,external_wp_i18n_namespaceObject.__)('Margin'), + sides: marginSides, + units: units, + allowReset: false, + onMouseOver: onMouseOverMargin, + onMouseOut: onMouseLeaveControls + })), showGapControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + hasValue: hasGapValue, + label: (0,external_wp_i18n_namespaceObject.__)('Block spacing'), + onDeselect: resetGapValue, + isShownByDefault: (_defaultControls$bloc = defaultControls.blockGap) !== null && _defaultControls$bloc !== void 0 ? _defaultControls$bloc : dimensions_panel_DEFAULT_CONTROLS.blockGap, + className: classnames_default()({ + 'tools-panel-item-spacing': showSpacingPresetsControl + }), + panelId: panelId + }, !showSpacingPresetsControl && (isAxialGap ? (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalBoxControl, { + label: (0,external_wp_i18n_namespaceObject.__)('Block spacing'), + min: 0, + onChange: setGapValues, + units: units, + sides: gapSides, + values: gapValues, + allowReset: false, + splitOnAxis: isAxialGap + }) : (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + label: (0,external_wp_i18n_namespaceObject.__)('Block spacing'), + __unstableInputWidth: "80px", + min: 0, + onChange: setGapValue, + units: units, + value: gapValue + })), showSpacingPresetsControl && (0,external_React_.createElement)(SpacingSizesControl, { + label: (0,external_wp_i18n_namespaceObject.__)('Block spacing'), + min: 0, + onChange: setGapValues, + showSideInLabel: false, + sides: isAxialGap ? gapSides : ['top'] // Use 'top' as the shorthand property in non-axial configurations. + , + values: gapValues, + allowReset: false + })), showMinHeightControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + hasValue: hasMinHeightValue, + label: (0,external_wp_i18n_namespaceObject.__)('Minimum height'), + onDeselect: resetMinHeightValue, + isShownByDefault: (_defaultControls$minH = defaultControls.minHeight) !== null && _defaultControls$minH !== void 0 ? _defaultControls$minH : dimensions_panel_DEFAULT_CONTROLS.minHeight, + panelId: panelId + }, (0,external_React_.createElement)(HeightControl, { + label: (0,external_wp_i18n_namespaceObject.__)('Minimum height'), + value: minHeightValue, + onChange: setMinHeightValue + })), showAspectRatioControl && (0,external_React_.createElement)(AspectRatioTool, { + hasValue: hasAspectRatioValue, + value: aspectRatioValue, + onChange: setAspectRatioValue, + panelId: panelId, + isShownByDefault: (_defaultControls$aspe = defaultControls.aspectRatio) !== null && _defaultControls$aspe !== void 0 ? _defaultControls$aspe : dimensions_panel_DEFAULT_CONTROLS.aspectRatio + }), showChildLayoutControl && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + as: external_wp_components_namespaceObject.__experimentalToolsPanelItem, + spacing: 2, + hasValue: hasChildLayoutValue, + label: childLayoutOrientationLabel, + onDeselect: resetChildLayoutValue, + isShownByDefault: (_defaultControls$chil = defaultControls.childLayout) !== null && _defaultControls$chil !== void 0 ? _defaultControls$chil : dimensions_panel_DEFAULT_CONTROLS.childLayout, + panelId: panelId + }, (0,external_React_.createElement)(ChildLayoutControl, { + value: childLayout, + onChange: setChildLayout, + parentLayout: settings?.parentLayout + }))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-popover/use-popover-scroll.js +/** + * WordPress dependencies + */ + + +/** + * Allow scrolling "through" popovers over the canvas. This is only called for + * as long as the pointer is over a popover. Do not use React events because it + * will bubble through portals. + * + * @param {Object} scrollableRef + */ +function usePopoverScroll(scrollableRef) { + return (0,external_wp_compose_namespaceObject.useRefEffect)(node => { + if (!scrollableRef) { + return; + } + function onWheel(event) { + const { + deltaX, + deltaY + } = event; + scrollableRef.current.scrollBy(deltaX, deltaY); + } + // Tell the browser that we do not call event.preventDefault + // See https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#improving_scrolling_performance_with_passive_listeners + const options = { + passive: true + }; + node.addEventListener('wheel', onWheel, options); + return () => { + node.removeEventListener('wheel', onWheel, options); + }; + }, [scrollableRef]); +} +/* harmony default export */ var use_popover_scroll = (usePopoverScroll); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-popover/index.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +const MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER; +function BlockPopover({ + clientId, + bottomClientId, + children, + __unstableRefreshSize, + __unstableCoverTarget = false, + __unstablePopoverSlot, + __unstableContentRef, + shift = true, + ...props +}, ref) { + const selectedElement = useBlockElement(clientId); + const lastSelectedElement = useBlockElement(bottomClientId !== null && bottomClientId !== void 0 ? bottomClientId : clientId); + const mergedRefs = (0,external_wp_compose_namespaceObject.useMergeRefs)([ref, use_popover_scroll(__unstableContentRef)]); + const [popoverDimensionsRecomputeCounter, forceRecomputePopoverDimensions] = (0,external_wp_element_namespaceObject.useReducer)( + // Module is there to make sure that the counter doesn't overflow. + s => (s + 1) % MAX_POPOVER_RECOMPUTE_COUNTER, 0); + + // When blocks are moved up/down, they are animated to their new position by + // updating the `transform` property manually (i.e. without using CSS + // transitions or animations). The animation, which can also scroll the block + // editor, can sometimes cause the position of the Popover to get out of sync. + // A MutationObserver is therefore used to make sure that changes to the + // selectedElement's attribute (i.e. `transform`) can be tracked and used to + // trigger the Popover to rerender. + (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { + if (!selectedElement) { + return; + } + const observer = new window.MutationObserver(forceRecomputePopoverDimensions); + observer.observe(selectedElement, { + attributes: true + }); + return () => { + observer.disconnect(); + }; + }, [selectedElement]); + const style = (0,external_wp_element_namespaceObject.useMemo)(() => { + if ( + // popoverDimensionsRecomputeCounter is by definition always equal or greater + // than 0. This check is only there to satisfy the correctness of the + // exhaustive-deps rule for the `useMemo` hook. + popoverDimensionsRecomputeCounter < 0 || !selectedElement || lastSelectedElement !== selectedElement) { + return {}; + } + return { + position: 'absolute', + width: selectedElement.offsetWidth, + height: selectedElement.offsetHeight + }; + }, [selectedElement, lastSelectedElement, __unstableRefreshSize, popoverDimensionsRecomputeCounter]); + const popoverAnchor = (0,external_wp_element_namespaceObject.useMemo)(() => { + if ( + // popoverDimensionsRecomputeCounter is by definition always equal or greater + // than 0. This check is only there to satisfy the correctness of the + // exhaustive-deps rule for the `useMemo` hook. + popoverDimensionsRecomputeCounter < 0 || !selectedElement || bottomClientId && !lastSelectedElement) { + return undefined; + } + return { + getBoundingClientRect() { + var _lastSelectedBCR$left, _lastSelectedBCR$top, _lastSelectedBCR$righ, _lastSelectedBCR$bott; + const selectedBCR = selectedElement.getBoundingClientRect(); + const lastSelectedBCR = lastSelectedElement?.getBoundingClientRect(); + + // Get the biggest rectangle that encompasses completely the currently + // selected element and the last selected element: + // - for top/left coordinates, use the smaller numbers + // - for the bottom/right coordinates, use the largest numbers + const left = Math.min(selectedBCR.left, (_lastSelectedBCR$left = lastSelectedBCR?.left) !== null && _lastSelectedBCR$left !== void 0 ? _lastSelectedBCR$left : Infinity); + const top = Math.min(selectedBCR.top, (_lastSelectedBCR$top = lastSelectedBCR?.top) !== null && _lastSelectedBCR$top !== void 0 ? _lastSelectedBCR$top : Infinity); + const right = Math.max(selectedBCR.right, (_lastSelectedBCR$righ = lastSelectedBCR.right) !== null && _lastSelectedBCR$righ !== void 0 ? _lastSelectedBCR$righ : -Infinity); + const bottom = Math.max(selectedBCR.bottom, (_lastSelectedBCR$bott = lastSelectedBCR.bottom) !== null && _lastSelectedBCR$bott !== void 0 ? _lastSelectedBCR$bott : -Infinity); + const width = right - left; + const height = bottom - top; + return new window.DOMRect(left, top, width, height); + }, + contextElement: selectedElement + }; + }, [bottomClientId, lastSelectedElement, selectedElement, popoverDimensionsRecomputeCounter]); + if (!selectedElement || bottomClientId && !lastSelectedElement) { + return null; + } + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover, { + ref: mergedRefs, + animate: false, + focusOnMount: false, + anchor: popoverAnchor + // Render in the old slot if needed for backward compatibility, + // otherwise render in place (not in the default popover slot). + , + __unstableSlotName: __unstablePopoverSlot, + inline: !__unstablePopoverSlot, + placement: "top-start", + resize: false, + flip: false, + shift: shift, + ...props, + className: classnames_default()('block-editor-block-popover', props.className), + variant: "unstyled" + }, __unstableCoverTarget && (0,external_React_.createElement)("div", { + style: style + }, children), !__unstableCoverTarget && children); +} +/* harmony default export */ var block_popover = ((0,external_wp_element_namespaceObject.forwardRef)(BlockPopover)); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/margin.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +function getComputedCSS(element, property) { + return element.ownerDocument.defaultView.getComputedStyle(element).getPropertyValue(property); +} +function MarginVisualizer({ + clientId, + attributes, + forceShow +}) { + const blockElement = useBlockElement(clientId); + const [style, setStyle] = (0,external_wp_element_namespaceObject.useState)(); + const margin = attributes?.style?.spacing?.margin; + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (!blockElement || null === blockElement.ownerDocument.defaultView) { + return; + } + const top = getComputedCSS(blockElement, 'margin-top'); + const right = getComputedCSS(blockElement, 'margin-right'); + const bottom = getComputedCSS(blockElement, 'margin-bottom'); + const left = getComputedCSS(blockElement, 'margin-left'); + setStyle({ + borderTopWidth: top, + borderRightWidth: right, + borderBottomWidth: bottom, + borderLeftWidth: left, + top: top ? `-${top}` : 0, + right: right ? `-${right}` : 0, + bottom: bottom ? `-${bottom}` : 0, + left: left ? `-${left}` : 0 + }); + }, [blockElement, margin]); + const [isActive, setIsActive] = (0,external_wp_element_namespaceObject.useState)(false); + const valueRef = (0,external_wp_element_namespaceObject.useRef)(margin); + const timeoutRef = (0,external_wp_element_namespaceObject.useRef)(); + const clearTimer = () => { + if (timeoutRef.current) { + window.clearTimeout(timeoutRef.current); + } + }; + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (!external_wp_isShallowEqual_default()(margin, valueRef.current) && !forceShow) { + setIsActive(true); + valueRef.current = margin; + timeoutRef.current = setTimeout(() => { + setIsActive(false); + }, 400); + } + return () => { + setIsActive(false); + clearTimer(); + }; + }, [margin, forceShow]); + if (!isActive && !forceShow) { + return null; + } + return (0,external_React_.createElement)(block_popover, { + clientId: clientId, + __unstableCoverTarget: true, + __unstableRefreshSize: margin, + __unstablePopoverSlot: "block-toolbar", + shift: false + }, (0,external_React_.createElement)("div", { + className: "block-editor__padding-visualizer", + style: style + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/padding.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +function padding_getComputedCSS(element, property) { + return element.ownerDocument.defaultView.getComputedStyle(element).getPropertyValue(property); +} +function PaddingVisualizer({ + clientId, + value, + forceShow +}) { + const blockElement = useBlockElement(clientId); + const [style, setStyle] = (0,external_wp_element_namespaceObject.useState)(); + const padding = value?.spacing?.padding; + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (!blockElement || null === blockElement.ownerDocument.defaultView) { + return; + } + setStyle({ + borderTopWidth: padding_getComputedCSS(blockElement, 'padding-top'), + borderRightWidth: padding_getComputedCSS(blockElement, 'padding-right'), + borderBottomWidth: padding_getComputedCSS(blockElement, 'padding-bottom'), + borderLeftWidth: padding_getComputedCSS(blockElement, 'padding-left') + }); + }, [blockElement, padding]); + const [isActive, setIsActive] = (0,external_wp_element_namespaceObject.useState)(false); + const valueRef = (0,external_wp_element_namespaceObject.useRef)(padding); + const timeoutRef = (0,external_wp_element_namespaceObject.useRef)(); + const clearTimer = () => { + if (timeoutRef.current) { + window.clearTimeout(timeoutRef.current); + } + }; + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (!external_wp_isShallowEqual_default()(padding, valueRef.current) && !forceShow) { + setIsActive(true); + valueRef.current = padding; + timeoutRef.current = setTimeout(() => { + setIsActive(false); + }, 400); + } + return () => { + setIsActive(false); + clearTimer(); + }; + }, [padding, forceShow]); + if (!isActive && !forceShow) { + return null; + } + return (0,external_React_.createElement)(block_popover, { + clientId: clientId, + __unstableCoverTarget: true, + __unstableRefreshSize: padding, + __unstablePopoverSlot: "block-toolbar", + shift: false + }, (0,external_React_.createElement)("div", { + className: "block-editor__padding-visualizer", + style: style + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/dimensions.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + + + +const DIMENSIONS_SUPPORT_KEY = 'dimensions'; +const SPACING_SUPPORT_KEY = 'spacing'; +const dimensions_ALL_SIDES = (/* unused pure expression or super */ null && (['top', 'right', 'bottom', 'left'])); +const dimensions_AXIAL_SIDES = (/* unused pure expression or super */ null && (['vertical', 'horizontal'])); +function useVisualizer() { + const [property, setProperty] = (0,external_wp_element_namespaceObject.useState)(false); + const { + hideBlockInterface, + showBlockInterface + } = unlock((0,external_wp_data_namespaceObject.useDispatch)(store)); + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (!property) { + showBlockInterface(); + } else { + hideBlockInterface(); + } + }, [property, showBlockInterface, hideBlockInterface]); + return [property, setProperty]; +} +function DimensionsInspectorControl({ + children, + resetAllFilter +}) { + const attributesResetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(attributes => { + const existingStyle = attributes.style; + const updatedStyle = resetAllFilter(existingStyle); + return { + ...attributes, + style: updatedStyle + }; + }, [resetAllFilter]); + return (0,external_React_.createElement)(inspector_controls, { + group: "dimensions", + resetAllFilter: attributesResetAllFilter + }, children); +} +function dimensions_DimensionsPanel({ + clientId, + name, + setAttributes, + settings +}) { + const isEnabled = useHasDimensionsPanel(settings); + const value = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getBlockAttributes(clientId)?.style, [clientId]); + const [visualizedProperty, setVisualizedProperty] = useVisualizer(); + const onChange = newStyle => { + setAttributes({ + style: utils_cleanEmptyObject(newStyle) + }); + }; + if (!isEnabled) { + return null; + } + const defaultDimensionsControls = (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, [DIMENSIONS_SUPPORT_KEY, '__experimentalDefaultControls']); + const defaultSpacingControls = (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, [SPACING_SUPPORT_KEY, '__experimentalDefaultControls']); + const defaultControls = { + ...defaultDimensionsControls, + ...defaultSpacingControls + }; + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(DimensionsPanel, { + as: DimensionsInspectorControl, + panelId: clientId, + settings: settings, + value: value, + onChange: onChange, + defaultControls: defaultControls, + onVisualize: setVisualizedProperty + }), !!settings?.spacing?.padding && (0,external_React_.createElement)(PaddingVisualizer, { + forceShow: visualizedProperty === 'padding', + clientId: clientId, + value: value + }), !!settings?.spacing?.margin && (0,external_React_.createElement)(MarginVisualizer, { + forceShow: visualizedProperty === 'margin', + clientId: clientId, + value: value + })); +} + +/** + * Determine whether there is block support for dimensions. + * + * @param {string} blockName Block name. + * @param {string} feature Background image feature to check for. + * + * @return {boolean} Whether there is support. + */ +function hasDimensionsSupport(blockName, feature = 'any') { + if (external_wp_element_namespaceObject.Platform.OS !== 'web') { + return false; + } + const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockName, DIMENSIONS_SUPPORT_KEY); + if (support === true) { + return true; + } + if (feature === 'any') { + return !!(support?.aspectRatio || !!support?.minHeight); + } + return !!support?.[feature]; +} +/* harmony default export */ var dimensions = ({ + useBlockProps: dimensions_useBlockProps, + attributeKeys: ['minHeight', 'style'], + hasSupport(name) { + return hasDimensionsSupport(name, 'aspectRatio'); + } +}); +function dimensions_useBlockProps({ + name, + minHeight, + style +}) { + if (!hasDimensionsSupport(name, 'aspectRatio') || shouldSkipSerialization(name, DIMENSIONS_SUPPORT_KEY, 'aspectRatio')) { + return {}; + } + const className = classnames_default()({ + 'has-aspect-ratio': !!style?.dimensions?.aspectRatio + }); + + // Allow dimensions-based inline style overrides to override any global styles rules that + // might be set for the block, and therefore affect the display of the aspect ratio. + const inlineStyleOverrides = {}; + + // Apply rules to unset incompatible styles. + // Note that a set `aspectRatio` will win out if both an aspect ratio and a minHeight are set. + // This is because the aspect ratio is a newer block support, so (in theory) any aspect ratio + // that is set should be intentional and should override any existing minHeight. The Cover block + // and dimensions controls have logic that will manually clear the aspect ratio if a minHeight + // is set. + if (style?.dimensions?.aspectRatio) { + // To ensure the aspect ratio does not get overridden by `minHeight` unset any existing rule. + inlineStyleOverrides.minHeight = 'unset'; + } else if (minHeight || style?.dimensions?.minHeight) { + // To ensure the minHeight does not get overridden by `aspectRatio` unset any existing rule. + inlineStyleOverrides.aspectRatio = 'unset'; + } + return { + className, + style: inlineStyleOverrides + }; +} + +/** + * @deprecated + */ +function useCustomSides() { + external_wp_deprecated_default()('wp.blockEditor.__experimentalUseCustomSides', { + since: '6.3', + version: '6.4' + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/shadow.js + +/** + * WordPress dependencies + */ + +const shadow = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M12 8c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm0 6.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zM12.8 3h-1.5v3h1.5V3zm-1.6 18h1.5v-3h-1.5v3zm6.8-9.8v1.5h3v-1.5h-3zm-12 0H3v1.5h3v-1.5zm9.7 5.6 2.1 2.1 1.1-1.1-2.1-2.1-1.1 1.1zM8.3 7.2 6.2 5.1 5.1 6.2l2.1 2.1 1.1-1.1zM5.1 17.8l1.1 1.1 2.1-2.1-1.1-1.1-2.1 2.1zM18.9 6.2l-1.1-1.1-2.1 2.1 1.1 1.1 2.1-2.1z" +})); +/* harmony default export */ var library_shadow = (shadow); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/effects-panel.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + +function useHasEffectsPanel(settings) { + const hasShadowControl = useHasShadowControl(settings); + return hasShadowControl; +} +function useHasShadowControl(settings) { + return !!settings?.shadow; +} +function EffectsToolsPanel({ + resetAllFilter, + onChange, + value, + panelId, + children +}) { + const resetAll = () => { + const updatedValue = resetAllFilter(value); + onChange(updatedValue); + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { + label: (0,external_wp_i18n_namespaceObject.__)('Effects'), + resetAll: resetAll, + panelId: panelId, + dropdownMenuProps: TOOLSPANEL_DROPDOWNMENU_PROPS + }, children); +} +const effects_panel_DEFAULT_CONTROLS = { + shadow: true +}; +function EffectsPanel({ + as: Wrapper = EffectsToolsPanel, + value, + onChange, + inheritedValue = value, + settings, + panelId, + defaultControls = effects_panel_DEFAULT_CONTROLS +}) { + const decodeValue = rawValue => getValueFromVariable({ + settings + }, '', rawValue); + + // Shadow + const hasShadowEnabled = useHasShadowControl(settings); + const shadow = decodeValue(inheritedValue?.shadow); + const shadowPresets = settings?.shadow?.presets; + const mergedShadowPresets = shadowPresets ? mergeOrigins(shadowPresets) : []; + const setShadow = newValue => { + const slug = mergedShadowPresets?.find(({ + shadow: shadowName + }) => shadowName === newValue)?.slug; + onChange(setImmutably(value, ['shadow'], slug ? `var:preset|shadow|${slug}` : newValue || undefined)); + }; + const hasShadow = () => !!value?.shadow; + const resetShadow = () => setShadow(undefined); + const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { + return { + ...previousValue, + shadow: undefined + }; + }, []); + return (0,external_React_.createElement)(Wrapper, { + resetAllFilter: resetAllFilter, + value: value, + onChange: onChange, + panelId: panelId + }, hasShadowEnabled && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + label: (0,external_wp_i18n_namespaceObject.__)('Shadow'), + hasValue: hasShadow, + onDeselect: resetShadow, + isShownByDefault: defaultControls.shadow, + panelId: panelId + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalItemGroup, { + isBordered: true, + isSeparated: true + }, (0,external_React_.createElement)(ShadowPopover, { + shadow: shadow, + onShadowChange: setShadow, + settings: settings + })))); +} +const ShadowPopover = ({ + shadow, + onShadowChange, + settings +}) => { + const popoverProps = { + placement: 'left-start', + offset: 36, + shift: true + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Dropdown, { + popoverProps: popoverProps, + className: "block-editor-global-styles-effects-panel__shadow-dropdown", + renderToggle: renderShadowToggle(), + renderContent: () => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalDropdownContentWrapper, { + paddingSize: "medium" + }, (0,external_React_.createElement)(ShadowPopoverContainer, { + shadow: shadow, + onShadowChange: onShadowChange, + settings: settings + })) + }); +}; +function renderShadowToggle() { + return ({ + onToggle, + isOpen + }) => { + const toggleProps = { + onClick: onToggle, + className: classnames_default()({ + 'is-open': isOpen + }), + 'aria-expanded': isOpen + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + ...toggleProps + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + justify: "flex-start" + }, (0,external_React_.createElement)(build_module_icon, { + className: "block-editor-global-styles-effects-panel__toggle-icon", + icon: library_shadow, + size: 24 + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_wp_i18n_namespaceObject.__)('Shadow')))); + }; +} +function ShadowPopoverContainer({ + shadow, + onShadowChange, + settings +}) { + const defaultShadows = settings?.shadow?.presets?.default; + const themeShadows = settings?.shadow?.presets?.theme; + const defaultPresetsEnabled = settings?.shadow?.defaultPresets; + const shadows = [...(defaultPresetsEnabled ? defaultShadows : []), ...(themeShadows || [])]; + return (0,external_React_.createElement)("div", { + className: "block-editor-global-styles-effects-panel__shadow-popover-container" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + spacing: 4 + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHeading, { + level: 5 + }, (0,external_wp_i18n_namespaceObject.__)('Shadow')), (0,external_React_.createElement)(ShadowPresets, { + presets: shadows, + activeShadow: shadow, + onSelect: onShadowChange + }))); +} +function ShadowPresets({ + presets, + activeShadow, + onSelect +}) { + return !presets ? null : (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalGrid, { + columns: 6, + gap: 0, + align: "center", + justify: "center" + }, presets.map(({ + name, + slug, + shadow + }) => (0,external_React_.createElement)(ShadowIndicator, { + key: slug, + label: name, + isActive: shadow === activeShadow, + onSelect: () => onSelect(shadow === activeShadow ? undefined : shadow), + shadow: shadow + }))); +} +function ShadowIndicator({ + label, + isActive, + onSelect, + shadow +}) { + return (0,external_React_.createElement)("div", { + className: "block-editor-global-styles-effects-panel__shadow-indicator-wrapper" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + className: "block-editor-global-styles-effects-panel__shadow-indicator", + onClick: onSelect, + label: label, + style: { + boxShadow: shadow + }, + showTooltip: true + }, isActive && (0,external_React_.createElement)(build_module_icon, { + icon: library_check + }))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/effects.js + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + +const SHADOW_SUPPORT_KEY = 'shadow'; +const EFFECTS_SUPPORT_KEYS = [SHADOW_SUPPORT_KEY]; +function hasEffectsSupport(blockName) { + return EFFECTS_SUPPORT_KEYS.some(key => hasBlockSupport(blockName, key)); +} +function EffectsInspectorControl({ + children, + resetAllFilter +}) { + return (0,external_React_.createElement)(inspector_controls, { + group: "effects", + resetAllFilter: resetAllFilter + }, children); +} +function effects_EffectsPanel({ + clientId, + setAttributes, + settings +}) { + const isEnabled = useHasEffectsPanel(settings); + const value = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getBlockAttributes(clientId)?.style, [clientId]); + const onChange = newStyle => { + setAttributes({ + style: utils_cleanEmptyObject(newStyle) + }); + }; + if (!isEnabled) { + return null; + } + return (0,external_React_.createElement)(EffectsPanel, { + as: EffectsInspectorControl, + panelId: clientId, + settings: settings, + value: value, + onChange: onChange + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/style.js + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + + + + + + +const styleSupportKeys = [...TYPOGRAPHY_SUPPORT_KEYS, ...EFFECTS_SUPPORT_KEYS, BORDER_SUPPORT_KEY, COLOR_SUPPORT_KEY, DIMENSIONS_SUPPORT_KEY, BACKGROUND_SUPPORT_KEY, SPACING_SUPPORT_KEY]; +const hasStyleSupport = nameOrType => styleSupportKeys.some(key => (0,external_wp_blocks_namespaceObject.hasBlockSupport)(nameOrType, key)); + +/** + * Returns the inline styles to add depending on the style object + * + * @param {Object} styles Styles configuration. + * + * @return {Object} Flattened CSS variables declaration. + */ +function getInlineStyles(styles = {}) { + const output = {}; + // The goal is to move everything to server side generated engine styles + // This is temporary as we absorb more and more styles into the engine. + (0,external_wp_styleEngine_namespaceObject.getCSSRules)(styles).forEach(rule => { + output[rule.key] = rule.value; + }); + return output; +} + +/** + * Filters registered block settings, extending attributes to include `style` attribute. + * + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. + */ +function style_addAttribute(settings) { + if (!hasStyleSupport(settings)) { + return settings; + } + + // Allow blocks to specify their own attribute definition with default values if needed. + if (!settings.attributes.style) { + Object.assign(settings.attributes, { + style: { + type: 'object' + } + }); + } + return settings; +} + +/** + * A dictionary of paths to flag skipping block support serialization as the key, + * with values providing the style paths to be omitted from serialization. + * + * @constant + * @type {Record} + */ +const skipSerializationPathsEdit = { + [`${BORDER_SUPPORT_KEY}.__experimentalSkipSerialization`]: ['border'], + [`${COLOR_SUPPORT_KEY}.__experimentalSkipSerialization`]: [COLOR_SUPPORT_KEY], + [`${TYPOGRAPHY_SUPPORT_KEY}.__experimentalSkipSerialization`]: [TYPOGRAPHY_SUPPORT_KEY], + [`${DIMENSIONS_SUPPORT_KEY}.__experimentalSkipSerialization`]: [DIMENSIONS_SUPPORT_KEY], + [`${SPACING_SUPPORT_KEY}.__experimentalSkipSerialization`]: [SPACING_SUPPORT_KEY], + [`${SHADOW_SUPPORT_KEY}`]: [SHADOW_SUPPORT_KEY] +}; + +/** + * A dictionary of paths to flag skipping block support serialization as the key, + * with values providing the style paths to be omitted from serialization. + * + * Extends the Edit skip paths to enable skipping additional paths in just + * the Save component. This allows a block support to be serialized within the + * editor, while using an alternate approach, such as server-side rendering, when + * the support is saved. + * + * @constant + * @type {Record} + */ +const skipSerializationPathsSave = { + ...skipSerializationPathsEdit, + [`${DIMENSIONS_SUPPORT_KEY}.aspectRatio`]: [`${DIMENSIONS_SUPPORT_KEY}.aspectRatio`], + // Skip serialization of aspect ratio in save mode. + [`${BACKGROUND_SUPPORT_KEY}`]: [BACKGROUND_SUPPORT_KEY] // Skip serialization of background support in save mode. +}; + +const skipSerializationPathsSaveChecks = { + [`${DIMENSIONS_SUPPORT_KEY}.aspectRatio`]: true, + [`${BACKGROUND_SUPPORT_KEY}`]: true +}; + +/** + * A dictionary used to normalize feature names between support flags, style + * object properties and __experimentSkipSerialization configuration arrays. + * + * This allows not having to provide a migration for a support flag and possible + * backwards compatibility bridges, while still achieving consistency between + * the support flag and the skip serialization array. + * + * @constant + * @type {Record} + */ +const renamedFeatures = { + gradients: 'gradient' +}; + +/** + * A utility function used to remove one or more paths from a style object. + * Works in a way similar to Lodash's `omit()`. See unit tests and examples below. + * + * It supports a single string path: + * + * ``` + * omitStyle( { color: 'red' }, 'color' ); // {} + * ``` + * + * or an array of paths: + * + * ``` + * omitStyle( { color: 'red', background: '#fff' }, [ 'color', 'background' ] ); // {} + * ``` + * + * It also allows you to specify paths at multiple levels in a string. + * + * ``` + * omitStyle( { typography: { textDecoration: 'underline' } }, 'typography.textDecoration' ); // {} + * ``` + * + * You can remove multiple paths at the same time: + * + * ``` + * omitStyle( + * { + * typography: { + * textDecoration: 'underline', + * textTransform: 'uppercase', + * } + * }, + * [ + * 'typography.textDecoration', + * 'typography.textTransform', + * ] + * ); + * // {} + * ``` + * + * You can also specify nested paths as arrays: + * + * ``` + * omitStyle( + * { + * typography: { + * textDecoration: 'underline', + * textTransform: 'uppercase', + * } + * }, + * [ + * [ 'typography', 'textDecoration' ], + * [ 'typography', 'textTransform' ], + * ] + * ); + * // {} + * ``` + * + * With regards to nesting of styles, infinite depth is supported: + * + * ``` + * omitStyle( + * { + * border: { + * radius: { + * topLeft: '10px', + * topRight: '0.5rem', + * } + * } + * }, + * [ + * [ 'border', 'radius', 'topRight' ], + * ] + * ); + * // { border: { radius: { topLeft: '10px' } } } + * ``` + * + * The third argument, `preserveReference`, defines how to treat the input style object. + * It is mostly necessary to properly handle mutation when recursively handling the style object. + * Defaulting to `false`, this will always create a new object, avoiding to mutate `style`. + * However, when recursing, we change that value to `true` in order to work with a single copy + * of the original style object. + * + * @see https://lodash.com/docs/4.17.15#omit + * + * @param {Object} style Styles object. + * @param {Array|string} paths Paths to remove. + * @param {boolean} preserveReference True to mutate the `style` object, false otherwise. + * @return {Object} Styles object with the specified paths removed. + */ +function omitStyle(style, paths, preserveReference = false) { + if (!style) { + return style; + } + let newStyle = style; + if (!preserveReference) { + newStyle = JSON.parse(JSON.stringify(style)); + } + if (!Array.isArray(paths)) { + paths = [paths]; + } + paths.forEach(path => { + if (!Array.isArray(path)) { + path = path.split('.'); + } + if (path.length > 1) { + const [firstSubpath, ...restPath] = path; + omitStyle(newStyle[firstSubpath], [restPath], true); + } else if (path.length === 1) { + delete newStyle[path[0]]; + } + }); + return newStyle; +} + +/** + * Override props assigned to save component to inject the CSS variables definition. + * + * @param {Object} props Additional props applied to save element. + * @param {Object|string} blockNameOrType Block type. + * @param {Object} attributes Block attributes. + * @param {?Record} skipPaths An object of keys and paths to skip serialization. + * + * @return {Object} Filtered props applied to save element. + */ +function style_addSaveProps(props, blockNameOrType, attributes, skipPaths = skipSerializationPathsSave) { + if (!hasStyleSupport(blockNameOrType)) { + return props; + } + let { + style + } = attributes; + Object.entries(skipPaths).forEach(([indicator, path]) => { + const skipSerialization = skipSerializationPathsSaveChecks[indicator] || (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockNameOrType, indicator); + if (skipSerialization === true) { + style = omitStyle(style, path); + } + if (Array.isArray(skipSerialization)) { + skipSerialization.forEach(featureName => { + const feature = renamedFeatures[featureName] || featureName; + style = omitStyle(style, [[...path, feature]]); + }); + } + }); + props.style = { + ...getInlineStyles(style), + ...props.style + }; + return props; +} +function BlockStyleControls({ + clientId, + name, + setAttributes, + __unstableParentLayout +}) { + const settings = useBlockSettings(name, __unstableParentLayout); + const blockEditingMode = useBlockEditingMode(); + const passedProps = { + clientId, + name, + setAttributes, + settings + }; + if (blockEditingMode !== 'default') { + return null; + } + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(ColorEdit, { + ...passedProps + }), (0,external_React_.createElement)(BackgroundImagePanel, { + ...passedProps + }), (0,external_React_.createElement)(typography_TypographyPanel, { + ...passedProps + }), (0,external_React_.createElement)(border_BorderPanel, { + ...passedProps + }), (0,external_React_.createElement)(dimensions_DimensionsPanel, { + ...passedProps + }), (0,external_React_.createElement)(effects_EffectsPanel, { + ...passedProps + })); +} +/* harmony default export */ var style = ({ + edit: BlockStyleControls, + hasSupport: hasStyleSupport, + addSaveProps: style_addSaveProps, + attributeKeys: ['style'], + useBlockProps: style_useBlockProps +}); + +// Defines which element types are supported, including their hover styles or +// any other elements that have been included under a single element type +// e.g. heading and h1-h6. +const elementTypes = [{ + elementType: 'button' +}, { + elementType: 'link', + pseudo: [':hover'] +}, { + elementType: 'heading', + elements: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] +}]; +function style_useBlockProps({ + name, + style +}) { + const blockElementsContainerIdentifier = `wp-elements-${(0,external_wp_compose_namespaceObject.useInstanceId)(style_useBlockProps)}`; + + // The .editor-styles-wrapper selector is required on elements styles. As it is + // added to all other editor styles, not providing it causes reset and global + // styles to override element styles because of higher specificity. + const baseElementSelector = `.editor-styles-wrapper .${blockElementsContainerIdentifier}`; + const blockElementStyles = style?.elements; + const styles = (0,external_wp_element_namespaceObject.useMemo)(() => { + if (!blockElementStyles) { + return; + } + const elementCSSRules = []; + elementTypes.forEach(({ + elementType, + pseudo, + elements + }) => { + const skipSerialization = shouldSkipSerialization(name, COLOR_SUPPORT_KEY, elementType); + if (skipSerialization) { + return; + } + const elementStyles = blockElementStyles?.[elementType]; + + // Process primary element type styles. + if (elementStyles) { + const selector = scopeSelector(baseElementSelector, external_wp_blocks_namespaceObject.__EXPERIMENTAL_ELEMENTS[elementType]); + elementCSSRules.push((0,external_wp_styleEngine_namespaceObject.compileCSS)(elementStyles, { + selector + })); + + // Process any interactive states for the element type. + if (pseudo) { + pseudo.forEach(pseudoSelector => { + if (elementStyles[pseudoSelector]) { + elementCSSRules.push((0,external_wp_styleEngine_namespaceObject.compileCSS)(elementStyles[pseudoSelector], { + selector: scopeSelector(baseElementSelector, `${external_wp_blocks_namespaceObject.__EXPERIMENTAL_ELEMENTS[elementType]}${pseudoSelector}`) + })); + } + }); + } + } + + // Process related elements e.g. h1-h6 for headings + if (elements) { + elements.forEach(element => { + if (blockElementStyles[element]) { + elementCSSRules.push((0,external_wp_styleEngine_namespaceObject.compileCSS)(blockElementStyles[element], { + selector: scopeSelector(baseElementSelector, external_wp_blocks_namespaceObject.__EXPERIMENTAL_ELEMENTS[element]) + })); + } + }); + } + }); + return elementCSSRules.length > 0 ? elementCSSRules.join('') : undefined; + }, [baseElementSelector, blockElementStyles, name]); + useStyleOverride({ + css: styles + }); + return style_addSaveProps({ + className: blockElementsContainerIdentifier + }, name, { + style + }, skipSerializationPathsEdit); +} +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/style/addAttribute', style_addAttribute); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/settings.js +/** + * WordPress dependencies + */ + + +const hasSettingsSupport = blockType => (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockType, '__experimentalSettings', false); +function settings_addAttribute(settings) { + if (!hasSettingsSupport(settings)) { + return settings; + } + + // Allow blocks to specify their own attribute definition with default values if needed. + if (!settings?.attributes?.settings) { + settings.attributes = { + ...settings.attributes, + settings: { + type: 'object' + } + }; + } + return settings; +} +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/settings/addAttribute', settings_addAttribute); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/filter.js + +/** + * WordPress dependencies + */ + +const filter = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M12 4 4 19h16L12 4zm0 3.2 5.5 10.3H12V7.2z" +})); +/* harmony default export */ var library_filter = (filter); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/duotone-control/index.js + +/** + * WordPress dependencies + */ + + + + + +function DuotoneControl({ + id: idProp, + colorPalette, + duotonePalette, + disableCustomColors, + disableCustomDuotone, + value, + onChange +}) { + let toolbarIcon; + if (value === 'unset') { + toolbarIcon = (0,external_React_.createElement)(external_wp_components_namespaceObject.ColorIndicator, { + className: "block-editor-duotone-control__unset-indicator" + }); + } else if (value) { + toolbarIcon = (0,external_React_.createElement)(external_wp_components_namespaceObject.DuotoneSwatch, { + values: value + }); + } else { + toolbarIcon = (0,external_React_.createElement)(build_module_icon, { + icon: library_filter + }); + } + const actionLabel = (0,external_wp_i18n_namespaceObject.__)('Apply duotone filter'); + const id = (0,external_wp_compose_namespaceObject.useInstanceId)(DuotoneControl, 'duotone-control', idProp); + const descriptionId = `${id}__description`; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Dropdown, { + popoverProps: { + className: 'block-editor-duotone-control__popover', + headerTitle: (0,external_wp_i18n_namespaceObject.__)('Duotone') + }, + renderToggle: ({ + isOpen, + onToggle + }) => { + const openOnArrowDown = event => { + if (!isOpen && event.keyCode === external_wp_keycodes_namespaceObject.DOWN) { + event.preventDefault(); + onToggle(); + } + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + showTooltip: true, + onClick: onToggle, + "aria-haspopup": "true", + "aria-expanded": isOpen, + onKeyDown: openOnArrowDown, + label: actionLabel, + icon: toolbarIcon + }); + }, + renderContent: () => (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, { + label: (0,external_wp_i18n_namespaceObject.__)('Duotone') + }, (0,external_React_.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('Create a two-tone color effect without losing your original image.')), (0,external_React_.createElement)(external_wp_components_namespaceObject.DuotonePicker, { + "aria-label": actionLabel, + "aria-describedby": descriptionId, + colorPalette: colorPalette, + duotonePalette: duotonePalette, + disableCustomColors: disableCustomColors, + disableCustomDuotone: disableCustomDuotone, + value: value, + onChange: onChange + })) + }); +} +/* harmony default export */ var duotone_control = (DuotoneControl); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/duotone/utils.js +/** + * External dependencies + */ + + +/** + * Convert a list of colors to an object of R, G, and B values. + * + * @param {string[]} colors Array of RBG color strings. + * + * @return {Object} R, G, and B values. + */ +function getValuesFromColors(colors = []) { + const values = { + r: [], + g: [], + b: [], + a: [] + }; + colors.forEach(color => { + const rgbColor = w(color).toRgb(); + values.r.push(rgbColor.r / 255); + values.g.push(rgbColor.g / 255); + values.b.push(rgbColor.b / 255); + values.a.push(rgbColor.a); + }); + return values; +} + +/** + * Stylesheet for disabling a global styles duotone filter. + * + * @param {string} selector Selector to disable the filter for. + * + * @return {string} Filter none style. + */ +function getDuotoneUnsetStylesheet(selector) { + return `${selector}{filter:none}`; +} + +/** + * SVG and stylesheet needed for rendering the duotone filter. + * + * @param {string} selector Selector to apply the filter to. + * @param {string} id Unique id for this duotone filter. + * + * @return {string} Duotone filter style. + */ +function getDuotoneStylesheet(selector, id) { + return `${selector}{filter:url(#${id})}`; +} + +/** + * The SVG part of the duotone filter. + * + * @param {string} id Unique id for this duotone filter. + * @param {string[]} colors Color strings from dark to light. + * + * @return {string} Duotone SVG. + */ +function getDuotoneFilter(id, colors) { + const values = getValuesFromColors(colors); + return ` +`; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/get-block-css-selector.js +/** + * Internal dependencies + */ + + + +/** + * Determine the CSS selector for the block type and target provided, returning + * it if available. + * + * @param {import('@wordpress/blocks').Block} blockType The block's type. + * @param {string|string[]} target The desired selector's target e.g. `root`, delimited string, or array path. + * @param {Object} options Options object. + * @param {boolean} options.fallback Whether or not to fallback to broader selector. + * + * @return {?string} The CSS selector or `null` if no selector available. + */ +function getBlockCSSSelector(blockType, target = 'root', options = {}) { + if (!target) { + return null; + } + const { + fallback = false + } = options; + const { + name, + selectors, + supports + } = blockType; + const hasSelectors = selectors && Object.keys(selectors).length > 0; + const path = Array.isArray(target) ? target.join('.') : target; + + // Root selector. + + // Calculated before returning as it can be used as a fallback for feature + // selectors later on. + let rootSelector = null; + if (hasSelectors && selectors.root) { + // Use the selectors API if available. + rootSelector = selectors?.root; + } else if (supports?.__experimentalSelector) { + // Use the old experimental selector supports property if set. + rootSelector = supports.__experimentalSelector; + } else { + // If no root selector found, generate default block class selector. + rootSelector = '.wp-block-' + name.replace('core/', '').replace('/', '-'); + } + + // Return selector if it's the root target we are looking for. + if (path === 'root') { + return rootSelector; + } + + // If target is not `root` or `duotone` we have a feature or subfeature + // as the target. If the target is a string convert to an array. + const pathArray = Array.isArray(target) ? target : target.split('.'); + + // Feature selectors ( may fallback to root selector ); + if (pathArray.length === 1) { + const fallbackSelector = fallback ? rootSelector : null; + + // Prefer the selectors API if available. + if (hasSelectors) { + // Get selector from either `feature.root` or shorthand path. + const featureSelector = getValueFromObjectPath(selectors, `${path}.root`, null) || getValueFromObjectPath(selectors, path, null); + + // Return feature selector if found or any available fallback. + return featureSelector || fallbackSelector; + } + + // Try getting old experimental supports selector value. + const featureSelector = getValueFromObjectPath(supports, `${path}.__experimentalSelector`, null); + + // If nothing to work with, provide fallback selector if available. + if (!featureSelector) { + return fallbackSelector; + } + + // Scope the feature selector by the block's root selector. + return scopeSelector(rootSelector, featureSelector); + } + + // Subfeature selector. + // This may fallback either to parent feature or root selector. + let subfeatureSelector; + + // Use selectors API if available. + if (hasSelectors) { + subfeatureSelector = getValueFromObjectPath(selectors, path, null); + } + + // Only return if we have a subfeature selector. + if (subfeatureSelector) { + return subfeatureSelector; + } + + // To this point we don't have a subfeature selector. If a fallback has been + // requested, remove subfeature from target path and return results of a + // call for the parent feature's selector. + if (fallback) { + return getBlockCSSSelector(blockType, pathArray[0], options); + } + + // We tried. + return null; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/filters-panel.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +const filters_panel_EMPTY_ARRAY = []; +function useMultiOriginColorPresets(settings, { + presetSetting, + defaultSetting +}) { + const disableDefault = !settings?.color?.[defaultSetting]; + const userPresets = settings?.color?.[presetSetting]?.custom || filters_panel_EMPTY_ARRAY; + const themePresets = settings?.color?.[presetSetting]?.theme || filters_panel_EMPTY_ARRAY; + const defaultPresets = settings?.color?.[presetSetting]?.default || filters_panel_EMPTY_ARRAY; + return (0,external_wp_element_namespaceObject.useMemo)(() => [...userPresets, ...themePresets, ...(disableDefault ? filters_panel_EMPTY_ARRAY : defaultPresets)], [disableDefault, userPresets, themePresets, defaultPresets]); +} +function useHasFiltersPanel(settings) { + return useHasDuotoneControl(settings); +} +function useHasDuotoneControl(settings) { + return settings.color.customDuotone || settings.color.defaultDuotone || settings.color.duotone.length > 0; +} +function FiltersToolsPanel({ + resetAllFilter, + onChange, + value, + panelId, + children +}) { + const resetAll = () => { + const updatedValue = resetAllFilter(value); + onChange(updatedValue); + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { + label: (0,external_wp_i18n_namespaceObject._x)('Filters', 'Name for applying graphical effects'), + resetAll: resetAll, + panelId: panelId, + dropdownMenuProps: TOOLSPANEL_DROPDOWNMENU_PROPS + }, children); +} +const filters_panel_DEFAULT_CONTROLS = { + duotone: true +}; +const filters_panel_popoverProps = { + placement: 'left-start', + offset: 36, + shift: true, + className: 'block-editor-duotone-control__popover', + headerTitle: (0,external_wp_i18n_namespaceObject.__)('Duotone') +}; +const LabeledColorIndicator = ({ + indicator, + label +}) => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + justify: "flex-start" +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalZStack, { + isLayered: false, + offset: -8 +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Flex, { + expanded: false +}, indicator === 'unset' || !indicator ? (0,external_React_.createElement)(external_wp_components_namespaceObject.ColorIndicator, { + className: "block-editor-duotone-control__unset-indicator" +}) : (0,external_React_.createElement)(external_wp_components_namespaceObject.DuotoneSwatch, { + values: indicator +}))), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, { + title: label +}, label)); +function FiltersPanel({ + as: Wrapper = FiltersToolsPanel, + value, + onChange, + inheritedValue = value, + settings, + panelId, + defaultControls = filters_panel_DEFAULT_CONTROLS +}) { + const decodeValue = rawValue => getValueFromVariable({ + settings + }, '', rawValue); + + // Duotone + const hasDuotoneEnabled = useHasDuotoneControl(settings); + const duotonePalette = useMultiOriginColorPresets(settings, { + presetSetting: 'duotone', + defaultSetting: 'defaultDuotone' + }); + const colorPalette = useMultiOriginColorPresets(settings, { + presetSetting: 'palette', + defaultSetting: 'defaultPalette' + }); + const duotone = decodeValue(inheritedValue?.filter?.duotone); + const setDuotone = newValue => { + const duotonePreset = duotonePalette.find(({ + colors + }) => { + return colors === newValue; + }); + const settedValue = duotonePreset ? `var:preset|duotone|${duotonePreset.slug}` : newValue; + onChange(setImmutably(value, ['filter', 'duotone'], settedValue)); + }; + const hasDuotone = () => !!value?.filter?.duotone; + const resetDuotone = () => setDuotone(undefined); + const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { + return { + ...previousValue, + filter: { + ...previousValue.filter, + duotone: undefined + } + }; + }, []); + return (0,external_React_.createElement)(Wrapper, { + resetAllFilter: resetAllFilter, + value: value, + onChange: onChange, + panelId: panelId + }, hasDuotoneEnabled && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + label: (0,external_wp_i18n_namespaceObject.__)('Duotone'), + hasValue: hasDuotone, + onDeselect: resetDuotone, + isShownByDefault: defaultControls.duotone, + panelId: panelId + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Dropdown, { + popoverProps: filters_panel_popoverProps, + className: "block-editor-global-styles-filters-panel__dropdown", + renderToggle: ({ + onToggle, + isOpen + }) => { + const toggleProps = { + onClick: onToggle, + className: classnames_default()({ + 'is-open': isOpen + }), + 'aria-expanded': isOpen + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalItemGroup, { + isBordered: true, + isSeparated: true + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + ...toggleProps + }, (0,external_React_.createElement)(LabeledColorIndicator, { + indicator: duotone, + label: (0,external_wp_i18n_namespaceObject.__)('Duotone') + }))); + }, + renderContent: () => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalDropdownContentWrapper, { + paddingSize: "small" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, { + label: (0,external_wp_i18n_namespaceObject.__)('Duotone') + }, (0,external_React_.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('Create a two-tone color effect without losing your original image.')), (0,external_React_.createElement)(external_wp_components_namespaceObject.DuotonePicker, { + colorPalette: colorPalette, + duotonePalette: duotonePalette + // TODO: Re-enable both when custom colors are supported for block-level styles. + , + disableCustomColors: true, + disableCustomDuotone: true, + value: duotone, + onChange: setDuotone + }))) + }))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/duotone.js + +/** + * External dependencies + */ + + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + + + + +const duotone_EMPTY_ARRAY = []; + +// Safari does not always update the duotone filter when the duotone colors +// are changed. This browser check is later used to force a re-render of the block +// element to ensure the duotone filter is updated. The check is included at the +// root of this file as it only needs to be run once per page load. +const isSafari = window?.navigator.userAgent && window.navigator.userAgent.includes('Safari') && !window.navigator.userAgent.includes('Chrome') && !window.navigator.userAgent.includes('Chromium'); +k([names]); +function useMultiOriginPresets({ + presetSetting, + defaultSetting +}) { + const [enableDefault, userPresets, themePresets, defaultPresets] = use_settings_useSettings(defaultSetting, `${presetSetting}.custom`, `${presetSetting}.theme`, `${presetSetting}.default`); + return (0,external_wp_element_namespaceObject.useMemo)(() => [...(userPresets || duotone_EMPTY_ARRAY), ...(themePresets || duotone_EMPTY_ARRAY), ...(enableDefault && defaultPresets || duotone_EMPTY_ARRAY)], [enableDefault, userPresets, themePresets, defaultPresets]); +} +function getColorsFromDuotonePreset(duotone, duotonePalette) { + if (!duotone) { + return; + } + const preset = duotonePalette?.find(({ + slug + }) => { + return duotone === `var:preset|duotone|${slug}`; + }); + return preset ? preset.colors : undefined; +} +function getDuotonePresetFromColors(colors, duotonePalette) { + if (!colors || !Array.isArray(colors)) { + return; + } + const preset = duotonePalette?.find(duotonePreset => { + return duotonePreset?.colors?.every((val, index) => val === colors[index]); + }); + return preset ? `var:preset|duotone|${preset.slug}` : undefined; +} +function DuotonePanelPure({ + style, + setAttributes, + name +}) { + const duotoneStyle = style?.color?.duotone; + const settings = useBlockSettings(name); + const blockEditingMode = useBlockEditingMode(); + const duotonePalette = useMultiOriginPresets({ + presetSetting: 'color.duotone', + defaultSetting: 'color.defaultDuotone' + }); + const colorPalette = useMultiOriginPresets({ + presetSetting: 'color.palette', + defaultSetting: 'color.defaultPalette' + }); + const [enableCustomColors, enableCustomDuotone] = use_settings_useSettings('color.custom', 'color.customDuotone'); + const disableCustomColors = !enableCustomColors; + const disableCustomDuotone = !enableCustomDuotone || colorPalette?.length === 0 && disableCustomColors; + if (duotonePalette?.length === 0 && disableCustomDuotone) { + return null; + } + if (blockEditingMode !== 'default') { + return null; + } + const duotonePresetOrColors = !Array.isArray(duotoneStyle) ? getColorsFromDuotonePreset(duotoneStyle, duotonePalette) : duotoneStyle; + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(inspector_controls, { + group: "filter" + }, (0,external_React_.createElement)(FiltersPanel, { + value: { + filter: { + duotone: duotonePresetOrColors + } + }, + onChange: newDuotone => { + const newStyle = { + ...style, + color: { + ...newDuotone?.filter + } + }; + setAttributes({ + style: newStyle + }); + }, + settings: settings + })), (0,external_React_.createElement)(block_controls, { + group: "block", + __experimentalShareWithChildBlocks: true + }, (0,external_React_.createElement)(duotone_control, { + duotonePalette: duotonePalette, + colorPalette: colorPalette, + disableCustomDuotone: disableCustomDuotone, + disableCustomColors: disableCustomColors, + value: duotonePresetOrColors, + onChange: newDuotone => { + const maybePreset = getDuotonePresetFromColors(newDuotone, duotonePalette); + const newStyle = { + ...style, + color: { + ...style?.color, + duotone: maybePreset !== null && maybePreset !== void 0 ? maybePreset : newDuotone // use preset or fallback to custom colors. + } + }; + + setAttributes({ + style: newStyle + }); + }, + settings: settings + }))); +} +/* harmony default export */ var duotone = ({ + shareWithChildBlocks: true, + edit: DuotonePanelPure, + useBlockProps: duotone_useBlockProps, + attributeKeys: ['style'], + hasSupport(name) { + return (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, 'filter.duotone'); + } +}); + +/** + * Filters registered block settings, extending attributes to include + * the `duotone` attribute. + * + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. + */ +function addDuotoneAttributes(settings) { + // Previous `color.__experimentalDuotone` support flag is migrated via + // block_type_metadata_settings filter in `lib/block-supports/duotone.php`. + if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(settings, 'filter.duotone')) { + return settings; + } + + // Allow blocks to specify their own attribute definition with default + // values if needed. + if (!settings.attributes.style) { + Object.assign(settings.attributes, { + style: { + type: 'object' + } + }); + } + return settings; +} +function useDuotoneStyles({ + clientId, + id: filterId, + selector: duotoneSelector, + attribute: duotoneAttr +}) { + const duotonePalette = useMultiOriginPresets({ + presetSetting: 'color.duotone', + defaultSetting: 'color.defaultDuotone' + }); + + // Possible values for duotone attribute: + // 1. Array of colors - e.g. ['#000000', '#ffffff']. + // 2. Variable for an existing Duotone preset - e.g. 'var:preset|duotone|green-blue' or 'var(--wp--preset--duotone--green-blue)'' + // 3. A CSS string - e.g. 'unset' to remove globally applied duotone. + const isCustom = Array.isArray(duotoneAttr); + const duotonePreset = isCustom ? undefined : getColorsFromDuotonePreset(duotoneAttr, duotonePalette); + const isPreset = typeof duotoneAttr === 'string' && duotonePreset; + const isCSS = typeof duotoneAttr === 'string' && !isPreset; + + // Match the structure of WP_Duotone_Gutenberg::render_duotone_support() in PHP. + let colors = null; + if (isPreset) { + // Array of colors. + colors = duotonePreset; + } else if (isCSS) { + // CSS filter property string (e.g. 'unset'). + colors = duotoneAttr; + } else if (isCustom) { + // Array of colors. + colors = duotoneAttr; + } + + // Build the CSS selectors to which the filter will be applied. + const selectors = duotoneSelector.split(','); + const selectorsScoped = selectors.map(selectorPart => { + // Extra .editor-styles-wrapper specificity is needed in the editor + // since we're not using inline styles to apply the filter. We need to + // override duotone applied by global styles and theme.json. + + // Assuming the selector part is a subclass selector (not a tag name) + // so we can prepend the filter id class. If we want to support elements + // such as `img` or namespaces, we'll need to add a case for that here. + return `.${filterId}${selectorPart.trim()}`; + }); + const selector = selectorsScoped.join(', '); + const isValidFilter = Array.isArray(colors) || colors === 'unset'; + useStyleOverride(isValidFilter ? { + css: colors !== 'unset' ? getDuotoneStylesheet(selector, filterId) : getDuotoneUnsetStylesheet(selector), + __unstableType: 'presets' + } : undefined); + useStyleOverride(isValidFilter ? { + assets: colors !== 'unset' ? getDuotoneFilter(filterId, colors) : '', + __unstableType: 'svgs' + } : undefined); + const blockElement = useBlockElement(clientId); + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (!isValidFilter) return; + + // Safari does not always update the duotone filter when the duotone colors + // are changed. When using Safari, force the block element to be repainted by + // the browser to ensure any changes are reflected visually. This logic matches + // that used on the site frontend in `block-supports/duotone.php`. + if (blockElement && isSafari) { + const display = blockElement.style.display; + // Switch to `inline-block` to force a repaint. In the editor, `inline-block` + // is used instead of `none` to ensure that scroll position is not affected, + // as `none` results in the editor scrolling to the top of the block. + blockElement.style.display = 'inline-block'; + // Simply accessing el.offsetHeight flushes layout and style + // changes in WebKit without having to wait for setTimeout. + // eslint-disable-next-line no-unused-expressions + blockElement.offsetHeight; + blockElement.style.display = display; + } + }, [isValidFilter, blockElement]); +} +function duotone_useBlockProps({ + name, + style +}) { + const id = (0,external_wp_compose_namespaceObject.useInstanceId)(duotone_useBlockProps); + const selector = (0,external_wp_element_namespaceObject.useMemo)(() => { + const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(name); + if (blockType) { + // Backwards compatibility for `supports.color.__experimentalDuotone` + // is provided via the `block_type_metadata_settings` filter. If + // `supports.filter.duotone` has not been set and the + // experimental property has been, the experimental property + // value is copied into `supports.filter.duotone`. + const duotoneSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, 'filter.duotone', false); + if (!duotoneSupport) { + return null; + } + + // If the experimental duotone support was set, that value is + // to be treated as a selector and requires scoping. + const experimentalDuotone = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, 'color.__experimentalDuotone', false); + if (experimentalDuotone) { + const rootSelector = getBlockCSSSelector(blockType); + return typeof experimentalDuotone === 'string' ? scopeSelector(rootSelector, experimentalDuotone) : rootSelector; + } + + // Regular filter.duotone support uses filter.duotone selectors with fallbacks. + return getBlockCSSSelector(blockType, 'filter.duotone', { + fallback: true + }); + } + }, [name]); + const attribute = style?.color?.duotone; + const filterClass = `wp-duotone-${id}`; + const shouldRender = selector && attribute; + useDuotoneStyles({ + clientId: id, + id: filterClass, + selector, + attribute + }); + return { + className: shouldRender ? filterClass : '' + }; +} +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/editor/duotone/add-attributes', addDuotoneAttributes); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-block-display-information/index.js +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +/** @typedef {import('@wordpress/blocks').WPIcon} WPIcon */ + +/** + * Contains basic block's information for display reasons. + * + * @typedef {Object} WPBlockDisplayInformation + * + * @property {boolean} isSynced True if is a reusable block or template part + * @property {string} title Human-readable block type label. + * @property {WPIcon} icon Block type icon. + * @property {string} description A detailed block type description. + * @property {string} anchor HTML anchor. + * @property {name} name A custom, human readable name for the block. + */ + +/** + * Get the display label for a block's position type. + * + * @param {Object} attributes Block attributes. + * @return {string} The position type label. + */ +function getPositionTypeLabel(attributes) { + const positionType = attributes?.style?.position?.type; + if (positionType === 'sticky') { + return (0,external_wp_i18n_namespaceObject.__)('Sticky'); + } + if (positionType === 'fixed') { + return (0,external_wp_i18n_namespaceObject.__)('Fixed'); + } + return null; +} + +/** + * Hook used to try to find a matching block variation and return + * the appropriate information for display reasons. In order to + * to try to find a match we need to things: + * 1. Block's client id to extract it's current attributes. + * 2. A block variation should have set `isActive` prop to a proper function. + * + * If for any reason a block variation match cannot be found, + * the returned information come from the Block Type. + * If no blockType is found with the provided clientId, returns null. + * + * @param {string} clientId Block's client id. + * @return {?WPBlockDisplayInformation} Block's display information, or `null` when the block or its type not found. + */ + +function useBlockDisplayInformation(clientId) { + return (0,external_wp_data_namespaceObject.useSelect)(select => { + if (!clientId) return null; + const { + getBlockName, + getBlockAttributes, + __experimentalGetReusableBlockTitle + } = select(store); + const { + getBlockType, + getActiveBlockVariation + } = select(external_wp_blocks_namespaceObject.store); + const blockName = getBlockName(clientId); + const blockType = getBlockType(blockName); + if (!blockType) return null; + const attributes = getBlockAttributes(clientId); + const match = getActiveBlockVariation(blockName, attributes); + const isReusable = (0,external_wp_blocks_namespaceObject.isReusableBlock)(blockType); + const resusableTitle = isReusable ? __experimentalGetReusableBlockTitle(attributes.ref) : undefined; + const title = resusableTitle || blockType.title; + const isSynced = isReusable || (0,external_wp_blocks_namespaceObject.isTemplatePart)(blockType); + const positionLabel = getPositionTypeLabel(attributes); + const blockTypeInfo = { + isSynced, + title, + icon: blockType.icon, + description: blockType.description, + anchor: attributes?.anchor, + positionLabel, + positionType: attributes?.style?.position?.type, + name: attributes?.metadata?.name + }; + if (!match) return blockTypeInfo; + return { + isSynced, + title: match.title || blockType.title, + icon: match.icon || blockType.icon, + description: match.description || blockType.description, + anchor: attributes?.anchor, + positionLabel, + positionType: attributes?.style?.position?.type, + name: attributes?.metadata?.name + }; + }, [clientId]); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/position.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + + + + + +const { + CustomSelectControl +} = unlock(external_wp_components_namespaceObject.privateApis); +const POSITION_SUPPORT_KEY = 'position'; +const OPTION_CLASSNAME = 'block-editor-hooks__position-selection__select-control__option'; +const DEFAULT_OPTION = { + key: 'default', + value: '', + name: (0,external_wp_i18n_namespaceObject.__)('Default'), + className: OPTION_CLASSNAME +}; +const STICKY_OPTION = { + key: 'sticky', + value: 'sticky', + name: (0,external_wp_i18n_namespaceObject._x)('Sticky', 'Name for the value of the CSS position property'), + className: OPTION_CLASSNAME, + __experimentalHint: (0,external_wp_i18n_namespaceObject.__)('The block will stick to the top of the window instead of scrolling.') +}; +const FIXED_OPTION = { + key: 'fixed', + value: 'fixed', + name: (0,external_wp_i18n_namespaceObject._x)('Fixed', 'Name for the value of the CSS position property'), + className: OPTION_CLASSNAME, + __experimentalHint: (0,external_wp_i18n_namespaceObject.__)('The block will not move when the page is scrolled.') +}; +const POSITION_SIDES = ['top', 'right', 'bottom', 'left']; +const VALID_POSITION_TYPES = ['sticky', 'fixed']; + +/** + * Get calculated position CSS. + * + * @param {Object} props Component props. + * @param {string} props.selector Selector to use. + * @param {Object} props.style Style object. + * @return {string} The generated CSS rules. + */ +function getPositionCSS({ + selector, + style +}) { + let output = ''; + const { + type: positionType + } = style?.position || {}; + if (!VALID_POSITION_TYPES.includes(positionType)) { + return output; + } + output += `${selector} {`; + output += `position: ${positionType};`; + POSITION_SIDES.forEach(side => { + if (style?.position?.[side] !== undefined) { + output += `${side}: ${style.position[side]};`; + } + }); + if (positionType === 'sticky' || positionType === 'fixed') { + // TODO: Replace hard-coded z-index value with a z-index preset approach in theme.json. + output += `z-index: 10`; + } + output += `}`; + return output; +} + +/** + * Determines if there is sticky position support. + * + * @param {string|Object} blockType Block name or Block Type object. + * + * @return {boolean} Whether there is support. + */ +function hasStickyPositionSupport(blockType) { + const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, POSITION_SUPPORT_KEY); + return !!(true === support || support?.sticky); +} + +/** + * Determines if there is fixed position support. + * + * @param {string|Object} blockType Block name or Block Type object. + * + * @return {boolean} Whether there is support. + */ +function hasFixedPositionSupport(blockType) { + const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, POSITION_SUPPORT_KEY); + return !!(true === support || support?.fixed); +} + +/** + * Determines if there is position support. + * + * @param {string|Object} blockType Block name or Block Type object. + * + * @return {boolean} Whether there is support. + */ +function hasPositionSupport(blockType) { + const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, POSITION_SUPPORT_KEY); + return !!support; +} + +/** + * Checks if there is a current value in the position block support attributes. + * + * @param {Object} props Block props. + * @return {boolean} Whether or not the block has a position value set. + */ +function hasPositionValue(props) { + return props.attributes.style?.position?.type !== undefined; +} + +/** + * Checks if the block is currently set to a sticky or fixed position. + * This check is helpful for determining how to position block toolbars or other elements. + * + * @param {Object} attributes Block attributes. + * @return {boolean} Whether or not the block is set to a sticky or fixed position. + */ +function hasStickyOrFixedPositionValue(attributes) { + const positionType = attributes.style?.position?.type; + return positionType === 'sticky' || positionType === 'fixed'; +} + +/** + * Resets the position block support attributes. This can be used when disabling + * the position support controls for a block via a `ToolsPanel`. + * + * @param {Object} props Block props. + * @param {Object} props.attributes Block's attributes. + * @param {Object} props.setAttributes Function to set block's attributes. + */ +function resetPosition({ + attributes = {}, + setAttributes +}) { + const { + style = {} + } = attributes; + setAttributes({ + style: cleanEmptyObject({ + ...style, + position: { + ...style?.position, + type: undefined, + top: undefined, + right: undefined, + bottom: undefined, + left: undefined + } + }) + }); +} + +/** + * Custom hook that checks if position settings have been disabled. + * + * @param {string} name The name of the block. + * + * @return {boolean} Whether padding setting is disabled. + */ +function useIsPositionDisabled({ + name: blockName +} = {}) { + const [allowFixed, allowSticky] = use_settings_useSettings('position.fixed', 'position.sticky'); + const isDisabled = !allowFixed && !allowSticky; + return !hasPositionSupport(blockName) || isDisabled; +} + +/* + * Position controls rendered in an inspector control panel. + * + * @param {Object} props + * + * @return {Element} Position panel. + */ +function PositionPanelPure({ + style = {}, + clientId, + name: blockName, + setAttributes +}) { + const allowFixed = hasFixedPositionSupport(blockName); + const allowSticky = hasStickyPositionSupport(blockName); + const value = style?.position?.type; + const { + firstParentClientId + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlockParents + } = select(store); + const parents = getBlockParents(clientId); + return { + firstParentClientId: parents[parents.length - 1] + }; + }, [clientId]); + const blockInformation = useBlockDisplayInformation(firstParentClientId); + const stickyHelpText = allowSticky && value === STICKY_OPTION.value && blockInformation ? (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: the name of the parent block. */ + (0,external_wp_i18n_namespaceObject.__)('The block will stick to the scrollable area of the parent %s block.'), blockInformation.title) : null; + const options = (0,external_wp_element_namespaceObject.useMemo)(() => { + const availableOptions = [DEFAULT_OPTION]; + // Display options if they are allowed, or if a block already has a valid value set. + // This allows for a block to be switched off from a position type that is not allowed. + if (allowSticky || value === STICKY_OPTION.value) { + availableOptions.push(STICKY_OPTION); + } + if (allowFixed || value === FIXED_OPTION.value) { + availableOptions.push(FIXED_OPTION); + } + return availableOptions; + }, [allowFixed, allowSticky, value]); + const onChangeType = next => { + // For now, use a hard-coded `0px` value for the position. + // `0px` is preferred over `0` as it can be used in `calc()` functions. + // In the future, it could be useful to allow for an offset value. + const placementValue = '0px'; + const newStyle = { + ...style, + position: { + ...style?.position, + type: next, + top: next === 'sticky' || next === 'fixed' ? placementValue : undefined + } + }; + setAttributes({ + style: utils_cleanEmptyObject(newStyle) + }); + }; + const selectedOption = value ? options.find(option => option.value === value) || DEFAULT_OPTION : DEFAULT_OPTION; + + // Only display position controls if there is at least one option to choose from. + return external_wp_element_namespaceObject.Platform.select({ + web: options.length > 1 ? (0,external_React_.createElement)(inspector_controls, { + group: "position" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.BaseControl, { + className: "block-editor-hooks__position-selection", + __nextHasNoMarginBottom: true, + help: stickyHelpText + }, (0,external_React_.createElement)(CustomSelectControl, { + __nextUnconstrainedWidth: true, + __next40pxDefaultSize: true, + className: "block-editor-hooks__position-selection__select-control", + label: (0,external_wp_i18n_namespaceObject.__)('Position'), + hideLabelFromVision: true, + describedBy: (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s: Currently selected position. + (0,external_wp_i18n_namespaceObject.__)('Currently selected position: %s'), selectedOption.name), + options: options, + value: selectedOption, + __experimentalShowSelectedHint: true, + onChange: ({ + selectedItem + }) => { + onChangeType(selectedItem.value); + }, + size: '__unstable-large' + }))) : null, + native: null + }); +} +/* harmony default export */ var position = ({ + edit: function Edit(props) { + const isPositionDisabled = useIsPositionDisabled(props); + if (isPositionDisabled) { + return null; + } + return (0,external_React_.createElement)(PositionPanelPure, { + ...props + }); + }, + useBlockProps: position_useBlockProps, + attributeKeys: ['style'], + hasSupport(name) { + return (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, POSITION_SUPPORT_KEY); + } +}); +function position_useBlockProps({ + name, + style +}) { + const hasPositionBlockSupport = (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, POSITION_SUPPORT_KEY); + const isPositionDisabled = useIsPositionDisabled({ + name + }); + const allowPositionStyles = hasPositionBlockSupport && !isPositionDisabled; + const id = (0,external_wp_compose_namespaceObject.useInstanceId)(position_useBlockProps); + + // Higher specificity to override defaults in editor UI. + const positionSelector = `.wp-container-${id}.wp-container-${id}`; + + // Get CSS string for the current position values. + let css; + if (allowPositionStyles) { + css = getPositionCSS({ + selector: positionSelector, + style + }) || ''; + } + + // Attach a `wp-container-` id-based class name. + const className = classnames_default()({ + [`wp-container-${id}`]: allowPositionStyles && !!css, + // Only attach a container class if there is generated CSS to be attached. + [`is-position-${style?.position?.type}`]: allowPositionStyles && !!css && !!style?.position?.type + }); + useStyleOverride({ + css + }); + return { + className + }; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/layout.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + + + + + + + +const layoutBlockSupportKey = 'layout'; +function hasLayoutBlockSupport(blockName) { + return (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, 'layout') || (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, '__experimentalLayout'); +} + +/** + * Generates the utility classnames for the given block's layout attributes. + * + * @param { Object } blockAttributes Block attributes. + * @param { string } blockName Block name. + * + * @return { Array } Array of CSS classname strings. + */ +function useLayoutClasses(blockAttributes = {}, blockName = '') { + const { + kebabCase + } = unlock(external_wp_components_namespaceObject.privateApis); + const rootPaddingAlignment = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getSettings + } = select(store); + return getSettings().__experimentalFeatures?.useRootPaddingAwareAlignments; + }, []); + const { + layout + } = blockAttributes; + const { + default: defaultBlockLayout + } = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockName, layoutBlockSupportKey) || {}; + const usedLayout = layout?.inherit || layout?.contentSize || layout?.wideSize ? { + ...layout, + type: 'constrained' + } : layout || defaultBlockLayout || {}; + const layoutClassnames = []; + if (LAYOUT_DEFINITIONS[usedLayout?.type || 'default']?.className) { + const baseClassName = LAYOUT_DEFINITIONS[usedLayout?.type || 'default']?.className; + const splitBlockName = blockName.split('/'); + const fullBlockName = splitBlockName[0] === 'core' ? splitBlockName.pop() : splitBlockName.join('-'); + const compoundClassName = `wp-block-${fullBlockName}-${baseClassName}`; + layoutClassnames.push(baseClassName, compoundClassName); + } + if ((usedLayout?.inherit || usedLayout?.contentSize || usedLayout?.type === 'constrained') && rootPaddingAlignment) { + layoutClassnames.push('has-global-padding'); + } + if (usedLayout?.orientation) { + layoutClassnames.push(`is-${kebabCase(usedLayout.orientation)}`); + } + if (usedLayout?.justifyContent) { + layoutClassnames.push(`is-content-justification-${kebabCase(usedLayout.justifyContent)}`); + } + if (usedLayout?.flexWrap && usedLayout.flexWrap === 'nowrap') { + layoutClassnames.push('is-nowrap'); + } + return layoutClassnames; +} + +/** + * Generates a CSS rule with the given block's layout styles. + * + * @param { Object } blockAttributes Block attributes. + * @param { string } blockName Block name. + * @param { string } selector A selector to use in generating the CSS rule. + * + * @return { string } CSS rule. + */ +function useLayoutStyles(blockAttributes = {}, blockName, selector) { + const { + layout = {}, + style = {} + } = blockAttributes; + // Update type for blocks using legacy layouts. + const usedLayout = layout?.inherit || layout?.contentSize || layout?.wideSize ? { + ...layout, + type: 'constrained' + } : layout || {}; + const fullLayoutType = getLayoutType(usedLayout?.type || 'default'); + const [blockGapSupport] = use_settings_useSettings('spacing.blockGap'); + const hasBlockGapSupport = blockGapSupport !== null; + const css = fullLayoutType?.getLayoutStyle?.({ + blockName, + selector, + layout, + style, + hasBlockGapSupport + }); + return css; +} +function LayoutPanelPure({ + layout, + setAttributes, + name: blockName +}) { + const settings = useBlockSettings(blockName); + // Block settings come from theme.json under settings.[blockName]. + const { + layout: layoutSettings + } = settings; + // Layout comes from block attributes. + const [defaultThemeLayout] = use_settings_useSettings('layout'); + const { + themeSupportsLayout + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getSettings + } = select(store); + return { + themeSupportsLayout: getSettings().supportsLayout + }; + }, []); + const blockEditingMode = useBlockEditingMode(); + if (blockEditingMode !== 'default') { + return null; + } + + // Layout block support comes from the block's block.json. + const layoutBlockSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockName, layoutBlockSupportKey, {}); + const blockSupportAndThemeSettings = { + ...layoutSettings, + ...layoutBlockSupport + }; + const { + allowSwitching, + allowEditing = true, + allowInheriting = true, + default: defaultBlockLayout + } = blockSupportAndThemeSettings; + if (!allowEditing) { + return null; + } + + // Only show the inherit toggle if it's supported, + // a default theme layout is set (e.g. one that provides `contentSize` and/or `wideSize` values), + // and either the default / flow or the constrained layout type is in use, as the toggle switches from one to the other. + const showInheritToggle = !!(allowInheriting && !!defaultThemeLayout && (!layout?.type || layout?.type === 'default' || layout?.type === 'constrained' || layout?.inherit)); + const usedLayout = layout || defaultBlockLayout || {}; + const { + inherit = false, + type = 'default', + contentSize = null + } = usedLayout; + /** + * `themeSupportsLayout` is only relevant to the `default/flow` or + * `constrained` layouts and it should not be taken into account when other + * `layout` types are used. + */ + if ((type === 'default' || type === 'constrained') && !themeSupportsLayout) { + return null; + } + const layoutType = getLayoutType(type); + const constrainedType = getLayoutType('constrained'); + const displayControlsForLegacyLayouts = !usedLayout.type && (contentSize || inherit); + const hasContentSizeOrLegacySettings = !!inherit || !!contentSize; + const onChangeType = newType => setAttributes({ + layout: { + type: newType + } + }); + const onChangeLayout = newLayout => setAttributes({ + layout: newLayout + }); + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(inspector_controls, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.PanelBody, { + title: (0,external_wp_i18n_namespaceObject.__)('Layout') + }, showInheritToggle && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToggleControl, { + __nextHasNoMarginBottom: true, + className: "block-editor-hooks__toggle-control", + label: (0,external_wp_i18n_namespaceObject.__)('Inner blocks use content width'), + checked: layoutType?.name === 'constrained' || hasContentSizeOrLegacySettings, + onChange: () => setAttributes({ + layout: { + type: layoutType?.name === 'constrained' || hasContentSizeOrLegacySettings ? 'default' : 'constrained' + } + }), + help: layoutType?.name === 'constrained' || hasContentSizeOrLegacySettings ? (0,external_wp_i18n_namespaceObject.__)('Nested blocks use content width with options for full and wide widths.') : (0,external_wp_i18n_namespaceObject.__)('Nested blocks will fill the width of this container. Toggle to constrain.') + })), !inherit && allowSwitching && (0,external_React_.createElement)(LayoutTypeSwitcher, { + type: type, + onChange: onChangeType + }), layoutType && layoutType.name !== 'default' && (0,external_React_.createElement)(layoutType.inspectorControls, { + layout: usedLayout, + onChange: onChangeLayout, + layoutBlockSupport: blockSupportAndThemeSettings + }), constrainedType && displayControlsForLegacyLayouts && (0,external_React_.createElement)(constrainedType.inspectorControls, { + layout: usedLayout, + onChange: onChangeLayout, + layoutBlockSupport: blockSupportAndThemeSettings + }))), !inherit && layoutType && (0,external_React_.createElement)(layoutType.toolBarControls, { + layout: usedLayout, + onChange: onChangeLayout, + layoutBlockSupport: layoutBlockSupport + })); +} +/* harmony default export */ var layout = ({ + shareWithChildBlocks: true, + edit: LayoutPanelPure, + attributeKeys: ['layout'], + hasSupport(name) { + return hasLayoutBlockSupport(name); + } +}); +function LayoutTypeSwitcher({ + type, + onChange +}) { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ButtonGroup, null, getLayoutTypes().map(({ + name, + label + }) => { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + key: name, + isPressed: type === name, + onClick: () => onChange(name) + }, label); + })); +} + +/** + * Filters registered block settings, extending attributes to include `layout`. + * + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. + */ +function layout_addAttribute(settings) { + var _settings$attributes$; + if ('type' in ((_settings$attributes$ = settings.attributes?.layout) !== null && _settings$attributes$ !== void 0 ? _settings$attributes$ : {})) { + return settings; + } + if (hasLayoutBlockSupport(settings)) { + settings.attributes = { + ...settings.attributes, + layout: { + type: 'object' + } + }; + } + return settings; +} +function BlockWithLayoutStyles({ + block: BlockListBlock, + props +}) { + const { + name, + attributes + } = props; + const id = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockListBlock); + const { + layout + } = attributes; + const { + default: defaultBlockLayout + } = (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, layoutBlockSupportKey) || {}; + const usedLayout = layout?.inherit || layout?.contentSize || layout?.wideSize ? { + ...layout, + type: 'constrained' + } : layout || defaultBlockLayout || {}; + const layoutClasses = useLayoutClasses(attributes, name); + const { + kebabCase + } = unlock(external_wp_components_namespaceObject.privateApis); + const selectorPrefix = `wp-container-${kebabCase(name)}-is-layout-`; + // Higher specificity to override defaults from theme.json. + const selector = `.${selectorPrefix}${id}.${selectorPrefix}${id}`; + const [blockGapSupport] = use_settings_useSettings('spacing.blockGap'); + const hasBlockGapSupport = blockGapSupport !== null; + + // Get CSS string for the current layout type. + // The CSS and `style` element is only output if it is not empty. + const fullLayoutType = getLayoutType(usedLayout?.type || 'default'); + const css = fullLayoutType?.getLayoutStyle?.({ + blockName: name, + selector, + layout: usedLayout, + style: attributes?.style, + hasBlockGapSupport + }); + + // Attach a `wp-container-` id-based class name as well as a layout class name such as `is-layout-flex`. + const layoutClassNames = classnames_default()({ + [`${selectorPrefix}${id}`]: !!css // Only attach a container class if there is generated CSS to be attached. + }, layoutClasses); + useStyleOverride({ + css + }); + return (0,external_React_.createElement)(BlockListBlock, { + ...props, + __unstableLayoutClassNames: layoutClassNames + }); +} + +/** + * Override the default block element to add the layout styles. + * + * @param {Function} BlockListBlock Original component. + * + * @return {Function} Wrapped component. + */ +const withLayoutStyles = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockListBlock => props => { + const blockSupportsLayout = hasLayoutBlockSupport(props.name); + const shouldRenderLayoutStyles = (0,external_wp_data_namespaceObject.useSelect)(select => { + // The callback returns early to avoid block editor subscription. + if (!blockSupportsLayout) { + return false; + } + return !select(store).getSettings().disableLayoutStyles; + }, [blockSupportsLayout]); + if (!shouldRenderLayoutStyles) { + return (0,external_React_.createElement)(BlockListBlock, { + ...props + }); + } + return (0,external_React_.createElement)(BlockWithLayoutStyles, { + block: BlockListBlock, + props: props + }); +}, 'withLayoutStyles'); +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/layout/addAttribute', layout_addAttribute); +(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/editor/layout/with-layout-styles', withLayoutStyles); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/layout-child.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +function useBlockPropsChildLayoutStyles({ + style +}) { + var _style$layout; + const shouldRenderChildLayoutStyles = (0,external_wp_data_namespaceObject.useSelect)(select => { + return !select(store).getSettings().disableLayoutStyles; + }); + const layout = (_style$layout = style?.layout) !== null && _style$layout !== void 0 ? _style$layout : {}; + const { + selfStretch, + flexSize + } = layout; + const id = (0,external_wp_compose_namespaceObject.useInstanceId)(useBlockPropsChildLayoutStyles); + const selector = `.wp-container-content-${id}`; + let css = ''; + if (shouldRenderChildLayoutStyles) { + if (selfStretch === 'fixed' && flexSize) { + css = `${selector} { + flex-basis: ${flexSize}; + box-sizing: border-box; + }`; + } else if (selfStretch === 'fill') { + css = `${selector} { + flex-grow: 1; + }`; + } + } + useStyleOverride({ + css + }); + + // Only attach a container class if there is generated CSS to be attached. + if (!css) { + return; + } + + // Attach a `wp-container-content` id-based classname. + return { + className: `wp-container-content-${id}` + }; +} +/* harmony default export */ var layout_child = ({ + useBlockProps: useBlockPropsChildLayoutStyles, + attributeKeys: ['style'], + hasSupport() { + return true; + } +}); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +/** + * Contains the properties `ConvertToGroupButton` component needs. + * + * @typedef {Object} ConvertToGroupButtonProps + * @property {string[]} clientIds An array of the selected client ids. + * @property {boolean} isGroupable Indicates if the selected blocks can be grouped. + * @property {boolean} isUngroupable Indicates if the selected blocks can be ungrouped. + * @property {WPBlock[]} blocksSelection An array of the selected blocks. + * @property {string} groupingBlockName The name of block used for handling grouping interactions. + */ + +/** + * Returns the properties `ConvertToGroupButton` component needs to work properly. + * It is used in `BlockSettingsMenuControls` to know if `ConvertToGroupButton` + * should be rendered, to avoid ending up with an empty MenuGroup. + * + * @param {?string[]} selectedClientIds An optional array of clientIds to group. The selected blocks + * from the block editor store are used if this is not provided. + * + * @return {ConvertToGroupButtonProps} Returns the properties needed by `ConvertToGroupButton`. + */ +function useConvertToGroupButtonProps(selectedClientIds) { + return (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlocksByClientId, + getSelectedBlockClientIds, + isUngroupable, + isGroupable + } = select(store); + const { + getGroupingBlockName, + getBlockType + } = select(external_wp_blocks_namespaceObject.store); + const clientIds = selectedClientIds?.length ? selectedClientIds : getSelectedBlockClientIds(); + const blocksSelection = getBlocksByClientId(clientIds); + const [firstSelectedBlock] = blocksSelection; + const _isUngroupable = clientIds.length === 1 && isUngroupable(clientIds[0]); + return { + clientIds, + isGroupable: isGroupable(clientIds), + isUngroupable: _isUngroupable, + blocksSelection, + groupingBlockName: getGroupingBlockName(), + onUngroup: _isUngroupable && getBlockType(firstSelectedBlock.name)?.transforms?.ungroup + }; + }, [selectedClientIds]); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/convert-to-group-buttons/index.js + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + +function ConvertToGroupButton({ + clientIds, + isGroupable, + isUngroupable, + onUngroup, + blocksSelection, + groupingBlockName, + onClose = () => {} +}) { + const { + replaceBlocks + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const onConvertToGroup = () => { + // Activate the `transform` on the Grouping Block which does the conversion. + const newBlocks = (0,external_wp_blocks_namespaceObject.switchToBlockType)(blocksSelection, groupingBlockName); + if (newBlocks) { + replaceBlocks(clientIds, newBlocks); + } + }; + const onConvertFromGroup = () => { + let innerBlocks = blocksSelection[0].innerBlocks; + if (!innerBlocks.length) { + return; + } + if (onUngroup) { + innerBlocks = onUngroup(blocksSelection[0].attributes, blocksSelection[0].innerBlocks); + } + replaceBlocks(clientIds, innerBlocks); + }; + if (!isGroupable && !isUngroupable) { + return null; + } + return (0,external_React_.createElement)(external_React_.Fragment, null, isGroupable && (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + onClick: () => { + onConvertToGroup(); + onClose(); + } + }, (0,external_wp_i18n_namespaceObject._x)('Group', 'verb')), isUngroupable && (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + onClick: () => { + onConvertFromGroup(); + onClose(); + } + }, (0,external_wp_i18n_namespaceObject._x)('Ungroup', 'Ungrouping blocks from within a grouping block back into individual blocks within the Editor '))); +} + + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-lock/use-block-lock.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +/** + * Return details about the block lock status. + * + * @param {string} clientId The block client Id. + * + * @return {Object} Block lock status + */ +function useBlockLock(clientId) { + return (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + canEditBlock, + canMoveBlock, + canRemoveBlock, + canLockBlockType, + getBlockName, + getBlockRootClientId, + getTemplateLock + } = select(store); + const rootClientId = getBlockRootClientId(clientId); + const canEdit = canEditBlock(clientId); + const canMove = canMoveBlock(clientId, rootClientId); + const canRemove = canRemoveBlock(clientId, rootClientId); + return { + canEdit, + canMove, + canRemove, + canLock: canLockBlockType(getBlockName(clientId)), + isContentLocked: getTemplateLock(clientId) === 'contentOnly', + isLocked: !canEdit || !canMove || !canRemove + }; + }, [clientId]); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/unlock.js + +/** + * WordPress dependencies + */ + +const unlock_unlock = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8h1.5c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1z" +})); +/* harmony default export */ var library_unlock = (unlock_unlock); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/lock-outline.js + +/** + * WordPress dependencies + */ + +const lockOutline = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zM9.8 7c0-1.2 1-2.2 2.2-2.2 1.2 0 2.2 1 2.2 2.2v3H9.8V7zm6.7 11.5h-9v-7h9v7z" +})); +/* harmony default export */ var lock_outline = (lockOutline); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/lock.js + +/** + * WordPress dependencies + */ + +const lock_lock = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zm-2.8 0H9.8V7c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3z" +})); +/* harmony default export */ var library_lock = (lock_lock); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-lock/modal.js + +/** + * WordPress dependencies + */ + + + + + + + + +/** + * Internal dependencies + */ + + + + +// Entity based blocks which allow edit locking +const ALLOWS_EDIT_LOCKING = ['core/block', 'core/navigation']; +function getTemplateLockValue(lock) { + // Prevents all operations. + if (lock.remove && lock.move) { + return 'all'; + } + + // Prevents inserting or removing blocks, but allows moving existing blocks. + if (lock.remove && !lock.move) { + return 'insert'; + } + return false; +} +function BlockLockModal({ + clientId, + onClose +}) { + const [lock, setLock] = (0,external_wp_element_namespaceObject.useState)({ + move: false, + remove: false + }); + const { + canEdit, + canMove, + canRemove + } = useBlockLock(clientId); + const { + allowsEditLocking, + templateLock, + hasTemplateLock + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlockName, + getBlockAttributes + } = select(store); + const blockName = getBlockName(clientId); + const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockName); + return { + allowsEditLocking: ALLOWS_EDIT_LOCKING.includes(blockName), + templateLock: getBlockAttributes(clientId)?.templateLock, + hasTemplateLock: !!blockType?.attributes?.templateLock + }; + }, [clientId]); + const [applyTemplateLock, setApplyTemplateLock] = (0,external_wp_element_namespaceObject.useState)(!!templateLock); + const { + updateBlockAttributes + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const blockInformation = useBlockDisplayInformation(clientId); + const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockLockModal, 'block-editor-block-lock-modal__options-title'); + (0,external_wp_element_namespaceObject.useEffect)(() => { + setLock({ + move: !canMove, + remove: !canRemove, + ...(allowsEditLocking ? { + edit: !canEdit + } : {}) + }); + }, [canEdit, canMove, canRemove, allowsEditLocking]); + const isAllChecked = Object.values(lock).every(Boolean); + const isMixed = Object.values(lock).some(Boolean) && !isAllChecked; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Modal, { + title: (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: Name of the block. */ + (0,external_wp_i18n_namespaceObject.__)('Lock %s'), blockInformation.title), + overlayClassName: "block-editor-block-lock-modal", + onRequestClose: onClose + }, (0,external_React_.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('Choose specific attributes to restrict or lock all available options.')), (0,external_React_.createElement)("form", { + onSubmit: event => { + event.preventDefault(); + updateBlockAttributes([clientId], { + lock, + templateLock: applyTemplateLock ? getTemplateLockValue(lock) : undefined + }); + onClose(); + } + }, (0,external_React_.createElement)("div", { + role: "group", + "aria-labelledby": instanceId, + className: "block-editor-block-lock-modal__options" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.CheckboxControl, { + __nextHasNoMarginBottom: true, + className: "block-editor-block-lock-modal__options-title", + label: (0,external_React_.createElement)("span", { + id: instanceId + }, (0,external_wp_i18n_namespaceObject.__)('Lock all')), + checked: isAllChecked, + indeterminate: isMixed, + onChange: newValue => setLock({ + move: newValue, + remove: newValue, + ...(allowsEditLocking ? { + edit: newValue + } : {}) + }) + }), (0,external_React_.createElement)("ul", { + className: "block-editor-block-lock-modal__checklist" + }, allowsEditLocking && (0,external_React_.createElement)("li", { + className: "block-editor-block-lock-modal__checklist-item" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.CheckboxControl, { + __nextHasNoMarginBottom: true, + label: (0,external_wp_i18n_namespaceObject.__)('Restrict editing'), + checked: !!lock.edit, + onChange: edit => setLock(prevLock => ({ + ...prevLock, + edit + })) + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.Icon, { + className: "block-editor-block-lock-modal__lock-icon", + icon: lock.edit ? library_lock : library_unlock + })), (0,external_React_.createElement)("li", { + className: "block-editor-block-lock-modal__checklist-item" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.CheckboxControl, { + __nextHasNoMarginBottom: true, + label: (0,external_wp_i18n_namespaceObject.__)('Disable movement'), + checked: lock.move, + onChange: move => setLock(prevLock => ({ + ...prevLock, + move + })) + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.Icon, { + className: "block-editor-block-lock-modal__lock-icon", + icon: lock.move ? library_lock : library_unlock + })), (0,external_React_.createElement)("li", { + className: "block-editor-block-lock-modal__checklist-item" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.CheckboxControl, { + __nextHasNoMarginBottom: true, + label: (0,external_wp_i18n_namespaceObject.__)('Prevent removal'), + checked: lock.remove, + onChange: remove => setLock(prevLock => ({ + ...prevLock, + remove + })) + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.Icon, { + className: "block-editor-block-lock-modal__lock-icon", + icon: lock.remove ? library_lock : library_unlock + }))), hasTemplateLock && (0,external_React_.createElement)(external_wp_components_namespaceObject.ToggleControl, { + __nextHasNoMarginBottom: true, + className: "block-editor-block-lock-modal__template-lock", + label: (0,external_wp_i18n_namespaceObject.__)('Apply to all blocks inside'), + checked: applyTemplateLock, + disabled: lock.move && !lock.remove, + onChange: () => setApplyTemplateLock(!applyTemplateLock) + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.Flex, { + className: "block-editor-block-lock-modal__actions", + justify: "flex-end", + expanded: false + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + variant: "tertiary", + onClick: onClose + }, (0,external_wp_i18n_namespaceObject.__)('Cancel'))), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + variant: "primary", + type: "submit" + }, (0,external_wp_i18n_namespaceObject.__)('Apply')))))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-lock/menu-item.js + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + +function BlockLockMenuItem({ + clientId +}) { + const { + canLock, + isLocked + } = useBlockLock(clientId); + const [isModalOpen, toggleModal] = (0,external_wp_element_namespaceObject.useReducer)(isActive => !isActive, false); + if (!canLock) { + return null; + } + const label = isLocked ? (0,external_wp_i18n_namespaceObject.__)('Unlock') : (0,external_wp_i18n_namespaceObject.__)('Lock'); + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + icon: isLocked ? library_unlock : lock_outline, + onClick: toggleModal, + "aria-expanded": isModalOpen, + "aria-haspopup": "dialog" + }, label), isModalOpen && (0,external_React_.createElement)(BlockLockModal, { + clientId: clientId, + onClose: toggleModal + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-mode-toggle.js + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + +const block_mode_toggle_noop = () => {}; +function BlockModeToggle({ + blockType, + mode, + onToggleMode, + small = false, + isCodeEditingEnabled = true +}) { + if (!blockType || !(0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockType, 'html', true) || !isCodeEditingEnabled) { + return null; + } + const label = mode === 'visual' ? (0,external_wp_i18n_namespaceObject.__)('Edit as HTML') : (0,external_wp_i18n_namespaceObject.__)('Edit visually'); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + onClick: onToggleMode + }, !small && label); +} +/* harmony default export */ var block_mode_toggle = ((0,external_wp_compose_namespaceObject.compose)([(0,external_wp_data_namespaceObject.withSelect)((select, { + clientId +}) => { + const { + getBlock, + getBlockMode, + getSettings + } = select(store); + const block = getBlock(clientId); + const isCodeEditingEnabled = getSettings().codeEditingEnabled; + return { + mode: getBlockMode(clientId), + blockType: block ? (0,external_wp_blocks_namespaceObject.getBlockType)(block.name) : null, + isCodeEditingEnabled + }; +}), (0,external_wp_data_namespaceObject.withDispatch)((dispatch, { + onToggle = block_mode_toggle_noop, + clientId +}) => ({ + onToggleMode() { + dispatch(store).toggleBlockMode(clientId); + onToggle(); + } +}))])(BlockModeToggle)); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-rename/use-block-rename.js +/** + * WordPress dependencies + */ + +function useBlockRename(name) { + return { + canRename: (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, 'renaming', true) + }; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-rename/is-empty-string.js +function isEmptyString(testString) { + return testString?.trim()?.length === 0; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-rename/modal.js + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + +function BlockRenameModal({ + blockName, + originalBlockName, + onClose, + onSave +}) { + const [editedBlockName, setEditedBlockName] = (0,external_wp_element_namespaceObject.useState)(blockName); + const nameHasChanged = editedBlockName !== blockName; + const nameIsOriginal = editedBlockName === originalBlockName; + const nameIsEmpty = isEmptyString(editedBlockName); + const isNameValid = nameHasChanged || nameIsOriginal; + const autoSelectInputText = event => event.target.select(); + const dialogDescription = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockRenameModal, `block-editor-rename-modal__description`); + const handleSubmit = () => { + const message = nameIsOriginal || nameIsEmpty ? (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: new name/label for the block */ + (0,external_wp_i18n_namespaceObject.__)('Block name reset to: "%s".'), editedBlockName) : (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: new name/label for the block */ + (0,external_wp_i18n_namespaceObject.__)('Block name changed to: "%s".'), editedBlockName); + + // Must be assertive to immediately announce change. + (0,external_wp_a11y_namespaceObject.speak)(message, 'assertive'); + onSave(editedBlockName); + + // Immediate close avoids ability to hit save multiple times. + onClose(); + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Modal, { + title: (0,external_wp_i18n_namespaceObject.__)('Rename'), + onRequestClose: onClose, + overlayClassName: "block-editor-block-rename-modal", + aria: { + describedby: dialogDescription + }, + focusOnMount: "firstContentElement" + }, (0,external_React_.createElement)("p", { + id: dialogDescription + }, (0,external_wp_i18n_namespaceObject.__)('Enter a custom name for this block.')), (0,external_React_.createElement)("form", { + onSubmit: e => { + e.preventDefault(); + if (!isNameValid) { + return; + } + handleSubmit(); + } + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + spacing: "3" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.TextControl, { + __nextHasNoMarginBottom: true, + __next40pxDefaultSize: true, + value: editedBlockName, + label: (0,external_wp_i18n_namespaceObject.__)('Block name'), + hideLabelFromVision: true, + placeholder: originalBlockName, + onChange: setEditedBlockName, + onFocus: autoSelectInputText + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + justify: "right" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + __next40pxDefaultSize: true, + variant: "tertiary", + onClick: onClose + }, (0,external_wp_i18n_namespaceObject.__)('Cancel')), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + __next40pxDefaultSize: true, + "aria-disabled": !isNameValid, + variant: "primary", + type: "submit" + }, (0,external_wp_i18n_namespaceObject.__)('Save')))))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-rename/rename-control.js + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + +function BlockRenameControl({ + clientId +}) { + const [renamingBlock, setRenamingBlock] = (0,external_wp_element_namespaceObject.useState)(false); + const { + metadata + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlockAttributes + } = select(store); + const _metadata = getBlockAttributes(clientId)?.metadata; + return { + metadata: _metadata + }; + }, [clientId]); + const { + updateBlockAttributes + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const customName = metadata?.name; + function onChange(newName) { + updateBlockAttributes([clientId], { + metadata: { + ...(metadata && metadata), + name: newName + } + }); + } + const blockInformation = useBlockDisplayInformation(clientId); + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + onClick: () => { + setRenamingBlock(true); + }, + "aria-expanded": renamingBlock, + "aria-haspopup": "dialog" + }, (0,external_wp_i18n_namespaceObject.__)('Rename')), renamingBlock && (0,external_React_.createElement)(BlockRenameModal, { + blockName: customName || '', + originalBlockName: blockInformation?.title, + onClose: () => setRenamingBlock(false), + onSave: newName => { + // If the new value is the block's original name (e.g. `Group`) + // or it is an empty string then assume the intent is to reset + // the value. Therefore reset the metadata. + if (newName === blockInformation?.title || isEmptyString(newName)) { + newName = undefined; + } + onChange(newName); + } + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu-controls/index.js + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + +const { + Fill, + Slot +} = (0,external_wp_components_namespaceObject.createSlotFill)('BlockSettingsMenuControls'); +const BlockSettingsMenuControlsSlot = ({ + fillProps, + clientIds = null, + __unstableDisplayLocation +}) => { + const { + selectedBlocks, + selectedClientIds + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlockNamesByClientId, + getSelectedBlockClientIds + } = select(store); + const ids = clientIds !== null ? clientIds : getSelectedBlockClientIds(); + return { + selectedBlocks: getBlockNamesByClientId(ids), + selectedClientIds: ids + }; + }, [clientIds]); + const { + canLock + } = useBlockLock(selectedClientIds[0]); + const { + canRename + } = useBlockRename(selectedBlocks[0]); + const showLockButton = selectedClientIds.length === 1 && canLock; + const showRenameButton = selectedClientIds.length === 1 && canRename; + + // Check if current selection of blocks is Groupable or Ungroupable + // and pass this props down to ConvertToGroupButton. + const convertToGroupButtonProps = useConvertToGroupButtonProps(selectedClientIds); + const { + isGroupable, + isUngroupable + } = convertToGroupButtonProps; + const showConvertToGroupButton = isGroupable || isUngroupable; + return (0,external_React_.createElement)(Slot, { + fillProps: { + ...fillProps, + __unstableDisplayLocation, + selectedBlocks, + selectedClientIds + } + }, fills => { + if (!fills?.length > 0 && !showConvertToGroupButton && !showLockButton) { + return null; + } + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, null, showConvertToGroupButton && (0,external_React_.createElement)(ConvertToGroupButton, { + ...convertToGroupButtonProps, + onClose: fillProps?.onClose + }), showLockButton && (0,external_React_.createElement)(BlockLockMenuItem, { + clientId: selectedClientIds[0] + }), showRenameButton && (0,external_React_.createElement)(BlockRenameControl, { + clientId: selectedClientIds[0] + }), fills, fillProps?.canMove && !fillProps?.onlyBlock && (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + onClick: (0,external_wp_compose_namespaceObject.pipe)(fillProps?.onClose, fillProps?.onMoveTo) + }, (0,external_wp_i18n_namespaceObject.__)('Move to')), fillProps?.count === 1 && (0,external_React_.createElement)(block_mode_toggle, { + clientId: fillProps?.firstBlockClientId, + onToggle: fillProps?.onClose + })); + }); +}; + +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-settings-menu-controls/README.md + * + * @param {Object} props Fill props. + * @return {Element} Element. + */ +function BlockSettingsMenuControls({ + ...props +}) { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalStyleProvider, { + document: document + }, (0,external_React_.createElement)(Fill, { + ...props + })); +} +BlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot; +/* harmony default export */ var block_settings_menu_controls = (BlockSettingsMenuControls); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/content-lock-ui.js + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + +// The implementation of content locking is mainly in this file, although the mechanism +// to stop temporarily editing as blocks when an outside block is selected is on component StopEditingAsBlocksOnOutsideSelect +// at block-editor/src/components/block-list/index.js. +// Besides the components on this file and the file referenced above the implementation +// also includes artifacts on the store (actions, reducers, and selector). + +function ContentLockControlsPure({ + clientId, + isSelected +}) { + const { + getBlockListSettings, + getSettings + } = (0,external_wp_data_namespaceObject.useSelect)(store); + const { + templateLock, + isLockedByParent, + isEditingAsBlocks + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + __unstableGetContentLockingParent, + getTemplateLock, + __unstableGetTemporarilyEditingAsBlocks + } = select(store); + return { + templateLock: getTemplateLock(clientId), + isLockedByParent: !!__unstableGetContentLockingParent(clientId), + isEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks() === clientId + }; + }, [clientId]); + const { + updateSettings, + updateBlockListSettings, + __unstableSetTemporarilyEditingAsBlocks + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const { + stopEditingAsBlocks + } = unlock((0,external_wp_data_namespaceObject.useDispatch)(store)); + const isContentLocked = !isLockedByParent && templateLock === 'contentOnly'; + const { + __unstableMarkNextChangeAsNotPersistent, + updateBlockAttributes + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const stopEditingAsBlockCallback = (0,external_wp_element_namespaceObject.useCallback)(() => { + stopEditingAsBlocks(clientId); + }, [clientId, stopEditingAsBlocks]); + if (!isContentLocked && !isEditingAsBlocks) { + return null; + } + const showStopEditingAsBlocks = isEditingAsBlocks && !isContentLocked; + const showStartEditingAsBlocks = !isEditingAsBlocks && isContentLocked && isSelected; + return (0,external_React_.createElement)(external_React_.Fragment, null, showStopEditingAsBlocks && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(block_controls, { + group: "other" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + onClick: stopEditingAsBlockCallback + }, (0,external_wp_i18n_namespaceObject.__)('Done')))), showStartEditingAsBlocks && (0,external_React_.createElement)(block_settings_menu_controls, null, ({ + onClose + }) => (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + onClick: () => { + __unstableMarkNextChangeAsNotPersistent(); + updateBlockAttributes(clientId, { + templateLock: undefined + }); + updateBlockListSettings(clientId, { + ...getBlockListSettings(clientId), + templateLock: false + }); + const focusModeToRevert = getSettings().focusMode; + updateSettings({ + focusMode: true + }); + __unstableSetTemporarilyEditingAsBlocks(clientId, focusModeToRevert); + onClose(); + } + }, (0,external_wp_i18n_namespaceObject.__)('Modify')))); +} +/* harmony default export */ var content_lock_ui = ({ + edit: ContentLockControlsPure, + hasSupport() { + return true; + } +}); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/metadata.js +/** + * WordPress dependencies + */ + +const META_ATTRIBUTE_NAME = 'metadata'; + +/** + * Filters registered block settings, extending attributes to include `metadata`. + * + * see: https://github.com/WordPress/gutenberg/pull/40393/files#r864632012 + * + * @param {Object} blockTypeSettings Original block settings. + * @return {Object} Filtered block settings. + */ +function addMetaAttribute(blockTypeSettings) { + // Allow blocks to specify their own attribute definition with default values if needed. + if (blockTypeSettings?.attributes?.[META_ATTRIBUTE_NAME]?.type) { + return blockTypeSettings; + } + blockTypeSettings.attributes = { + ...blockTypeSettings.attributes, + [META_ATTRIBUTE_NAME]: { + type: 'object' + } + }; + return blockTypeSettings; +} +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/metadata/addMetaAttribute', addMetaAttribute); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/block-default.js + +/** + * WordPress dependencies + */ + +const blockDefault = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z" +})); +/* harmony default export */ var block_default = (blockDefault); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-icon/index.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + +function BlockIcon({ + icon, + showColors = false, + className, + context +}) { + if (icon?.src === 'block-default') { + icon = { + src: block_default + }; + } + const renderedIcon = (0,external_React_.createElement)(external_wp_components_namespaceObject.Icon, { + icon: icon && icon.src ? icon.src : icon, + context: context + }); + const style = showColors ? { + backgroundColor: icon && icon.background, + color: icon && icon.foreground + } : {}; + return (0,external_React_.createElement)("span", { + style: style, + className: classnames_default()('block-editor-block-icon', className, { + 'has-colors': showColors + }) + }, renderedIcon); +} + +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-icon/README.md + */ +/* harmony default export */ var block_icon = ((0,external_wp_element_namespaceObject.memo)(BlockIcon)); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/block-hooks.js + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + +const EMPTY_OBJECT = {}; +function BlockHooksControlPure({ + name, + clientId +}) { + const blockTypes = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_blocks_namespaceObject.store).getBlockTypes(), []); + const hookedBlocksForCurrentBlock = (0,external_wp_element_namespaceObject.useMemo)(() => blockTypes?.filter(({ + blockHooks + }) => blockHooks && name in blockHooks), [blockTypes, name]); + const { + blockIndex, + rootClientId, + innerBlocksLength + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlock, + getBlockIndex, + getBlockRootClientId + } = select(store); + return { + blockIndex: getBlockIndex(clientId), + innerBlocksLength: getBlock(clientId)?.innerBlocks?.length, + rootClientId: getBlockRootClientId(clientId) + }; + }, [clientId]); + const hookedBlockClientIds = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlock, + getGlobalBlockCount + } = select(store); + const _hookedBlockClientIds = hookedBlocksForCurrentBlock.reduce((clientIds, block) => { + // If the block doesn't exist anywhere in the block tree, + // we know that we have to set the toggle to disabled. + if (getGlobalBlockCount(block.name) === 0) { + return clientIds; + } + const relativePosition = block?.blockHooks?.[name]; + let candidates; + switch (relativePosition) { + case 'before': + case 'after': + // Any of the current block's siblings (with the right block type) qualifies + // as a hooked block (inserted `before` or `after` the current one), as the block + // might've been automatically inserted and then moved around a bit by the user. + candidates = getBlock(rootClientId)?.innerBlocks; + break; + case 'first_child': + case 'last_child': + // Any of the current block's child blocks (with the right block type) qualifies + // as a hooked first or last child block, as the block might've been automatically + // inserted and then moved around a bit by the user. + candidates = getBlock(clientId).innerBlocks; + break; + } + const hookedBlock = candidates?.find(candidate => candidate.name === block.name); + + // If the block exists in the designated location, we consider it hooked + // and show the toggle as enabled. + if (hookedBlock) { + return { + ...clientIds, + [block.name]: hookedBlock.clientId + }; + } + + // If no hooked block was found in any of its designated locations, + // we set the toggle to disabled. + return clientIds; + }, {}); + if (Object.values(_hookedBlockClientIds).length > 0) { + return _hookedBlockClientIds; + } + return EMPTY_OBJECT; + }, [hookedBlocksForCurrentBlock, name, clientId, rootClientId]); + const { + insertBlock, + removeBlock + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + if (!hookedBlocksForCurrentBlock.length) { + return null; + } + + // Group by block namespace (i.e. prefix before the slash). + const groupedHookedBlocks = hookedBlocksForCurrentBlock.reduce((groups, block) => { + const [namespace] = block.name.split('/'); + if (!groups[namespace]) { + groups[namespace] = []; + } + groups[namespace].push(block); + return groups; + }, {}); + const insertBlockIntoDesignatedLocation = (block, relativePosition) => { + switch (relativePosition) { + case 'before': + case 'after': + insertBlock(block, relativePosition === 'after' ? blockIndex + 1 : blockIndex, rootClientId, + // Insert as a child of the current block's parent + false); + break; + case 'first_child': + case 'last_child': + insertBlock(block, + // TODO: It'd be great if insertBlock() would accept negative indices for insertion. + relativePosition === 'first_child' ? 0 : innerBlocksLength, clientId, + // Insert as a child of the current block. + false); + break; + } + }; + return (0,external_React_.createElement)(inspector_controls, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.PanelBody, { + className: "block-editor-hooks__block-hooks", + title: (0,external_wp_i18n_namespaceObject.__)('Plugins'), + initialOpen: true + }, Object.keys(groupedHookedBlocks).map(vendor => { + return (0,external_React_.createElement)(external_wp_element_namespaceObject.Fragment, { + key: vendor + }, (0,external_React_.createElement)("h3", null, vendor), groupedHookedBlocks[vendor].map(block => { + const checked = (block.name in hookedBlockClientIds); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToggleControl, { + checked: checked, + key: block.title, + label: (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + justify: "flex-start" + }, (0,external_React_.createElement)(block_icon, { + icon: block.icon + }), (0,external_React_.createElement)("span", null, block.title)), + onChange: () => { + if (!checked) { + // Create and insert block. + const relativePosition = block.blockHooks[name]; + insertBlockIntoDesignatedLocation((0,external_wp_blocks_namespaceObject.createBlock)(block.name), relativePosition); + return; + } + + // Remove block. + removeBlock(hookedBlockClientIds[block.name], false); + } + }); + })); + }))); +} +/* harmony default export */ var block_hooks = ({ + edit: BlockHooksControlPure, + hasSupport() { + return true; + } +}); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/block-renaming.js + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + +/** + * Filters registered block settings, adding an `__experimentalLabel` callback if one does not already exist. + * + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. + */ +function addLabelCallback(settings) { + // If blocks provide their own label callback, do not override it. + if (settings.__experimentalLabel) { + return settings; + } + const supportsBlockNaming = (0,external_wp_blocks_namespaceObject.hasBlockSupport)(settings, 'renaming', true // default value + ); + + // Check whether block metadata is supported before using it. + if (supportsBlockNaming) { + settings.__experimentalLabel = (attributes, { + context + }) => { + const { + metadata + } = attributes; + + // In the list view, use the block's name attribute as the label. + if (context === 'list-view' && metadata?.name) { + return metadata.name; + } + }; + } + return settings; +} +function BlockRenameControlPure({ + metadata, + setAttributes +}) { + return (0,external_React_.createElement)(inspector_controls, { + group: "advanced" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.TextControl, { + __nextHasNoMarginBottom: true, + __next40pxDefaultSize: true, + label: (0,external_wp_i18n_namespaceObject.__)('Block name'), + value: metadata?.name || '', + onChange: newName => { + setAttributes({ + metadata: { + ...metadata, + name: newName + } + }); + } + })); +} +/* harmony default export */ var block_renaming = ({ + edit: BlockRenameControlPure, + attributeKeys: ['metadata'], + hasSupport(name) { + return (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, 'renaming', true); + } +}); +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/metadata/addLabelCallback', addLabelCallback); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/use-bindings-attributes.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + +/** @typedef {import('@wordpress/compose').WPHigherOrderComponent} WPHigherOrderComponent */ +/** @typedef {import('@wordpress/blocks').WPBlockSettings} WPBlockSettings */ + +/** + * Given a binding of block attributes, returns a higher order component that + * overrides its `attributes` and `setAttributes` props to sync any changes needed. + * + * @return {WPHigherOrderComponent} Higher-order component. + */ + +const BLOCK_BINDINGS_ALLOWED_BLOCKS = { + 'core/paragraph': ['content'], + 'core/heading': ['content'], + 'core/image': ['url', 'title', 'alt'], + 'core/button': ['url', 'text', 'linkTarget'] +}; +const createEditFunctionWithBindingsAttribute = () => (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => props => { + const { + clientId, + name: blockName + } = useBlockEditContext(); + const { + getBlockBindingsSource + } = unlock((0,external_wp_data_namespaceObject.useSelect)(store)); + const { + getBlockAttributes, + updateBlockAttributes + } = (0,external_wp_data_namespaceObject.useSelect)(store); + const updatedAttributes = getBlockAttributes(clientId); + if (updatedAttributes?.metadata?.bindings) { + Object.entries(updatedAttributes.metadata.bindings).forEach(([attributeName, settings]) => { + const source = getBlockBindingsSource(settings.source.name); + if (source) { + // Second argument (`updateMetaValue`) will be used to update the value in the future. + const { + placeholder, + useValue: [metaValue = null] = [] + } = source.useSource(props, settings.source.attributes); + if (placeholder && !metaValue) { + // If the attribute is `src` or `href`, a placeholder can't be used because it is not a valid url. + // Adding this workaround until attributes and metadata fields types are improved and include `url`. + const htmlAttribute = (0,external_wp_blocks_namespaceObject.getBlockType)(blockName).attributes[attributeName].attribute; + if (htmlAttribute === 'src' || htmlAttribute === 'href') { + updatedAttributes[attributeName] = null; + } else { + updatedAttributes[attributeName] = placeholder; + } + } + if (metaValue) { + updatedAttributes[attributeName] = metaValue; + } + } + }); + } + const registry = (0,external_wp_data_namespaceObject.useRegistry)(); + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(BlockEdit, { + key: "edit", + attributes: updatedAttributes, + setAttributes: (newAttributes, blockId) => registry.batch(() => updateBlockAttributes(blockId, newAttributes)), + ...props + })); +}, 'useBoundAttributes'); + +/** + * Filters a registered block's settings to enhance a block's `edit` component + * to upgrade bound attributes. + * + * @param {WPBlockSettings} settings Registered block settings. + * + * @return {WPBlockSettings} Filtered block settings. + */ +function shimAttributeSource(settings) { + if (!(settings.name in BLOCK_BINDINGS_ALLOWED_BLOCKS)) { + return settings; + } + settings.edit = createEditFunctionWithBindingsAttribute()(settings.edit); + return settings; +} +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/editor/custom-sources-backwards-compatibility/shim-attribute-source', shimAttributeSource); + +// Add the context to all blocks. +(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/block-bindings-ui', (settings, name) => { + if (!(name in BLOCK_BINDINGS_ALLOWED_BLOCKS)) { + return settings; + } + const contextItems = ['postId', 'postType', 'queryId']; + const usesContextArray = settings.usesContext; + const oldUsesContextArray = new Set(usesContextArray); + contextItems.forEach(item => { + if (!oldUsesContextArray.has(item)) { + usesContextArray.push(item); + } + }); + settings.usesContext = usesContextArray; + return settings; +}); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/use-border-props.js +/** + * Internal dependencies + */ + + + + +// This utility is intended to assist where the serialization of the border +// block support is being skipped for a block but the border related CSS classes +// & styles still need to be generated so they can be applied to inner elements. + +/** + * Provides the CSS class names and inline styles for a block's border support + * attributes. + * + * @param {Object} attributes Block attributes. + * @return {Object} Border block support derived CSS classes & styles. + */ +function getBorderClassesAndStyles(attributes) { + const border = attributes.style?.border || {}; + const className = getBorderClasses(attributes); + return { + className: className || undefined, + style: getInlineStyles({ + border + }) + }; +} + +/** + * Derives the border related props for a block from its border block support + * attributes. + * + * Inline styles are forced for named colors to ensure these selections are + * reflected when themes do not load their color stylesheets in the editor. + * + * @param {Object} attributes Block attributes. + * + * @return {Object} ClassName & style props from border block support. + */ +function useBorderProps(attributes) { + const { + colors + } = useMultipleOriginColorsAndGradients(); + const borderProps = getBorderClassesAndStyles(attributes); + const { + borderColor + } = attributes; + + // Force inline styles to apply named border colors when themes do not load + // their color stylesheets in the editor. + if (borderColor) { + const borderColorObject = getMultiOriginColor({ + colors, + namedColor: borderColor + }); + borderProps.style.borderColor = borderColorObject.color; + } + return borderProps; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/use-shadow-props.js +/** + * Internal dependencies + */ + + +// This utility is intended to assist where the serialization of the shadow +// block support is being skipped for a block but the shadow related CSS classes +// & styles still need to be generated so they can be applied to inner elements. + +/** + * Provides the CSS class names and inline styles for a block's shadow support + * attributes. + * + * @param {Object} attributes Block attributes. + * @return {Object} Shadow block support derived CSS classes & styles. + */ +function getShadowClassesAndStyles(attributes) { + const shadow = attributes.style?.shadow || ''; + return { + className: undefined, + style: getInlineStyles({ + shadow + }) + }; +} + +/** + * Derives the shadow related props for a block from its shadow block support + * attributes. + * + * @param {Object} attributes Block attributes. + * + * @return {Object} ClassName & style props from shadow block support. + */ +function useShadowProps(attributes) { + const shadowProps = getShadowClassesAndStyles(attributes); + return shadowProps; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/use-color-props.js +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + + +// The code in this file has largely been lifted from the color block support +// hook. +// +// This utility is intended to assist where the serialization of the colors +// block support is being skipped for a block but the color related CSS classes +// & styles still need to be generated so they can be applied to inner elements. + +/** + * Provides the CSS class names and inline styles for a block's color support + * attributes. + * + * @param {Object} attributes Block attributes. + * + * @return {Object} Color block support derived CSS classes & styles. + */ +function getColorClassesAndStyles(attributes) { + const { + backgroundColor, + textColor, + gradient, + style + } = attributes; + + // Collect color CSS classes. + const backgroundClass = getColorClassName('background-color', backgroundColor); + const textClass = getColorClassName('color', textColor); + const gradientClass = __experimentalGetGradientClass(gradient); + const hasGradient = gradientClass || style?.color?.gradient; + + // Determine color CSS class name list. + const className = classnames_default()(textClass, gradientClass, { + // Don't apply the background class if there's a gradient. + [backgroundClass]: !hasGradient && !!backgroundClass, + 'has-text-color': textColor || style?.color?.text, + 'has-background': backgroundColor || style?.color?.background || gradient || style?.color?.gradient, + 'has-link-color': style?.elements?.link?.color + }); + + // Collect inline styles for colors. + const colorStyles = style?.color || {}; + const styleProp = getInlineStyles({ + color: colorStyles + }); + return { + className: className || undefined, + style: styleProp + }; +} + +/** + * Determines the color related props for a block derived from its color block + * support attributes. + * + * Inline styles are forced for named colors to ensure these selections are + * reflected when themes do not load their color stylesheets in the editor. + * + * @param {Object} attributes Block attributes. + * + * @return {Object} ClassName & style props from colors block support. + */ +function useColorProps(attributes) { + const { + backgroundColor, + textColor, + gradient + } = attributes; + const [userPalette, themePalette, defaultPalette, userGradients, themeGradients, defaultGradients] = use_settings_useSettings('color.palette.custom', 'color.palette.theme', 'color.palette.default', 'color.gradients.custom', 'color.gradients.theme', 'color.gradients.default'); + const colors = (0,external_wp_element_namespaceObject.useMemo)(() => [...(userPalette || []), ...(themePalette || []), ...(defaultPalette || [])], [userPalette, themePalette, defaultPalette]); + const gradients = (0,external_wp_element_namespaceObject.useMemo)(() => [...(userGradients || []), ...(themeGradients || []), ...(defaultGradients || [])], [userGradients, themeGradients, defaultGradients]); + const colorProps = getColorClassesAndStyles(attributes); + + // Force inline styles to apply colors when themes do not load their color + // stylesheets in the editor. + if (backgroundColor) { + const backgroundColorObject = getColorObjectByAttributeValues(colors, backgroundColor); + colorProps.style.backgroundColor = backgroundColorObject.color; + } + if (gradient) { + colorProps.style.background = getGradientValueBySlug(gradients, gradient); + } + if (textColor) { + const textColorObject = getColorObjectByAttributeValues(colors, textColor); + colorProps.style.color = textColorObject.color; + } + return colorProps; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/use-spacing-props.js +/** + * Internal dependencies + */ + + +// This utility is intended to assist where the serialization of the spacing +// block support is being skipped for a block but the spacing related CSS +// styles still need to be generated so they can be applied to inner elements. + +/** + * Provides the CSS class names and inline styles for a block's spacing support + * attributes. + * + * @param {Object} attributes Block attributes. + * + * @return {Object} Spacing block support derived CSS classes & styles. + */ +function getSpacingClassesAndStyles(attributes) { + const { + style + } = attributes; + + // Collect inline styles for spacing. + const spacingStyles = style?.spacing || {}; + const styleProp = getInlineStyles({ + spacing: spacingStyles + }); + return { + style: styleProp + }; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/use-typography-props.js +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + + +/* + * This utility is intended to assist where the serialization of the typography + * block support is being skipped for a block but the typography related CSS + * styles still need to be generated so they can be applied to inner elements. + */ +/** + * Provides the CSS class names and inline styles for a block's typography support + * attributes. + * + * @param {Object} attributes Block attributes. + * @param {Object|boolean} settings Merged theme.json settings + * + * @return {Object} Typography block support derived CSS classes & styles. + */ +function getTypographyClassesAndStyles(attributes, settings) { + const { + kebabCase + } = unlock(external_wp_components_namespaceObject.privateApis); + let typographyStyles = attributes?.style?.typography || {}; + const fluidTypographySettings = getFluidTypographyOptionsFromSettings(settings); + typographyStyles = { + ...typographyStyles, + fontSize: getTypographyFontSizeValue({ + size: attributes?.style?.typography?.fontSize + }, fluidTypographySettings) + }; + const style = getInlineStyles({ + typography: typographyStyles + }); + const fontFamilyClassName = !!attributes?.fontFamily ? `has-${kebabCase(attributes.fontFamily)}-font-family` : ''; + const className = classnames_default()(fontFamilyClassName, getFontSizeClass(attributes?.fontSize)); + return { + className, + style + }; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/use-cached-truthy.js +/** + * WordPress dependencies + */ + + +/** + * Keeps an up-to-date copy of the passed value and returns it. If value becomes falsy, it will return the last truthy copy. + * + * @param {any} value + * @return {any} value + */ +function useCachedTruthy(value) { + const [cachedValue, setCachedValue] = (0,external_wp_element_namespaceObject.useState)(value); + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (value) { + setCachedValue(value); + } + }, [value]); + return cachedValue; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/index.js +/** + * Internal dependencies + */ + + + + + + + + + + + + + + + + + + + + + + + + +createBlockEditFilter([align, hooks_anchor, custom_class_name, style, duotone, position, layout, content_lock_ui, block_hooks, block_renaming].filter(Boolean)); +createBlockListBlockFilter([align, style, color, dimensions, duotone, font_family, font_size, border, position, layout_child]); +createBlockSaveFilter([align, hooks_anchor, aria_label, custom_class_name, border, color, style, font_family, font_size]); + + + + + + + + + + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/with-colors.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + +/** + * Capitalizes the first letter in a string. + * + * @param {string} str The string whose first letter the function will capitalize. + * + * @return {string} Capitalized string. + */ +const upperFirst = ([firstLetter, ...rest]) => firstLetter.toUpperCase() + rest.join(''); + +/** + * Higher order component factory for injecting the `colorsArray` argument as + * the colors prop in the `withCustomColors` HOC. + * + * @param {Array} colorsArray An array of color objects. + * + * @return {Function} The higher order component. + */ +const withCustomColorPalette = colorsArray => (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(WrappedComponent => props => (0,external_React_.createElement)(WrappedComponent, { + ...props, + colors: colorsArray +}), 'withCustomColorPalette'); + +/** + * Higher order component factory for injecting the editor colors as the + * `colors` prop in the `withColors` HOC. + * + * @return {Function} The higher order component. + */ +const withEditorColorPalette = () => (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(WrappedComponent => props => { + const [userPalette, themePalette, defaultPalette] = use_settings_useSettings('color.palette.custom', 'color.palette.theme', 'color.palette.default'); + const allColors = (0,external_wp_element_namespaceObject.useMemo)(() => [...(userPalette || []), ...(themePalette || []), ...(defaultPalette || [])], [userPalette, themePalette, defaultPalette]); + return (0,external_React_.createElement)(WrappedComponent, { + ...props, + colors: allColors + }); +}, 'withEditorColorPalette'); + +/** + * Helper function used with `createHigherOrderComponent` to create + * higher order components for managing color logic. + * + * @param {Array} colorTypes An array of color types (e.g. 'backgroundColor, borderColor). + * @param {Function} withColorPalette A HOC for injecting the 'colors' prop into the WrappedComponent. + * + * @return {Component} The component that can be used as a HOC. + */ +function createColorHOC(colorTypes, withColorPalette) { + const { + kebabCase + } = unlock(external_wp_components_namespaceObject.privateApis); + const colorMap = colorTypes.reduce((colorObject, colorType) => { + return { + ...colorObject, + ...(typeof colorType === 'string' ? { + [colorType]: kebabCase(colorType) + } : colorType) + }; + }, {}); + return (0,external_wp_compose_namespaceObject.compose)([withColorPalette, WrappedComponent => { + return class extends external_wp_element_namespaceObject.Component { + constructor(props) { + super(props); + this.setters = this.createSetters(); + this.colorUtils = { + getMostReadableColor: this.getMostReadableColor.bind(this) + }; + this.state = {}; + } + getMostReadableColor(colorValue) { + const { + colors + } = this.props; + return getMostReadableColor(colors, colorValue); + } + createSetters() { + return Object.keys(colorMap).reduce((settersAccumulator, colorAttributeName) => { + const upperFirstColorAttributeName = upperFirst(colorAttributeName); + const customColorAttributeName = `custom${upperFirstColorAttributeName}`; + settersAccumulator[`set${upperFirstColorAttributeName}`] = this.createSetColor(colorAttributeName, customColorAttributeName); + return settersAccumulator; + }, {}); + } + createSetColor(colorAttributeName, customColorAttributeName) { + return colorValue => { + const colorObject = getColorObjectByColorValue(this.props.colors, colorValue); + this.props.setAttributes({ + [colorAttributeName]: colorObject && colorObject.slug ? colorObject.slug : undefined, + [customColorAttributeName]: colorObject && colorObject.slug ? undefined : colorValue + }); + }; + } + static getDerivedStateFromProps({ + attributes, + colors + }, previousState) { + return Object.entries(colorMap).reduce((newState, [colorAttributeName, colorContext]) => { + const colorObject = getColorObjectByAttributeValues(colors, attributes[colorAttributeName], attributes[`custom${upperFirst(colorAttributeName)}`]); + const previousColorObject = previousState[colorAttributeName]; + const previousColor = previousColorObject?.color; + /** + * The "and previousColorObject" condition checks that a previous color object was already computed. + * At the start previousColorObject and colorValue are both equal to undefined + * bus as previousColorObject does not exist we should compute the object. + */ + if (previousColor === colorObject.color && previousColorObject) { + newState[colorAttributeName] = previousColorObject; + } else { + newState[colorAttributeName] = { + ...colorObject, + class: getColorClassName(colorContext, colorObject.slug) + }; + } + return newState; + }, {}); + } + render() { + return (0,external_React_.createElement)(WrappedComponent, { + ...this.props, + colors: undefined, + ...this.state, + ...this.setters, + colorUtils: this.colorUtils + }); + } + }; + }]); +} + +/** + * A higher-order component factory for creating a 'withCustomColors' HOC, which handles color logic + * for class generation color value, retrieval and color attribute setting. + * + * Use this higher-order component to work with a custom set of colors. + * + * @example + * + * ```jsx + * const CUSTOM_COLORS = [ { name: 'Red', slug: 'red', color: '#ff0000' }, { name: 'Blue', slug: 'blue', color: '#0000ff' } ]; + * const withCustomColors = createCustomColorsHOC( CUSTOM_COLORS ); + * // ... + * export default compose( + * withCustomColors( 'backgroundColor', 'borderColor' ), + * MyColorfulComponent, + * ); + * ``` + * + * @param {Array} colorsArray The array of color objects (name, slug, color, etc... ). + * + * @return {Function} Higher-order component. + */ +function createCustomColorsHOC(colorsArray) { + return (...colorTypes) => { + const withColorPalette = withCustomColorPalette(colorsArray); + return (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(createColorHOC(colorTypes, withColorPalette), 'withCustomColors'); + }; +} + +/** + * A higher-order component, which handles color logic for class generation color value, retrieval and color attribute setting. + * + * For use with the default editor/theme color palette. + * + * @example + * + * ```jsx + * export default compose( + * withColors( 'backgroundColor', { textColor: 'color' } ), + * MyColorfulComponent, + * ); + * ``` + * + * @param {...(Object|string)} colorTypes The arguments can be strings or objects. If the argument is an object, + * it should contain the color attribute name as key and the color context as value. + * If the argument is a string the value should be the color attribute name, + * the color context is computed by applying a kebab case transform to the value. + * Color context represents the context/place where the color is going to be used. + * The class name of the color is generated using 'has' followed by the color name + * and ending with the color context all in kebab case e.g: has-green-background-color. + * + * @return {Function} Higher-order component. + */ +function withColors(...colorTypes) { + const withColorPalette = withEditorColorPalette(); + return (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(createColorHOC(colorTypes, withColorPalette), 'withColors'); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/index.js + + + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/gradients/index.js + + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/font-size-picker.js + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + +function font_size_picker_FontSizePicker(props) { + const [fontSizes, customFontSize] = use_settings_useSettings('typography.fontSizes', 'typography.customFontSize'); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.FontSizePicker, { + ...props, + fontSizes: fontSizes, + disableCustomFontSizes: !customFontSize + }); +} + +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/font-sizes/README.md + */ +/* harmony default export */ var font_size_picker = (font_size_picker_FontSizePicker); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/with-font-sizes.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +const DEFAULT_FONT_SIZES = []; + +/** + * Capitalizes the first letter in a string. + * + * @param {string} str The string whose first letter the function will capitalize. + * + * @return {string} Capitalized string. + */ +const with_font_sizes_upperFirst = ([firstLetter, ...rest]) => firstLetter.toUpperCase() + rest.join(''); + +/** + * Higher-order component, which handles font size logic for class generation, + * font size value retrieval, and font size change handling. + * + * @param {...(Object|string)} fontSizeNames The arguments should all be strings. + * Each string contains the font size + * attribute name e.g: 'fontSize'. + * + * @return {Function} Higher-order component. + */ +/* harmony default export */ var with_font_sizes = ((...fontSizeNames) => { + /* + * Computes an object whose key is the font size attribute name as passed in the array, + * and the value is the custom font size attribute name. + * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized. + */ + const fontSizeAttributeNames = fontSizeNames.reduce((fontSizeAttributeNamesAccumulator, fontSizeAttributeName) => { + fontSizeAttributeNamesAccumulator[fontSizeAttributeName] = `custom${with_font_sizes_upperFirst(fontSizeAttributeName)}`; + return fontSizeAttributeNamesAccumulator; + }, {}); + return (0,external_wp_compose_namespaceObject.createHigherOrderComponent)((0,external_wp_compose_namespaceObject.compose)([(0,external_wp_compose_namespaceObject.createHigherOrderComponent)(WrappedComponent => props => { + const [fontSizes] = use_settings_useSettings('typography.fontSizes'); + return (0,external_React_.createElement)(WrappedComponent, { + ...props, + fontSizes: fontSizes || DEFAULT_FONT_SIZES + }); + }, 'withFontSizes'), WrappedComponent => { + return class extends external_wp_element_namespaceObject.Component { + constructor(props) { + super(props); + this.setters = this.createSetters(); + this.state = {}; + } + createSetters() { + return Object.entries(fontSizeAttributeNames).reduce((settersAccumulator, [fontSizeAttributeName, customFontSizeAttributeName]) => { + const upperFirstFontSizeAttributeName = with_font_sizes_upperFirst(fontSizeAttributeName); + settersAccumulator[`set${upperFirstFontSizeAttributeName}`] = this.createSetFontSize(fontSizeAttributeName, customFontSizeAttributeName); + return settersAccumulator; + }, {}); + } + createSetFontSize(fontSizeAttributeName, customFontSizeAttributeName) { + return fontSizeValue => { + const fontSizeObject = this.props.fontSizes?.find(({ + size + }) => size === Number(fontSizeValue)); + this.props.setAttributes({ + [fontSizeAttributeName]: fontSizeObject && fontSizeObject.slug ? fontSizeObject.slug : undefined, + [customFontSizeAttributeName]: fontSizeObject && fontSizeObject.slug ? undefined : fontSizeValue + }); + }; + } + static getDerivedStateFromProps({ + attributes, + fontSizes + }, previousState) { + const didAttributesChange = (customFontSizeAttributeName, fontSizeAttributeName) => { + if (previousState[fontSizeAttributeName]) { + // If new font size is name compare with the previous slug. + if (attributes[fontSizeAttributeName]) { + return attributes[fontSizeAttributeName] !== previousState[fontSizeAttributeName].slug; + } + // If font size is not named, update when the font size value changes. + return previousState[fontSizeAttributeName].size !== attributes[customFontSizeAttributeName]; + } + // In this case we need to build the font size object. + return true; + }; + if (!Object.values(fontSizeAttributeNames).some(didAttributesChange)) { + return null; + } + const newState = Object.entries(fontSizeAttributeNames).filter(([key, value]) => didAttributesChange(value, key)).reduce((newStateAccumulator, [fontSizeAttributeName, customFontSizeAttributeName]) => { + const fontSizeAttributeValue = attributes[fontSizeAttributeName]; + const fontSizeObject = utils_getFontSize(fontSizes, fontSizeAttributeValue, attributes[customFontSizeAttributeName]); + newStateAccumulator[fontSizeAttributeName] = { + ...fontSizeObject, + class: getFontSizeClass(fontSizeAttributeValue) + }; + return newStateAccumulator; + }, {}); + return { + ...previousState, + ...newState + }; + } + render() { + return (0,external_React_.createElement)(WrappedComponent, { + ...this.props, + fontSizes: undefined, + ...this.state, + ...this.setters + }); + } + }; + }]), 'withFontSizes'); +}); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/index.js + + + + + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/align-left.js + +/** + * WordPress dependencies + */ + +const alignLeft = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M13 5.5H4V4h9v1.5Zm7 7H4V11h16v1.5Zm-7 7H4V18h9v1.5Z" +})); +/* harmony default export */ var align_left = (alignLeft); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/align-center.js + +/** + * WordPress dependencies + */ + +const align_center_alignCenter = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M7.5 5.5h9V4h-9v1.5Zm-3.5 7h16V11H4v1.5Zm3.5 7h9V18h-9v1.5Z" +})); +/* harmony default export */ var align_center = (align_center_alignCenter); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/align-right.js + +/** + * WordPress dependencies + */ + +const alignRight = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M11.111 5.5H20V4h-8.889v1.5ZM4 12.5h16V11H4v1.5Zm7.111 7H20V18h-8.889v1.5Z" +})); +/* harmony default export */ var align_right = (alignRight); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/alignment-control/ui.js + +/** + * WordPress dependencies + */ + + + +const DEFAULT_ALIGNMENT_CONTROLS = [{ + icon: align_left, + title: (0,external_wp_i18n_namespaceObject.__)('Align text left'), + align: 'left' +}, { + icon: align_center, + title: (0,external_wp_i18n_namespaceObject.__)('Align text center'), + align: 'center' +}, { + icon: align_right, + title: (0,external_wp_i18n_namespaceObject.__)('Align text right'), + align: 'right' +}]; +const ui_POPOVER_PROPS = { + placement: 'bottom-start' +}; +function AlignmentUI({ + value, + onChange, + alignmentControls = DEFAULT_ALIGNMENT_CONTROLS, + label = (0,external_wp_i18n_namespaceObject.__)('Align text'), + describedBy = (0,external_wp_i18n_namespaceObject.__)('Change text alignment'), + isCollapsed = true, + isToolbar +}) { + function applyOrUnset(align) { + return () => onChange(value === align ? undefined : align); + } + const activeAlignment = alignmentControls.find(control => control.align === value); + function setIcon() { + if (activeAlignment) return activeAlignment.icon; + return (0,external_wp_i18n_namespaceObject.isRTL)() ? align_right : align_left; + } + const UIComponent = isToolbar ? external_wp_components_namespaceObject.ToolbarGroup : external_wp_components_namespaceObject.ToolbarDropdownMenu; + const extraProps = isToolbar ? { + isCollapsed + } : { + toggleProps: { + describedBy + }, + popoverProps: ui_POPOVER_PROPS + }; + return (0,external_React_.createElement)(UIComponent, { + icon: setIcon(), + label: label, + controls: alignmentControls.map(control => { + const { + align + } = control; + const isActive = value === align; + return { + ...control, + isActive, + role: isCollapsed ? 'menuitemradio' : undefined, + onClick: applyOrUnset(align) + }; + }), + ...extraProps + }); +} +/* harmony default export */ var alignment_control_ui = (AlignmentUI); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/alignment-control/index.js + +/** + * Internal dependencies + */ + +const AlignmentControl = props => { + return (0,external_React_.createElement)(alignment_control_ui, { + ...props, + isToolbar: false + }); +}; +const AlignmentToolbar = props => { + return (0,external_React_.createElement)(alignment_control_ui, { + ...props, + isToolbar: true + }); +}; + +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/alignment-control/README.md + */ + + +// EXTERNAL MODULE: ./node_modules/remove-accents/index.js +var remove_accents = __webpack_require__(4793); +var remove_accents_default = /*#__PURE__*/__webpack_require__.n(remove_accents); +;// CONCATENATED MODULE: ./node_modules/lower-case/dist.es2015/index.js +/** + * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt + */ +var SUPPORTED_LOCALE = { + tr: { + regexp: /\u0130|\u0049|\u0049\u0307/g, + map: { + İ: "\u0069", + I: "\u0131", + İ: "\u0069", + }, + }, + az: { + regexp: /\u0130/g, + map: { + İ: "\u0069", + I: "\u0131", + İ: "\u0069", + }, + }, + lt: { + regexp: /\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g, + map: { + I: "\u0069\u0307", + J: "\u006A\u0307", + Į: "\u012F\u0307", + Ì: "\u0069\u0307\u0300", + Í: "\u0069\u0307\u0301", + Ĩ: "\u0069\u0307\u0303", + }, + }, +}; +/** + * Localized lower case. + */ +function localeLowerCase(str, locale) { + var lang = SUPPORTED_LOCALE[locale.toLowerCase()]; + if (lang) + return lowerCase(str.replace(lang.regexp, function (m) { return lang.map[m]; })); + return lowerCase(str); +} +/** + * Lower case as a function. + */ +function lowerCase(str) { + return str.toLowerCase(); +} + +;// CONCATENATED MODULE: ./node_modules/no-case/dist.es2015/index.js + +// Support camel case ("camelCase" -> "camel Case" and "CAMELCase" -> "CAMEL Case"). +var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g]; +// Remove all non-word characters. +var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi; +/** + * Normalize the string into something other libraries can manipulate easier. + */ +function noCase(input, options) { + if (options === void 0) { options = {}; } + var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? " " : _d; + var result = dist_es2015_replace(dist_es2015_replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0"); + var start = 0; + var end = result.length; + // Trim the delimiter from around the output string. + while (result.charAt(start) === "\0") + start++; + while (result.charAt(end - 1) === "\0") + end--; + // Transform each token independently. + return result.slice(start, end).split("\0").map(transform).join(delimiter); +} +/** + * Replace `re` in the input string with the replacement value. + */ +function dist_es2015_replace(input, re, value) { + if (re instanceof RegExp) + return input.replace(re, value); + return re.reduce(function (input, re) { return input.replace(re, value); }, input); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/search-items.js +/** + * External dependencies + */ + + + +// Default search helpers. +const defaultGetName = item => item.name || ''; +const defaultGetTitle = item => item.title; +const defaultGetDescription = item => item.description || ''; +const defaultGetKeywords = item => item.keywords || []; +const defaultGetCategory = item => item.category; +const defaultGetCollection = () => null; + +/** + * Extracts words from an input string. + * + * @param {string} input The input string. + * + * @return {Array} Words, extracted from the input string. + */ +function extractWords(input = '') { + return noCase(input, { + splitRegexp: [/([\p{Ll}\p{Lo}\p{N}])([\p{Lu}\p{Lt}])/gu, + // One lowercase or digit, followed by one uppercase. + /([\p{Lu}\p{Lt}])([\p{Lu}\p{Lt}][\p{Ll}\p{Lo}])/gu // One uppercase followed by one uppercase and one lowercase. + ], + + stripRegexp: /(\p{C}|\p{P}|\p{S})+/giu // Anything that's not a punctuation, symbol or control/format character. + }).split(' ').filter(Boolean); +} + +/** + * Sanitizes the search input string. + * + * @param {string} input The search input to normalize. + * + * @return {string} The normalized search input. + */ +function normalizeSearchInput(input = '') { + // Disregard diacritics. + // Input: "média" + input = remove_accents_default()(input); + + // Accommodate leading slash, matching autocomplete expectations. + // Input: "/media" + input = input.replace(/^\//, ''); + + // Lowercase. + // Input: "MEDIA" + input = input.toLowerCase(); + return input; +} + +/** + * Converts the search term into a list of normalized terms. + * + * @param {string} input The search term to normalize. + * + * @return {string[]} The normalized list of search terms. + */ +const getNormalizedSearchTerms = (input = '') => { + return extractWords(normalizeSearchInput(input)); +}; +const removeMatchingTerms = (unmatchedTerms, unprocessedTerms) => { + return unmatchedTerms.filter(term => !getNormalizedSearchTerms(unprocessedTerms).some(unprocessedTerm => unprocessedTerm.includes(term))); +}; +const searchBlockItems = (items, categories, collections, searchInput) => { + const normalizedSearchTerms = getNormalizedSearchTerms(searchInput); + if (normalizedSearchTerms.length === 0) { + return items; + } + const config = { + getCategory: item => categories.find(({ + slug + }) => slug === item.category)?.title, + getCollection: item => collections[item.name.split('/')[0]]?.title + }; + return searchItems(items, searchInput, config); +}; + +/** + * Filters an item list given a search term. + * + * @param {Array} items Item list + * @param {string} searchInput Search input. + * @param {Object} config Search Config. + * + * @return {Array} Filtered item list. + */ +const searchItems = (items = [], searchInput = '', config = {}) => { + const normalizedSearchTerms = getNormalizedSearchTerms(searchInput); + if (normalizedSearchTerms.length === 0) { + return items; + } + const rankedItems = items.map(item => { + return [item, getItemSearchRank(item, searchInput, config)]; + }).filter(([, rank]) => rank > 0); + rankedItems.sort(([, rank1], [, rank2]) => rank2 - rank1); + return rankedItems.map(([item]) => item); +}; + +/** + * Get the search rank for a given item and a specific search term. + * The better the match, the higher the rank. + * If the rank equals 0, it should be excluded from the results. + * + * @param {Object} item Item to filter. + * @param {string} searchTerm Search term. + * @param {Object} config Search Config. + * + * @return {number} Search Rank. + */ +function getItemSearchRank(item, searchTerm, config = {}) { + const { + getName = defaultGetName, + getTitle = defaultGetTitle, + getDescription = defaultGetDescription, + getKeywords = defaultGetKeywords, + getCategory = defaultGetCategory, + getCollection = defaultGetCollection + } = config; + const name = getName(item); + const title = getTitle(item); + const description = getDescription(item); + const keywords = getKeywords(item); + const category = getCategory(item); + const collection = getCollection(item); + const normalizedSearchInput = normalizeSearchInput(searchTerm); + const normalizedTitle = normalizeSearchInput(title); + let rank = 0; + + // Prefers exact matches + // Then prefers if the beginning of the title matches the search term + // name, keywords, categories, collection, variations match come later. + if (normalizedSearchInput === normalizedTitle) { + rank += 30; + } else if (normalizedTitle.startsWith(normalizedSearchInput)) { + rank += 20; + } else { + const terms = [name, title, description, ...keywords, category, collection].join(' '); + const normalizedSearchTerms = extractWords(normalizedSearchInput); + const unmatchedTerms = removeMatchingTerms(normalizedSearchTerms, terms); + if (unmatchedTerms.length === 0) { + rank += 10; + } + } + + // Give a better rank to "core" namespaced items. + if (rank !== 0 && name.startsWith('core/')) { + const isCoreBlockVariation = name !== item.id; + // Give a bit better rank to "core" blocks over "core" block variations. + rank += isCoreBlockVariation ? 1 : 2; + } + return rank; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-block-types-state.js +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +/** + * Retrieves the block types inserter state. + * + * @param {string=} rootClientId Insertion's root client ID. + * @param {Function} onInsert function called when inserter a list of blocks. + * @return {Array} Returns the block types state. (block types, categories, collections, onSelect handler) + */ +const useBlockTypesState = (rootClientId, onInsert) => { + const [items] = (0,external_wp_data_namespaceObject.useSelect)(select => [select(store).getInserterItems(rootClientId)], [rootClientId]); + const [categories, collections] = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getCategories, + getCollections + } = select(external_wp_blocks_namespaceObject.store); + return [getCategories(), getCollections()]; + }, []); + const onSelectItem = (0,external_wp_element_namespaceObject.useCallback)(({ + name, + initialAttributes, + innerBlocks, + syncStatus, + content + }, shouldFocusBlock) => { + const insertedBlock = syncStatus === 'unsynced' ? (0,external_wp_blocks_namespaceObject.parse)(content, { + __unstableSkipMigrationLogs: true + }) : (0,external_wp_blocks_namespaceObject.createBlock)(name, initialAttributes, (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(innerBlocks)); + onInsert(insertedBlock, undefined, shouldFocusBlock); + }, [onInsert]); + return [items, categories, collections, onSelectItem]; +}; +/* harmony default export */ var use_block_types_state = (useBlockTypesState); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/order-inserter-block-items.js +/** @typedef {import('../store/selectors').WPEditorInserterItem} WPEditorInserterItem */ + +/** + * Helper function to order inserter block items according to a provided array of prioritized blocks. + * + * @param {WPEditorInserterItem[]} items The array of editor inserter block items to be sorted. + * @param {string[]} priority The array of block names to be prioritized. + * @return {WPEditorInserterItem[]} The sorted array of editor inserter block items. + */ +const orderInserterBlockItems = (items, priority) => { + if (!priority) { + return items; + } + items.sort(({ + id: aName + }, { + id: bName + }) => { + // Sort block items according to `priority`. + let aIndex = priority.indexOf(aName); + let bIndex = priority.indexOf(bName); + // All other block items should come after that. + if (aIndex < 0) aIndex = priority.length; + if (bIndex < 0) bIndex = priority.length; + return aIndex - bIndex; + }); + return items; +}; + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/autocompleters/block.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + + +const block_noop = () => {}; +const SHOWN_BLOCK_TYPES = 9; + +/** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */ + +/** + * Creates a blocks repeater for replacing the current block with a selected block type. + * + * @return {WPCompleter} A blocks completer. + */ +function createBlockCompleter() { + return { + name: 'blocks', + className: 'block-editor-autocompleters__block', + triggerPrefix: '/', + useItems(filterValue) { + const { + rootClientId, + selectedBlockName, + prioritizedBlocks + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getSelectedBlockClientId, + getBlockName, + getBlockListSettings, + getBlockRootClientId + } = select(store); + const selectedBlockClientId = getSelectedBlockClientId(); + const _rootClientId = getBlockRootClientId(selectedBlockClientId); + return { + selectedBlockName: selectedBlockClientId ? getBlockName(selectedBlockClientId) : null, + rootClientId: _rootClientId, + prioritizedBlocks: getBlockListSettings(_rootClientId)?.prioritizedInserterBlocks + }; + }, []); + const [items, categories, collections] = use_block_types_state(rootClientId, block_noop); + const filteredItems = (0,external_wp_element_namespaceObject.useMemo)(() => { + const initialFilteredItems = !!filterValue.trim() ? searchBlockItems(items, categories, collections, filterValue) : orderInserterBlockItems(orderBy(items, 'frecency', 'desc'), prioritizedBlocks); + return initialFilteredItems.filter(item => item.name !== selectedBlockName).slice(0, SHOWN_BLOCK_TYPES); + }, [filterValue, selectedBlockName, items, categories, collections, prioritizedBlocks]); + const options = (0,external_wp_element_namespaceObject.useMemo)(() => filteredItems.map(blockItem => { + const { + title, + icon, + isDisabled + } = blockItem; + return { + key: `block-${blockItem.id}`, + value: blockItem, + label: (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(block_icon, { + key: "icon", + icon: icon, + showColors: true + }), title), + isDisabled + }; + }), [filteredItems]); + return [options]; + }, + allowContext(before, after) { + return !(/\S/.test(before) || /\S/.test(after)); + }, + getOptionCompletion(inserterItem) { + const { + name, + initialAttributes, + innerBlocks, + syncStatus, + content + } = inserterItem; + return { + action: 'replace', + value: syncStatus === 'unsynced' ? (0,external_wp_blocks_namespaceObject.parse)(content, { + __unstableSkipMigrationLogs: true + }) : (0,external_wp_blocks_namespaceObject.createBlock)(name, initialAttributes, (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(innerBlocks)) + }; + } + }; +} + +/** + * Creates a blocks repeater for replacing the current block with a selected block type. + * + * @return {WPCompleter} A blocks completer. + */ +/* harmony default export */ var block = (createBlockCompleter()); + +;// CONCATENATED MODULE: external ["wp","apiFetch"] +var external_wp_apiFetch_namespaceObject = window["wp"]["apiFetch"]; +var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_namespaceObject); +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post.js + +/** + * WordPress dependencies + */ + +const post = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "m7.3 9.7 1.4 1.4c.2-.2.3-.3.4-.5 0 0 0-.1.1-.1.3-.5.4-1.1.3-1.6L12 7 9 4 7.2 6.5c-.6-.1-1.1 0-1.6.3 0 0-.1 0-.1.1-.3.1-.4.2-.6.4l1.4 1.4L4 11v1h1l2.3-2.3zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z" +})); +/* harmony default export */ var library_post = (post); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/autocompleters/link.js + +/** + * WordPress dependencies + */ +// Disable Reason: Needs to be refactored. +// eslint-disable-next-line no-restricted-imports + + + +const SHOWN_SUGGESTIONS = 10; + +/** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */ + +/** + * Creates a suggestion list for links to posts or pages. + * + * @return {WPCompleter} A links completer. + */ +function createLinkCompleter() { + return { + name: 'links', + className: 'block-editor-autocompleters__link', + triggerPrefix: '[[', + options: async letters => { + let options = await external_wp_apiFetch_default()({ + path: (0,external_wp_url_namespaceObject.addQueryArgs)('/wp/v2/search', { + per_page: SHOWN_SUGGESTIONS, + search: letters, + type: 'post', + order_by: 'menu_order' + }) + }); + options = options.filter(option => option.title !== ''); + return options; + }, + getOptionKeywords(item) { + const expansionWords = item.title.split(/\s+/); + return [...expansionWords]; + }, + getOptionLabel(item) { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(build_module_icon, { + key: "icon", + icon: item.subtype === 'page' ? library_page : library_post + }), item.title); + }, + getOptionCompletion(item) { + return (0,external_React_.createElement)("a", { + href: item.url + }, item.title); + } + }; +} + +/** + * Creates a suggestion list for links to posts or pages.. + * + * @return {WPCompleter} A link completer. + */ +/* harmony default export */ var autocompleters_link = (createLinkCompleter()); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/autocomplete/index.js + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + +/** + * Shared reference to an empty array for cases where it is important to avoid + * returning a new array reference on every invocation. + * + * @type {Array} + */ +const autocomplete_EMPTY_ARRAY = []; +function useCompleters({ + completers = autocomplete_EMPTY_ARRAY +}) { + const { + name + } = useBlockEditContext(); + return (0,external_wp_element_namespaceObject.useMemo)(() => { + let filteredCompleters = [...completers, autocompleters_link]; + if (name === (0,external_wp_blocks_namespaceObject.getDefaultBlockName)() || (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, '__experimentalSlashInserter', false)) { + filteredCompleters = [...filteredCompleters, block]; + } + if ((0,external_wp_hooks_namespaceObject.hasFilter)('editor.Autocomplete.completers')) { + // Provide copies so filters may directly modify them. + if (filteredCompleters === completers) { + filteredCompleters = filteredCompleters.map(completer => ({ + ...completer + })); + } + filteredCompleters = (0,external_wp_hooks_namespaceObject.applyFilters)('editor.Autocomplete.completers', filteredCompleters, name); + } + return filteredCompleters; + }, [completers, name]); +} +function useBlockEditorAutocompleteProps(props) { + return (0,external_wp_components_namespaceObject.__unstableUseAutocompleteProps)({ + ...props, + completers: useCompleters(props) + }); +} + +/** + * Wrap the default Autocomplete component with one that supports a filter hook + * for customizing its list of autocompleters. + * + * @type {import('react').FC} + */ +function BlockEditorAutocomplete(props) { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Autocomplete, { + ...props, + completers: useCompleters(props) + }); +} + +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/autocomplete/README.md + */ +/* harmony default export */ var autocomplete = (BlockEditorAutocomplete); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/fullscreen.js + +/** + * WordPress dependencies + */ + +const fullscreen = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M6 4a2 2 0 0 0-2 2v3h1.5V6a.5.5 0 0 1 .5-.5h3V4H6Zm3 14.5H6a.5.5 0 0 1-.5-.5v-3H4v3a2 2 0 0 0 2 2h3v-1.5Zm6 1.5v-1.5h3a.5.5 0 0 0 .5-.5v-3H20v3a2 2 0 0 1-2 2h-3Zm3-16a2 2 0 0 1 2 2v3h-1.5V6a.5.5 0 0 0-.5-.5h-3V4h3Z" +})); +/* harmony default export */ var library_fullscreen = (fullscreen); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-full-height-alignment-control/index.js + +/** + * WordPress dependencies + */ + + + +function BlockFullHeightAlignmentControl({ + isActive, + label = (0,external_wp_i18n_namespaceObject.__)('Toggle full height'), + onToggle, + isDisabled +}) { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + isActive: isActive, + icon: library_fullscreen, + label: label, + onClick: () => onToggle(!isActive), + disabled: isDisabled + }); +} +/* harmony default export */ var block_full_height_alignment_control = (BlockFullHeightAlignmentControl); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-alignment-matrix-control/index.js + +/** + * WordPress dependencies + */ + + + +const block_alignment_matrix_control_noop = () => {}; +function BlockAlignmentMatrixControl(props) { + const { + label = (0,external_wp_i18n_namespaceObject.__)('Change matrix alignment'), + onChange = block_alignment_matrix_control_noop, + value = 'center', + isDisabled + } = props; + const icon = (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalAlignmentMatrixControl.Icon, { + value: value + }); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Dropdown, { + popoverProps: { + placement: 'bottom-start' + }, + renderToggle: ({ + onToggle, + isOpen + }) => { + const openOnArrowDown = event => { + if (!isOpen && event.keyCode === external_wp_keycodes_namespaceObject.DOWN) { + event.preventDefault(); + onToggle(); + } + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + onClick: onToggle, + "aria-haspopup": "true", + "aria-expanded": isOpen, + onKeyDown: openOnArrowDown, + label: label, + icon: icon, + showTooltip: true, + disabled: isDisabled + }); + }, + renderContent: () => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalAlignmentMatrixControl, { + hasFocusBorder: false, + onChange: onChange, + value: value + }) + }); +} +/* harmony default export */ var block_alignment_matrix_control = (BlockAlignmentMatrixControl); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-title/use-block-display-title.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +/** + * Returns the block's configured title as a string, or empty if the title + * cannot be determined. + * + * @example + * + * ```js + * useBlockDisplayTitle( { clientId: 'afd1cb17-2c08-4e7a-91be-007ba7ddc3a1', maximumLength: 17 } ); + * ``` + * + * @param {Object} props + * @param {string} props.clientId Client ID of block. + * @param {number|undefined} props.maximumLength The maximum length that the block title string may be before truncated. + * @param {string|undefined} props.context The context to pass to `getBlockLabel`. + * @return {?string} Block title. + */ +function useBlockDisplayTitle({ + clientId, + maximumLength, + context +}) { + const { + attributes, + name, + reusableBlockTitle + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + if (!clientId) { + return {}; + } + const { + getBlockName, + getBlockAttributes, + __experimentalGetReusableBlockTitle + } = select(store); + const blockName = getBlockName(clientId); + if (!blockName) { + return {}; + } + const isReusable = (0,external_wp_blocks_namespaceObject.isReusableBlock)((0,external_wp_blocks_namespaceObject.getBlockType)(blockName)); + return { + attributes: getBlockAttributes(clientId), + name: blockName, + reusableBlockTitle: isReusable && __experimentalGetReusableBlockTitle(getBlockAttributes(clientId).ref) + }; + }, [clientId]); + const blockInformation = useBlockDisplayInformation(clientId); + if (!name || !blockInformation) { + return null; + } + const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(name); + const blockLabel = blockType ? (0,external_wp_blocks_namespaceObject.__experimentalGetBlockLabel)(blockType, attributes, context) : null; + const label = reusableBlockTitle || blockLabel; + // Label will fallback to the title if no label is defined for the current + // label context. If the label is defined we prioritize it over a + // possible block variation title match. + const blockTitle = label && label !== blockType.title ? label : blockInformation.title; + if (maximumLength && maximumLength > 0 && blockTitle.length > maximumLength) { + const omission = '...'; + return blockTitle.slice(0, maximumLength - omission.length) + omission; + } + return blockTitle; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-title/index.js +/** + * Internal dependencies + */ + + + +/** + * Renders the block's configured title as a string, or empty if the title + * cannot be determined. + * + * @example + * + * ```jsx + * + * ``` + * + * @param {Object} props + * @param {string} props.clientId Client ID of block. + * @param {number|undefined} props.maximumLength The maximum length that the block title string may be before truncated. + * @param {string|undefined} props.context The context to pass to `getBlockLabel`. + * + * @return {JSX.Element} Block title. + */ +function BlockTitle({ + clientId, + maximumLength, + context +}) { + return useBlockDisplayTitle({ + clientId, + maximumLength, + context + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-breadcrumb/index.js + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + +/** + * Block breadcrumb component, displaying the hierarchy of the current block selection as a breadcrumb. + * + * @param {Object} props Component props. + * @param {string} props.rootLabelText Translated label for the root element of the breadcrumb trail. + * @return {Element} Block Breadcrumb. + */ +function BlockBreadcrumb({ + rootLabelText +}) { + const { + selectBlock, + clearSelectedBlock + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const { + clientId, + parents, + hasSelection + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getSelectionStart, + getSelectedBlockClientId, + getEnabledBlockParents + } = unlock(select(store)); + const selectedBlockClientId = getSelectedBlockClientId(); + return { + parents: getEnabledBlockParents(selectedBlockClientId), + clientId: selectedBlockClientId, + hasSelection: !!getSelectionStart().clientId + }; + }, []); + const rootLabel = rootLabelText || (0,external_wp_i18n_namespaceObject.__)('Document'); + + /* + * Disable reason: The `list` ARIA role is redundant but + * Safari+VoiceOver won't announce the list otherwise. + */ + /* eslint-disable jsx-a11y/no-redundant-roles */ + return (0,external_React_.createElement)("ul", { + className: "block-editor-block-breadcrumb", + role: "list", + "aria-label": (0,external_wp_i18n_namespaceObject.__)('Block breadcrumb') + }, (0,external_React_.createElement)("li", { + className: !hasSelection ? 'block-editor-block-breadcrumb__current' : undefined, + "aria-current": !hasSelection ? 'true' : undefined + }, hasSelection && (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + className: "block-editor-block-breadcrumb__button", + variant: "tertiary", + onClick: clearSelectedBlock + }, rootLabel), !hasSelection && rootLabel, !!clientId && (0,external_React_.createElement)(build_module_icon, { + icon: chevron_right_small, + className: "block-editor-block-breadcrumb__separator" + })), parents.map(parentClientId => (0,external_React_.createElement)("li", { + key: parentClientId + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + className: "block-editor-block-breadcrumb__button", + variant: "tertiary", + onClick: () => selectBlock(parentClientId) + }, (0,external_React_.createElement)(BlockTitle, { + clientId: parentClientId, + maximumLength: 35 + })), (0,external_React_.createElement)(build_module_icon, { + icon: chevron_right_small, + className: "block-editor-block-breadcrumb__separator" + }))), !!clientId && (0,external_React_.createElement)("li", { + className: "block-editor-block-breadcrumb__current", + "aria-current": "true" + }, (0,external_React_.createElement)(BlockTitle, { + clientId: clientId, + maximumLength: 35 + }))) + /* eslint-enable jsx-a11y/no-redundant-roles */; +} + +/* harmony default export */ var block_breadcrumb = (BlockBreadcrumb); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-content-overlay/index.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + +function useBlockOverlayActive(clientId) { + return (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + __unstableHasActiveBlockOverlayActive + } = select(store); + return __unstableHasActiveBlockOverlayActive(clientId); + }, [clientId]); +} + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-context/index.js /** @@ -16491,7 +35948,7 @@ function BlockContextProvider({ ...context, ...value }), [context, value]); - return (0,external_wp_element_namespaceObject.createElement)(block_context_Context.Provider, { + return (0,external_React_.createElement)(block_context_Context.Provider, { value: nextValue, children: children }); @@ -16539,7 +35996,7 @@ const Edit = props => { // with which a block is displayed. If `blockType` is valid, assign // them preferentially as the render value for the block. const Component = blockType.edit || blockType.save; - return (0,external_wp_element_namespaceObject.createElement)(Component, { + return (0,external_React_.createElement)(Component, { ...props }); }; @@ -16560,7 +36017,7 @@ const EditWithGeneratedProps = props => { return null; } if (blockType.apiVersion > 1) { - return (0,external_wp_element_namespaceObject.createElement)(EditWithFilters, { + return (0,external_React_.createElement)(EditWithFilters, { ...props, context: context }); @@ -16569,13 +36026,13 @@ const EditWithGeneratedProps = props => { // Generate a class name for the block's editable form. const generatedClassName = (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockType, 'className', true) ? (0,external_wp_blocks_namespaceObject.getBlockDefaultClassName)(name) : null; const className = classnames_default()(generatedClassName, attributes.className, props.className); - return (0,external_wp_element_namespaceObject.createElement)(EditWithFilters, { + return (0,external_React_.createElement)(EditWithFilters, { ...props, context: context, className: className }); }; -/* harmony default export */ var edit = (EditWithGeneratedProps); +/* harmony default export */ var block_edit_edit = (EditWithGeneratedProps); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/index.js @@ -16599,7 +36056,14 @@ const EditWithGeneratedProps = props => { * @return {Object} Block edit context */ -function BlockEdit(props) { +function BlockEdit({ + mayDisplayControls, + mayDisplayParentControls, + blockEditingMode, + // The remaining props are passed through the BlockEdit filters and are thus + // public API! + ...props +}) { const { name, isSelected, @@ -16611,20 +36075,24 @@ function BlockEdit(props) { layout = null } = attributes; const layoutSupport = (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, 'layout', false) || (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, '__experimentalLayout', false); - const context = { - name, - isSelected, - clientId, - layout: layoutSupport ? layout : null, - __unstableLayoutClassNames - }; - return (0,external_wp_element_namespaceObject.createElement)(Provider + return (0,external_React_.createElement)(Provider // It is important to return the same object if props haven't // changed to avoid unnecessary rerenders. // See https://reactjs.org/docs/context.html#caveats. , { - value: (0,external_wp_element_namespaceObject.useMemo)(() => context, Object.values(context)) - }, (0,external_wp_element_namespaceObject.createElement)(edit, { + value: (0,external_wp_element_namespaceObject.useMemo)(() => ({ + name, + isSelected, + clientId, + layout: layoutSupport ? layout : null, + __unstableLayoutClassNames, + // We use symbols in favour of an __unstable prefix to avoid + // usage outside of the package (this context is exposed). + [mayDisplayControlsKey]: mayDisplayControls, + [mayDisplayParentControlsKey]: mayDisplayParentControls, + [blockEditingModeKey]: blockEditingMode + }), [name, isSelected, clientId, layoutSupport, layout, __unstableLayoutClassNames, mayDisplayControls, mayDisplayParentControls, blockEditingMode]) + }, (0,external_React_.createElement)(block_edit_edit, { ...props })); } @@ -16635,10 +36103,10 @@ function BlockEdit(props) { * WordPress dependencies */ -const moreVertical = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const moreVertical = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z" })); /* harmony default export */ var more_vertical = (moreVertical); @@ -16663,23 +36131,23 @@ function Warning({ children, secondaryActions }) { - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { style: { display: 'contents', all: 'initial' } - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: classnames_default()(className, 'block-editor-warning') - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-warning__contents" - }, (0,external_wp_element_namespaceObject.createElement)("p", { + }, (0,external_React_.createElement)("p", { className: "block-editor-warning__message" - }, children), (external_wp_element_namespaceObject.Children.count(actions) > 0 || secondaryActions) && (0,external_wp_element_namespaceObject.createElement)("div", { + }, children), (external_wp_element_namespaceObject.Children.count(actions) > 0 || secondaryActions) && (0,external_React_.createElement)("div", { className: "block-editor-warning__actions" - }, external_wp_element_namespaceObject.Children.count(actions) > 0 && external_wp_element_namespaceObject.Children.map(actions, (action, i) => (0,external_wp_element_namespaceObject.createElement)("span", { + }, external_wp_element_namespaceObject.Children.count(actions) > 0 && external_wp_element_namespaceObject.Children.map(actions, (action, i) => (0,external_React_.createElement)("span", { key: i, className: "block-editor-warning__action" - }, action)), secondaryActions && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DropdownMenu, { + }, action)), secondaryActions && (0,external_React_.createElement)(external_wp_components_namespaceObject.DropdownMenu, { className: "block-editor-warning__secondary", icon: more_vertical, label: (0,external_wp_i18n_namespaceObject.__)('More options'), @@ -16688,7 +36156,7 @@ function Warning({ className: 'block-editor-warning__dropdown' }, noIcons: true - }, () => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, null, secondaryActions.map((item, pos) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { + }, () => (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, null, secondaryActions.map((item, pos) => (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { onClick: item.onClick, key: pos }, item.title)))))))); @@ -16717,19 +36185,19 @@ function BlockView({ actionText, className }) { - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: className - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-block-compare__content" - }, (0,external_wp_element_namespaceObject.createElement)("h2", { + }, (0,external_React_.createElement)("h2", { className: "block-editor-block-compare__heading" - }, title), (0,external_wp_element_namespaceObject.createElement)("div", { + }, title), (0,external_React_.createElement)("div", { className: "block-editor-block-compare__html" - }, rawContent), (0,external_wp_element_namespaceObject.createElement)("div", { + }, rawContent), (0,external_React_.createElement)("div", { className: "block-editor-block-compare__preview edit-post-visual-editor" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.RawHTML, null, (0,external_wp_dom_namespaceObject.safeHTML)(renderedContent)))), (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)(external_wp_element_namespaceObject.RawHTML, null, (0,external_wp_dom_namespaceObject.safeHTML)(renderedContent)))), (0,external_React_.createElement)("div", { className: "block-editor-block-compare__action" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "secondary", tabIndex: "0", onClick: action @@ -16770,7 +36238,7 @@ function BlockCompare({ 'block-editor-block-compare__added': item.added, 'block-editor-block-compare__removed': item.removed }); - return (0,external_wp_element_namespaceObject.createElement)("span", { + return (0,external_React_.createElement)("span", { key: pos, className: classes }, item.value); @@ -16786,16 +36254,16 @@ function BlockCompare({ } const converted = getConvertedContent(convertor(block)); const difference = getDifference(block.originalContent, converted); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-block-compare__wrapper" - }, (0,external_wp_element_namespaceObject.createElement)(BlockView, { + }, (0,external_React_.createElement)(BlockView, { title: (0,external_wp_i18n_namespaceObject.__)('Current'), className: "block-editor-block-compare__current", action: onKeep, actionText: (0,external_wp_i18n_namespaceObject.__)('Convert to HTML'), rawContent: block.originalContent, renderedContent: block.originalContent - }), (0,external_wp_element_namespaceObject.createElement)(BlockView, { + }), (0,external_React_.createElement)(BlockView, { title: (0,external_wp_i18n_namespaceObject.__)('After Conversion'), className: "block-editor-block-compare__converted", action: onConvert, @@ -16884,20 +36352,20 @@ function BlockInvalidWarning({ title: (0,external_wp_i18n_namespaceObject.__)('Convert to Classic Block'), onClick: convert.toClassic }].filter(Boolean), [canInsertHTMLBlock, canInsertClassicBlock, convert]); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(warning, { - actions: [(0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(warning, { + actions: [(0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { key: "recover", onClick: convert.toRecoveredBlock, variant: "primary" }, (0,external_wp_i18n_namespaceObject.__)('Attempt Block Recovery'))], secondaryActions: secondaryActions - }, (0,external_wp_i18n_namespaceObject.__)('This block contains unexpected or invalid content.')), compare && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Modal, { + }, (0,external_wp_i18n_namespaceObject.__)('This block contains unexpected or invalid content.')), compare && (0,external_React_.createElement)(external_wp_components_namespaceObject.Modal, { title: // translators: Dialog title to fix block content (0,external_wp_i18n_namespaceObject.__)('Resolve Block'), onRequestClose: onCompareClose, className: "block-editor-block-compare" - }, (0,external_wp_element_namespaceObject.createElement)(block_compare, { + }, (0,external_React_.createElement)(block_compare, { block: block, onKeep: convert.toHTML, onConvert: convert.toBlocks, @@ -16917,7 +36385,7 @@ function BlockInvalidWarning({ * Internal dependencies */ -const block_crash_warning_warning = (0,external_wp_element_namespaceObject.createElement)(warning, { +const block_crash_warning_warning = (0,external_React_.createElement)(warning, { className: "block-editor-block-list__block-crash-warning" }, (0,external_wp_i18n_namespaceObject.__)('This block has encountered an error and cannot be previewed.')); /* harmony default export */ var block_crash_warning = (() => block_crash_warning_warning); @@ -16949,7 +36417,7 @@ class BlockCrashBoundary extends external_wp_element_namespaceObject.Component { /* harmony default export */ var block_crash_boundary = (BlockCrashBoundary); // EXTERNAL MODULE: ./node_modules/react-autosize-textarea/lib/index.js -var lib = __webpack_require__(773); +var react_autosize_textarea_lib = __webpack_require__(773); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block-html.js /** @@ -17004,7 +36472,7 @@ function BlockHTML({ (0,external_wp_element_namespaceObject.useEffect)(() => { setHtml((0,external_wp_blocks_namespaceObject.getBlockContent)(block)); }, [block]); - return (0,external_wp_element_namespaceObject.createElement)(lib/* default */.Z, { + return (0,external_React_.createElement)(react_autosize_textarea_lib/* default */.Z, { className: "block-editor-block-list__block-html-textarea", value: html, onBlur: onChange, @@ -17013,9 +36481,6 @@ function BlockHTML({ } /* harmony default export */ var block_html = (BlockHTML); -// EXTERNAL MODULE: external "React" -var external_React_ = __webpack_require__(9196); -var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); ;// CONCATENATED MODULE: ./node_modules/@react-spring/shared/dist/react-spring_shared.modern.mjs var __defProp = Object.defineProperty; var __export = (target, all) => { @@ -17193,7 +36658,7 @@ function eachSafely(values, each2) { } // src/helpers.ts -function noop() { +function react_spring_shared_modern_noop() { } var defineHidden = (obj, key, value) => Object.defineProperty(obj, key, { value, writable: true, configurable: true }); var is = { @@ -17246,7 +36711,7 @@ var createStringInterpolator; var to; var colors = null; var skipAnimation = false; -var willAdvance = noop; +var willAdvance = react_spring_shared_modern_noop; var react_spring_shared_modern_assign = (globals) => { if (globals.to) to = globals.to; @@ -17958,7 +37423,7 @@ function deprecateInterpolate() { ); } var warnDirectCall = once(console.warn); -function deprecateDirectCall() { +function react_spring_shared_modern_deprecateDirectCall() { warnDirectCall( `${react_spring_shared_modern_prefix}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions` ); @@ -18170,7 +37635,7 @@ var useIsMounted = () => { }; // src/hooks/useForceUpdate.ts -function useForceUpdate() { +function react_spring_shared_modern_useForceUpdate() { const update2 = (0,external_React_.useState)()[1]; const isMounted = useIsMounted(); return () => { @@ -18227,14 +37692,14 @@ function areInputsEqual(next, prev) { // src/hooks/useOnce.ts -var useOnce = (effect) => (0,external_React_.useEffect)(effect, emptyDeps); +var react_spring_shared_modern_useOnce = (effect) => (0,external_React_.useEffect)(effect, emptyDeps); var emptyDeps = []; // src/hooks/usePrev.ts -function usePrev(value) { - const prevRef = (0,external_React_.useRef)(); - (0,external_React_.useEffect)(() => { +function react_spring_shared_modern_usePrev(value) { + const prevRef = useRef4(); + useEffect4(() => { prevRef.current = value; }); return prevRef.current; @@ -18489,7 +37954,7 @@ var withAnimated = (Component, host) => { [givenRef] ); const [props, deps] = getAnimatedState(givenProps, host); - const forceUpdate = useForceUpdate(); + const forceUpdate = react_spring_shared_modern_useForceUpdate(); const callback = () => { const instance = instanceRef.current; if (hasInstance && !instance) { @@ -18516,7 +37981,7 @@ var withAnimated = (Component, host) => { }; }); (0,external_React_.useEffect)(callback, []); - useOnce(() => () => { + react_spring_shared_modern_useOnce(() => () => { const observer2 = observerRef.current; react_spring_shared_modern_each(observer2.deps, (dep) => removeFluidObserver(dep, observer2)); }); @@ -19809,7 +39274,7 @@ function createUpdate(props) { } function declareUpdate(props) { const update2 = createUpdate(props); - if (is.und(update2.default)) { + if (is5.und(update2.default)) { update2.default = getDefaultProps(update2); } return update2; @@ -20074,8 +39539,8 @@ async function flushUpdate(ctrl, props, isLoop) { props, state, actions: { - pause: noop, - resume: noop, + pause: react_spring_shared_modern_noop, + resume: react_spring_shared_modern_noop, start(props2, resolve) { if (cancel) { stopAsync(state, ctrl["_lastAsyncId"]); @@ -20117,11 +39582,11 @@ async function flushUpdate(ctrl, props, isLoop) { function getSprings(ctrl, props) { const springs = { ...ctrl.springs }; if (props) { - react_spring_shared_modern_each(toArray(props), (props2) => { - if (is.und(props2.keys)) { + each3(toArray3(props), (props2) => { + if (is6.und(props2.keys)) { props2 = createUpdate(props2); } - if (!is.obj(props2.to)) { + if (!is6.obj(props2.to)) { props2 = { ...props2, to: void 0 }; } prepareSprings(springs, props2, (key) => { @@ -20133,10 +39598,10 @@ function getSprings(ctrl, props) { return springs; } function setSprings(ctrl, springs) { - eachProp(springs, (spring, key) => { + eachProp4(springs, (spring, key) => { if (!ctrl.springs[key]) { ctrl.springs[key] = spring; - addFluidObserver(spring, ctrl); + addFluidObserver2(spring, ctrl); } }); } @@ -20195,8 +39660,8 @@ var SpringRef = () => { const SpringRef2 = function(props) { deprecateDirectCall(); const results = []; - react_spring_shared_modern_each(current, (ctrl, i) => { - if (is.und(props)) { + each4(current, (ctrl, i) => { + if (is7.und(props)) { results.push(ctrl.start()); } else { const update2 = _getProps(props, ctrl, i); @@ -20219,16 +39684,16 @@ var SpringRef = () => { current.splice(i, 1); }; SpringRef2.pause = function() { - react_spring_shared_modern_each(current, (ctrl) => ctrl.pause(...arguments)); + each4(current, (ctrl) => ctrl.pause(...arguments)); return this; }; SpringRef2.resume = function() { - react_spring_shared_modern_each(current, (ctrl) => ctrl.resume(...arguments)); + each4(current, (ctrl) => ctrl.resume(...arguments)); return this; }; SpringRef2.set = function(values) { - react_spring_shared_modern_each(current, (ctrl, i) => { - const update2 = is.fun(values) ? values(i, ctrl) : values; + each4(current, (ctrl, i) => { + const update2 = is7.fun(values) ? values(i, ctrl) : values; if (update2) { ctrl.set(update2); } @@ -20236,8 +39701,8 @@ var SpringRef = () => { }; SpringRef2.start = function(props) { const results = []; - react_spring_shared_modern_each(current, (ctrl, i) => { - if (is.und(props)) { + each4(current, (ctrl, i) => { + if (is7.und(props)) { results.push(ctrl.start()); } else { const update2 = this._getProps(props, ctrl, i); @@ -20249,15 +39714,15 @@ var SpringRef = () => { return results; }; SpringRef2.stop = function() { - react_spring_shared_modern_each(current, (ctrl) => ctrl.stop(...arguments)); + each4(current, (ctrl) => ctrl.stop(...arguments)); return this; }; SpringRef2.update = function(props) { - react_spring_shared_modern_each(current, (ctrl, i) => ctrl.update(this._getProps(props, ctrl, i))); + each4(current, (ctrl, i) => ctrl.update(this._getProps(props, ctrl, i))); return this; }; const _getProps = function(arg, ctrl, index) { - return is.fun(arg) ? arg(index, ctrl) : arg; + return is7.fun(arg) ? arg(index, ctrl) : arg; }; SpringRef2._getProps = _getProps; return SpringRef2; @@ -20265,16 +39730,16 @@ var SpringRef = () => { // src/hooks/useSprings.ts function useSprings(length, props, deps) { - const propsFn = is.fun(props) && props; + const propsFn = is8.fun(props) && props; if (propsFn && !deps) deps = []; - const ref = (0,external_React_.useMemo)( + const ref = useMemo( () => propsFn || arguments.length == 3 ? SpringRef() : void 0, [] ); - const layoutId = (0,external_React_.useRef)(0); + const layoutId = useRef(0); const forceUpdate = useForceUpdate(); - const state = (0,external_React_.useMemo)( + const state = useMemo( () => ({ ctrls: [], queue: [], @@ -20292,18 +39757,18 @@ function useSprings(length, props, deps) { }), [] ); - const ctrls = (0,external_React_.useRef)([...state.ctrls]); + const ctrls = useRef([...state.ctrls]); const updates = []; const prevLength = usePrev(length) || 0; - (0,external_React_.useMemo)(() => { - react_spring_shared_modern_each(ctrls.current.slice(length, prevLength), (ctrl) => { + useMemo(() => { + each5(ctrls.current.slice(length, prevLength), (ctrl) => { detachRefs(ctrl, ref); ctrl.stop(true); }); ctrls.current.length = length; declareUpdates(prevLength, length); }, [length]); - (0,external_React_.useMemo)(() => { + useMemo(() => { declareUpdates(0, Math.min(prevLength, length)); }, deps); function declareUpdates(startIndex, endIndex) { @@ -20316,18 +39781,18 @@ function useSprings(length, props, deps) { } } const springs = ctrls.current.map((ctrl, i) => getSprings(ctrl, updates[i])); - const context = (0,external_React_.useContext)(SpringContext); + const context = useContext2(SpringContext); const prevContext = usePrev(context); const hasContext = context !== prevContext && hasProps(context); - react_spring_shared_modern_useIsomorphicLayoutEffect(() => { + useIsomorphicLayoutEffect2(() => { layoutId.current++; state.ctrls = ctrls.current; const { queue } = state; if (queue.length) { state.queue = []; - react_spring_shared_modern_each(queue, (cb) => cb()); + each5(queue, (cb) => cb()); } - react_spring_shared_modern_each(ctrls.current, (ctrl, i) => { + each5(ctrls.current, (ctrl, i) => { ref?.add(ctrl); if (hasContext) { ctrl.start({ default: context }); @@ -20344,7 +39809,7 @@ function useSprings(length, props, deps) { }); }); useOnce(() => () => { - react_spring_shared_modern_each(state.ctrls, (ctrl) => ctrl.stop(true)); + each5(state.ctrls, (ctrl) => ctrl.stop(true)); }); const values = springs.map((x) => ({ ...x })); return ref ? [values, ref] : values; @@ -20352,7 +39817,7 @@ function useSprings(length, props, deps) { // src/hooks/useSpring.ts function useSpring(props, deps) { - const isFn = is.fun(props); + const isFn = is9.fun(props); const [[values], ref] = useSprings( 1, isFn ? props : [props], @@ -21363,18 +40828,21 @@ var animated = host.animated; /** - * Simple reducer used to increment a counter. - * - * @param {number} state Previous counter value. - * @return {number} New state value. + * Internal dependencies */ -const counterReducer = state => state + 1; -const getAbsolutePosition = element => { + + +/** + * If the block count exceeds the threshold, we disable the reordering animation + * to avoid laginess. + */ +const BLOCK_ANIMATION_THRESHOLD = 200; +function getAbsolutePosition(element) { return { top: element.offsetTop, left: element.offsetLeft }; -}; +} /** * Hook used to compute the styles required to move a div into a new position. @@ -21387,110 +40855,123 @@ const getAbsolutePosition = element => { * - It uses the "resetAnimation" flag to reset the animation * from the beginning in order to animate to the new destination point. * - * @param {Object} $1 Options - * @param {boolean} $1.isSelected Whether it's the current block or not. - * @param {boolean} $1.adjustScrolling Adjust the scroll position to the current block. - * @param {boolean} $1.enableAnimation Enable/Disable animation. - * @param {*} $1.triggerAnimationOnChange Variable used to trigger the animation if it changes. + * @param {Object} $1 Options + * @param {*} $1.triggerAnimationOnChange Variable used to trigger the animation if it changes. + * @param {string} $1.clientId */ function useMovingAnimation({ - isSelected, - adjustScrolling, - enableAnimation, - triggerAnimationOnChange + triggerAnimationOnChange, + clientId }) { const ref = (0,external_wp_element_namespaceObject.useRef)(); - const prefersReducedMotion = (0,external_wp_compose_namespaceObject.useReducedMotion)() || !enableAnimation; - const [triggeredAnimation, triggerAnimation] = (0,external_wp_element_namespaceObject.useReducer)(counterReducer, 0); - const [finishedAnimation, endAnimation] = (0,external_wp_element_namespaceObject.useReducer)(counterReducer, 0); - const [transform, setTransform] = (0,external_wp_element_namespaceObject.useState)({ - x: 0, - y: 0 - }); - const previous = (0,external_wp_element_namespaceObject.useMemo)(() => ref.current ? getAbsolutePosition(ref.current) : null, [triggerAnimationOnChange]); + const { + isTyping, + getGlobalBlockCount, + isBlockSelected, + isFirstMultiSelectedBlock, + isBlockMultiSelected, + isAncestorMultiSelected + } = (0,external_wp_data_namespaceObject.useSelect)(store); - // Calculate the previous position of the block relative to the viewport and - // return a function to maintain that position by scrolling. - const preserveScrollPosition = (0,external_wp_element_namespaceObject.useMemo)(() => { - if (!adjustScrolling || !ref.current) { - return () => {}; - } - const scrollContainer = (0,external_wp_dom_namespaceObject.getScrollContainer)(ref.current); - if (!scrollContainer) { - return () => {}; - } - const prevRect = ref.current.getBoundingClientRect(); - return () => { - const blockRect = ref.current.getBoundingClientRect(); - const diff = blockRect.top - prevRect.top; - if (diff) { - scrollContainer.scrollTop += diff; - } - }; - }, [triggerAnimationOnChange, adjustScrolling]); + // Whenever the trigger changes, we need to take a snapshot of the current + // position of the block to use it as a destination point for the animation. + const { + previous, + prevRect + } = (0,external_wp_element_namespaceObject.useMemo)(() => ({ + previous: ref.current && getAbsolutePosition(ref.current), + prevRect: ref.current && ref.current.getBoundingClientRect() + }), + // eslint-disable-next-line react-hooks/exhaustive-deps + [triggerAnimationOnChange]); (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { - if (triggeredAnimation) { - endAnimation(); - } - }, [triggeredAnimation]); - (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { - if (!previous) { + if (!previous || !ref.current) { return; } - if (prefersReducedMotion) { + const scrollContainer = (0,external_wp_dom_namespaceObject.getScrollContainer)(ref.current); + const isSelected = isBlockSelected(clientId); + const adjustScrolling = isSelected || isFirstMultiSelectedBlock(clientId); + function preserveScrollPosition() { + if (adjustScrolling && prevRect) { + const blockRect = ref.current.getBoundingClientRect(); + const diff = blockRect.top - prevRect.top; + if (diff) { + scrollContainer.scrollTop += diff; + } + } + } + + // We disable the animation if the user has a preference for reduced + // motion, if the user is typing (insertion by Enter), or if the block + // count exceeds the threshold (insertion caused all the blocks that + // follow to animate). + // To do: consider enableing the _moving_ animation even for large + // posts, while only disabling the _insertion_ animation? + const disableAnimation = window.matchMedia('(prefers-reduced-motion: reduce)').matches || isTyping() || getGlobalBlockCount() > BLOCK_ANIMATION_THRESHOLD; + if (disableAnimation) { // If the animation is disabled and the scroll needs to be adjusted, // just move directly to the final scroll position. preserveScrollPosition(); return; } + const isPartOfSelection = isSelected || isBlockMultiSelected(clientId) || isAncestorMultiSelected(clientId); + // Make sure the other blocks move under the selected block(s). + const zIndex = isPartOfSelection ? '1' : ''; + const controller = new Controller({ + x: 0, + y: 0, + config: { + mass: 5, + tension: 2000, + friction: 200 + }, + onChange({ + value + }) { + if (!ref.current) { + return; + } + let { + x, + y + } = value; + x = Math.round(x); + y = Math.round(y); + const finishedMoving = x === 0 && y === 0; + ref.current.style.transformOrigin = 'center center'; + ref.current.style.transform = finishedMoving ? null // Set to `null` to explicitly remove the transform. + : `translate3d(${x}px,${y}px,0)`; + ref.current.style.zIndex = zIndex; + preserveScrollPosition(); + } + }); ref.current.style.transform = undefined; const destination = getAbsolutePosition(ref.current); - triggerAnimation(); - setTransform({ - x: Math.round(previous.left - destination.left), - y: Math.round(previous.top - destination.top) - }); - }, [triggerAnimationOnChange]); - function onChange({ - value - }) { - if (!ref.current) { - return; - } - let { - x, - y - } = value; - x = Math.round(x); - y = Math.round(y); - const finishedMoving = x === 0 && y === 0; - ref.current.style.transformOrigin = 'center center'; - ref.current.style.transform = finishedMoving ? undefined : `translate3d(${x}px,${y}px,0)`; - ref.current.style.zIndex = isSelected ? '1' : ''; - preserveScrollPosition(); - } - useSpring({ - from: { - x: transform.x, - y: transform.y - }, - to: { + const x = Math.round(previous.left - destination.left); + const y = Math.round(previous.top - destination.top); + controller.start({ x: 0, - y: 0 - }, - reset: triggeredAnimation !== finishedAnimation, - config: { - mass: 5, - tension: 2000, - friction: 200 - }, - immediate: prefersReducedMotion, - onChange - }); + y: 0, + from: { + x, + y + } + }); + return () => { + controller.stop(); + }; + }, [previous, prevRect, clientId, isTyping, getGlobalBlockCount, isBlockSelected, isFirstMultiSelectedBlock, isBlockMultiSelected, isAncestorMultiSelected]); return ref; } /* harmony default export */ var use_moving_animation = (useMovingAnimation); +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/private-block-context.js +/** + * WordPress dependencies + */ + +const PrivateBlockContext = (0,external_wp_element_namespaceObject.createContext)({}); + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/dom.js const BLOCK_SELECTOR = '.block-editor-block-list__block'; const APPENDER_SELECTOR = '.block-list-appender'; @@ -21562,33 +41043,6 @@ function getBlockClientId(node) { /** @typedef {import('@wordpress/element').RefObject} RefObject */ -/** - * Returns the initial position if the block needs to be focussed, `undefined` - * otherwise. The initial position is either 0 (start) or -1 (end). - * - * @param {string} clientId Block client ID. - * - * @return {number} The initial position, either 0 (start) or -1 (end). - */ -function useInitialPosition(clientId) { - return (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSelectedBlocksInitialCaretPosition, - __unstableGetEditorMode, - isBlockSelected - } = select(store); - if (!isBlockSelected(clientId)) { - return; - } - if (__unstableGetEditorMode() !== 'edit') { - return; - } - - // If there's no initial position, return 0 to focus the start. - return getSelectedBlocksInitialCaretPosition(); - }, [clientId]); -} - /** * Transitions focus to the block or inner tabbable when the block becomes * selected and an initial position is set. @@ -21597,9 +41051,11 @@ function useInitialPosition(clientId) { * * @return {RefObject} React ref with the block element. */ -function useFocusFirstElement(clientId) { +function useFocusFirstElement({ + clientId, + initialPosition +}) { const ref = (0,external_wp_element_namespaceObject.useRef)(); - const initialPosition = useInitialPosition(clientId); const { isBlockSelected, isMultiSelecting @@ -21655,12 +41111,6 @@ function useFocusFirstElement(clientId) { * WordPress dependencies */ - - -/** - * Internal dependencies - */ - function listener(event) { if (event.defaultPrevented) { return; @@ -21670,17 +41120,13 @@ function listener(event) { event.currentTarget.classList[action]('is-hovered'); } -/** +/* * Adds `is-hovered` class when the block is hovered and in navigation or * outline mode. */ -function useIsHovered() { - const isEnabled = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSettings - } = select(store); - return getSettings().outlineMode; - }, []); +function useIsHovered({ + isEnabled +}) { return (0,external_wp_compose_namespaceObject.useRefEffect)(node => { if (isEnabled) { node.addEventListener('mouseout', listener); @@ -21696,188 +41142,6 @@ function useIsHovered() { }, [isEnabled]); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-block-class-names.js -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -/** - * Returns the class names used for the different states of the block. - * - * @param {string} clientId The block client ID. - * - * @return {string} The class names. - */ -function useBlockClassNames(clientId) { - return (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - isBlockBeingDragged, - isBlockHighlighted, - isBlockSelected, - isBlockMultiSelected, - getBlockName, - getSettings, - hasSelectedInnerBlock, - isTyping, - __unstableIsFullySelected, - __unstableSelectionHasUnmergeableBlock - } = select(store); - const { - outlineMode - } = getSettings(); - const isDragging = isBlockBeingDragged(clientId); - const isSelected = isBlockSelected(clientId); - const name = getBlockName(clientId); - const checkDeep = true; - // "ancestor" is the more appropriate label due to "deep" check. - const isAncestorOfSelectedBlock = hasSelectedInnerBlock(clientId, checkDeep); - const isMultiSelected = isBlockMultiSelected(clientId); - return classnames_default()({ - 'is-selected': isSelected, - 'is-highlighted': isBlockHighlighted(clientId), - 'is-multi-selected': isMultiSelected, - 'is-partially-selected': isMultiSelected && !__unstableIsFullySelected() && !__unstableSelectionHasUnmergeableBlock(), - 'is-reusable': (0,external_wp_blocks_namespaceObject.isReusableBlock)((0,external_wp_blocks_namespaceObject.getBlockType)(name)), - 'is-dragging': isDragging, - 'has-child-selected': isAncestorOfSelectedBlock, - 'remove-outline': isSelected && outlineMode && isTyping() - }); - }, [clientId]); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-block-default-class-name.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -/** - * Returns the default class name if the block is a light block and it supports - * `className`. - * - * @param {string} clientId The block client ID. - * - * @return {string} The class name, e.g. `wp-block-paragraph`. - */ -function useBlockDefaultClassName(clientId) { - return (0,external_wp_data_namespaceObject.useSelect)(select => { - const name = select(store).getBlockName(clientId); - const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(name); - const hasLightBlockWrapper = blockType?.apiVersion > 1; - if (!hasLightBlockWrapper) { - return; - } - return (0,external_wp_blocks_namespaceObject.getBlockDefaultClassName)(name); - }, [clientId]); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-block-custom-class-name.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -/** - * Returns the custom class name if the block is a light block. - * - * @param {string} clientId The block client ID. - * - * @return {string} The custom class name. - */ -function useBlockCustomClassName(clientId) { - // It's good for this to be a separate selector because it will be executed - // on every attribute change, while the other selectors are not re-evaluated - // as much. - return (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockName, - getBlockAttributes - } = select(store); - const attributes = getBlockAttributes(clientId); - if (!attributes?.className) { - return; - } - const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(getBlockName(clientId)); - const hasLightBlockWrapper = blockType?.apiVersion > 1; - if (!hasLightBlockWrapper) { - return; - } - return attributes.className; - }, [clientId]); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -/** - * Returns the class names used for block moving mode. - * - * @param {string} clientId The block client ID to insert above. - * - * @return {string} The class names. - */ -function useBlockMovingModeClassNames(clientId) { - return (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - hasBlockMovingClientId, - canInsertBlockType, - getBlockName, - getBlockRootClientId, - isBlockSelected - } = select(store); - - // The classes are only relevant for the selected block. Avoid - // re-rendering all blocks! - if (!isBlockSelected(clientId)) { - return; - } - const movingClientId = hasBlockMovingClientId(); - if (!movingClientId) { - return; - } - return classnames_default()('is-block-moving-mode', { - 'can-insert-moving-block': canInsertBlockType(getBlockName(movingClientId), getBlockRootClientId(clientId)) - }); - }, [clientId]); -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-focus-handler.js /** * WordPress dependencies @@ -21944,8 +41208,6 @@ function useFocusHandler(clientId) { }, [isBlockSelected, selectBlock]); } -;// CONCATENATED MODULE: external ["wp","keycodes"] -var external_wp_keycodes_namespaceObject = window["wp"]["keycodes"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js /** * WordPress dependencies @@ -21968,8 +41230,10 @@ var external_wp_keycodes_namespaceObject = window["wp"]["keycodes"]; * * @param {string} clientId Block client ID. */ -function useEventHandlers(clientId) { - const isSelected = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).isBlockSelected(clientId), [clientId]); +function useEventHandlers({ + clientId, + isSelected +}) { const { getBlockRootClientId, getBlockIndex @@ -22078,134 +41342,6 @@ function useNavModeExit(clientId) { }, [clientId, isNavigationMode, isBlockSelected, setNavigationMode]); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/provider/block-refs-provider.js - -/** - * WordPress dependencies - */ - -const BlockRefs = (0,external_wp_element_namespaceObject.createContext)({ - refs: new Map(), - callbacks: new Map() -}); -function BlockRefsProvider({ - children -}) { - const value = (0,external_wp_element_namespaceObject.useMemo)(() => ({ - refs: new Map(), - callbacks: new Map() - }), []); - return (0,external_wp_element_namespaceObject.createElement)(BlockRefs.Provider, { - value: value - }, children); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-block-refs.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -/** @typedef {import('@wordpress/element').RefCallback} RefCallback */ -/** @typedef {import('@wordpress/element').RefObject} RefObject */ - -/** - * Provides a ref to the BlockRefs context. - * - * @param {string} clientId The client ID of the element ref. - * - * @return {RefCallback} Ref callback. - */ -function useBlockRefProvider(clientId) { - const { - refs, - callbacks - } = (0,external_wp_element_namespaceObject.useContext)(BlockRefs); - const ref = (0,external_wp_element_namespaceObject.useRef)(); - (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { - refs.set(ref, clientId); - return () => { - refs.delete(ref); - }; - }, [clientId]); - return (0,external_wp_compose_namespaceObject.useRefEffect)(element => { - // Update the ref in the provider. - ref.current = element; - // Call any update functions. - callbacks.forEach((id, setElement) => { - if (clientId === id) { - setElement(element); - } - }); - }, [clientId]); -} - -/** - * Gets a ref pointing to the current block element. Continues to return a - * stable ref even if the block client ID changes. - * - * @param {string} clientId The client ID to get a ref for. - * - * @return {RefObject} A ref containing the element. - */ -function useBlockRef(clientId) { - const { - refs - } = (0,external_wp_element_namespaceObject.useContext)(BlockRefs); - const freshClientId = (0,external_wp_element_namespaceObject.useRef)(); - freshClientId.current = clientId; - // Always return an object, even if no ref exists for a given client ID, so - // that `current` works at a later point. - return (0,external_wp_element_namespaceObject.useMemo)(() => ({ - get current() { - let element = null; - - // Multiple refs may be created for a single block. Find the - // first that has an element set. - for (const [ref, id] of refs.entries()) { - if (id === freshClientId.current && ref.current) { - element = ref.current; - } - } - return element; - } - }), []); -} - -/** - * Return the element for a given client ID. Updates whenever the element - * changes, becomes available, or disappears. - * - * @param {string} clientId The client ID to an element for. - * - * @return {Element|null} The block's wrapper element. - */ -function useBlockElement(clientId) { - const { - callbacks - } = (0,external_wp_element_namespaceObject.useContext)(BlockRefs); - const ref = useBlockRef(clientId); - const [element, setElement] = (0,external_wp_element_namespaceObject.useState)(null); - (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { - if (!clientId) { - return; - } - callbacks.set(setElement, clientId); - return () => { - callbacks.delete(setElement); - }; - }, [clientId]); - return ref.current || element; -} - - - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-intersection-observer.js /** * WordPress dependencies @@ -22229,25 +41365,6 @@ function useIntersectionObserver() { }, [observer]); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-content-overlay/index.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - -function useBlockOverlayActive(clientId) { - return (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - __unstableHasActiveBlockOverlayActive - } = select(store); - return __unstableHasActiveBlockOverlayActive(clientId); - }, [clientId]); -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/index.js /** * External dependencies @@ -22263,7 +41380,6 @@ function useBlockOverlayActive(clientId) { - /** * Internal dependencies */ @@ -22278,19 +41394,6 @@ function useBlockOverlayActive(clientId) { - - - - - - - -/** - * If the block count exceeds the threshold, we disable the reordering animation - * to avoid laginess. - */ -const BLOCK_ANIMATION_THRESHOLD = 200; - /** * This hook is used to lightly mark an element as a block element. The element * should be the outermost element of a block. Call this hook and pass the @@ -22333,70 +41436,53 @@ const BLOCK_ANIMATION_THRESHOLD = 200; * * @return {Object} Props to pass to the element to mark as a block. */ -function useBlockProps(props = {}, { +function use_block_props_useBlockProps(props = {}, { __unstableIsHtml } = {}) { const { clientId, className, wrapperProps = {}, - isAligned - } = (0,external_wp_element_namespaceObject.useContext)(BlockListBlockContext); - const { + isAligned, index, mode, name, blockApiVersion, blockTitle, - isPartOfSelection, - adjustScrolling, - enableAnimation, - isSubtreeDisabled - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockAttributes, - getBlockIndex, - getBlockMode, - getBlockName, - isTyping, - getGlobalBlockCount, - isBlockSelected, - isBlockMultiSelected, - isAncestorMultiSelected, - isFirstMultiSelectedBlock, - isBlockSubtreeDisabled - } = unlock(select(store)); - const { - getActiveBlockVariation - } = select(external_wp_blocks_namespaceObject.store); - const isSelected = isBlockSelected(clientId); - const isPartOfMultiSelection = isBlockMultiSelected(clientId) || isAncestorMultiSelected(clientId); - const blockName = getBlockName(clientId); - const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockName); - const attributes = getBlockAttributes(clientId); - const match = getActiveBlockVariation(blockName, attributes); - return { - index: getBlockIndex(clientId), - mode: getBlockMode(clientId), - name: blockName, - blockApiVersion: blockType?.apiVersion || 1, - blockTitle: match?.title || blockType?.title, - isPartOfSelection: isSelected || isPartOfMultiSelection, - adjustScrolling: isSelected || isFirstMultiSelectedBlock(clientId), - enableAnimation: !isTyping() && getGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD, - isSubtreeDisabled: isBlockSubtreeDisabled(clientId) - }; - }, [clientId]); - const hasOverlay = useBlockOverlayActive(clientId); + isSelected, + isSubtreeDisabled, + isOutlineEnabled, + hasOverlay, + initialPosition, + blockEditingMode, + isHighlighted, + isMultiSelected, + isPartiallySelected, + isReusable, + isDragging, + hasChildSelected, + removeOutline, + isBlockMovingMode, + canInsertMovingBlock, + isEditingDisabled, + isTemporarilyEditingAsBlocks, + defaultClassName + } = (0,external_wp_element_namespaceObject.useContext)(PrivateBlockContext); // translators: %s: Type of block (i.e. Text, Image etc) const blockLabel = (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)('Block: %s'), blockTitle); const htmlSuffix = mode === 'html' && !__unstableIsHtml ? '-visual' : ''; - const mergedRefs = (0,external_wp_compose_namespaceObject.useMergeRefs)([props.ref, useFocusFirstElement(clientId), useBlockRefProvider(clientId), useFocusHandler(clientId), useEventHandlers(clientId), useNavModeExit(clientId), useIsHovered(), useIntersectionObserver(), use_moving_animation({ - isSelected: isPartOfSelection, - adjustScrolling, - enableAnimation, - triggerAnimationOnChange: index + const mergedRefs = (0,external_wp_compose_namespaceObject.useMergeRefs)([props.ref, useFocusFirstElement({ + clientId, + initialPosition + }), useBlockRefProvider(clientId), useFocusHandler(clientId), useEventHandlers({ + clientId, + isSelected + }), useNavModeExit(clientId), useIsHovered({ + isEnabled: isOutlineEnabled + }), useIntersectionObserver(), use_moving_animation({ + triggerAnimationOnChange: index, + clientId }), (0,external_wp_compose_namespaceObject.useDisabled)({ isDisabled: !hasOverlay })]); @@ -22406,7 +41492,7 @@ function useBlockProps(props = {}, { true ? external_wp_warning_default()(`Block type "${name}" must support API version 2 or higher to work correctly with "useBlockProps" method.`) : 0; } return { - tabIndex: 0, + tabIndex: blockEditingMode === 'disabled' ? -1 : 0, ...wrapperProps, ...props, ref: mergedRefs, @@ -22417,12 +41503,23 @@ function useBlockProps(props = {}, { 'data-type': name, 'data-title': blockTitle, inert: isSubtreeDisabled ? 'true' : undefined, - className: classnames_default()( - // The wp-block className is important for editor styles. - classnames_default()('block-editor-block-list__block', { + className: classnames_default()('block-editor-block-list__block', { + // The wp-block className is important for editor styles. 'wp-block': !isAligned, - 'has-block-overlay': hasOverlay - }), className, props.className, wrapperProps.className, useBlockClassNames(clientId), useBlockDefaultClassName(clientId), useBlockCustomClassName(clientId), useBlockMovingModeClassNames(clientId)), + 'has-block-overlay': hasOverlay, + 'is-selected': isSelected, + 'is-highlighted': isHighlighted, + 'is-multi-selected': isMultiSelected, + 'is-partially-selected': isPartiallySelected, + 'is-reusable': isReusable, + 'is-dragging': isDragging, + 'has-child-selected': hasChildSelected, + 'remove-outline': removeOutline, + 'is-block-moving-mode': isBlockMovingMode, + 'can-insert-moving-block': canInsertMovingBlock, + 'is-editing-disabled': isEditingDisabled, + 'is-content-locked-temporarily-editing-as-blocks': isTemporarilyEditingAsBlocks + }, className, props.className, wrapperProps.className, defaultClassName), style: { ...wrapperProps.style, ...props.style @@ -22435,7 +41532,7 @@ function useBlockProps(props = {}, { * * @param {Object} props Optional. Props to pass to the element. */ -useBlockProps.save = external_wp_blocks_namespaceObject.__unstableGetBlockProps; +use_block_props_useBlockProps.save = external_wp_blocks_namespaceObject.__unstableGetBlockProps; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block.js @@ -22467,6 +41564,7 @@ useBlockProps.save = external_wp_blocks_namespaceObject.__unstableGetBlockProps; + /** * Merges wrapper props with special handling for classNames and styles. * @@ -22480,10 +41578,12 @@ function mergeWrapperProps(propsA, propsB) { ...propsA, ...propsB }; - if (propsA?.className && propsB?.className) { + + // May be set to undefined, so check if the property is set! + if (propsA?.hasOwnProperty('className') && propsB?.hasOwnProperty('className')) { newProps.className = classnames_default()(propsA.className, propsB.className); } - if (propsA?.style && propsB?.style) { + if (propsA?.hasOwnProperty('style') && propsB?.hasOwnProperty('style')) { newProps.style = { ...propsA.style, ...propsB.style @@ -22496,8 +41596,8 @@ function Block({ isHtml, ...props }) { - return (0,external_wp_element_namespaceObject.createElement)("div", { - ...useBlockProps(props, { + return (0,external_React_.createElement)("div", { + ...use_block_props_useBlockProps(props, { __unstableIsHtml: isHtml }) }, children); @@ -22526,21 +41626,11 @@ function BlockListBlock({ }) { var _wrapperProps; const { + mayDisplayControls, + mayDisplayParentControls, themeSupportsLayout, - isTemporarilyEditingAsBlocks, - blockEditingMode - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSettings, - __unstableGetTemporarilyEditingAsBlocks, - getBlockEditingMode - } = select(store); - return { - themeSupportsLayout: getSettings().supportsLayout, - isTemporarilyEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks() === clientId, - blockEditingMode: getBlockEditingMode(clientId) - }; - }, [clientId]); + ...context + } = (0,external_wp_element_namespaceObject.useContext)(PrivateBlockContext); const { removeBlock } = (0,external_wp_data_namespaceObject.useDispatch)(store); @@ -22551,7 +41641,7 @@ function BlockListBlock({ // HTML mode. This allows us to render all of the ancillary pieces // (InspectorControls, etc.) which are inside `BlockEdit` but not // `BlockHTML`, even in HTML mode. - let blockEdit = (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { + let blockEdit = (0,external_React_.createElement)(BlockEdit, { name: name, isSelected: isSelected, attributes: attributes, @@ -22564,21 +41654,23 @@ function BlockListBlock({ isSelectionEnabled: isSelectionEnabled, toggleSelection: toggleSelection, __unstableLayoutClassNames: layoutClassNames, - __unstableParentLayout: Object.keys(parentLayout).length ? parentLayout : undefined + __unstableParentLayout: Object.keys(parentLayout).length ? parentLayout : undefined, + mayDisplayControls: mayDisplayControls, + mayDisplayParentControls: mayDisplayParentControls, + blockEditingMode: context.blockEditingMode }); const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(name); - if (blockEditingMode === 'disabled') { - wrapperProps = { - ...wrapperProps, - tabIndex: -1 - }; - } + // Determine whether the block has props to apply to the wrapper. if (blockType?.getEditWrapperProps) { wrapperProps = mergeWrapperProps(wrapperProps, blockType.getEditWrapperProps(attributes)); } const isAligned = wrapperProps && !!wrapperProps['data-align'] && !themeSupportsLayout; + // Support for sticky position in classic themes with alignment wrappers. + + const isSticky = className?.includes('is-position-sticky'); + // For aligned blocks, provide a wrapper element so the block can be // positioned relative to the block column. // This is only kept for classic themes that don't support layout @@ -22588,108 +41680,57 @@ function BlockListBlock({ // to the layout feature, and we're now aligning the markup of frontend // and backend. if (isAligned) { - blockEdit = (0,external_wp_element_namespaceObject.createElement)("div", { - className: "wp-block", + blockEdit = (0,external_React_.createElement)("div", { + className: classnames_default()('wp-block', isSticky && className), "data-align": wrapperProps['data-align'] }, blockEdit); } let block; if (!isValid) { const saveContent = __unstableBlockSource ? (0,external_wp_blocks_namespaceObject.serializeRawBlock)(__unstableBlockSource) : (0,external_wp_blocks_namespaceObject.getSaveContent)(blockType, attributes); - block = (0,external_wp_element_namespaceObject.createElement)(Block, { + block = (0,external_React_.createElement)(Block, { className: "has-warning" - }, (0,external_wp_element_namespaceObject.createElement)(BlockInvalidWarning, { + }, (0,external_React_.createElement)(BlockInvalidWarning, { clientId: clientId - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.RawHTML, null, (0,external_wp_dom_namespaceObject.safeHTML)(saveContent))); + }), (0,external_React_.createElement)(external_wp_element_namespaceObject.RawHTML, null, (0,external_wp_dom_namespaceObject.safeHTML)(saveContent))); } else if (mode === 'html') { // Render blockEdit so the inspector controls don't disappear. // See #8969. - block = (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("div", { + block = (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)("div", { style: { display: 'none' } - }, blockEdit), (0,external_wp_element_namespaceObject.createElement)(Block, { + }, blockEdit), (0,external_React_.createElement)(Block, { isHtml: true - }, (0,external_wp_element_namespaceObject.createElement)(block_html, { + }, (0,external_React_.createElement)(block_html, { clientId: clientId }))); } else if (blockType?.apiVersion > 1) { block = blockEdit; } else { - block = (0,external_wp_element_namespaceObject.createElement)(Block, { - ...wrapperProps - }, blockEdit); + block = (0,external_React_.createElement)(Block, null, blockEdit); } const { 'data-align': dataAlign, ...restWrapperProps } = (_wrapperProps = wrapperProps) !== null && _wrapperProps !== void 0 ? _wrapperProps : {}; - const value = { - clientId, - className: classnames_default()({ - 'is-editing-disabled': blockEditingMode === 'disabled', - 'is-content-locked-temporarily-editing-as-blocks': isTemporarilyEditingAsBlocks - }, dataAlign && themeSupportsLayout && `align${dataAlign}`, className), - wrapperProps: restWrapperProps, - isAligned - }; - const memoizedValue = (0,external_wp_element_namespaceObject.useMemo)(() => value, Object.values(value)); - return (0,external_wp_element_namespaceObject.createElement)(BlockListBlockContext.Provider, { - value: memoizedValue - }, (0,external_wp_element_namespaceObject.createElement)(block_crash_boundary, { - fallback: (0,external_wp_element_namespaceObject.createElement)(Block, { + restWrapperProps.className = classnames_default()(restWrapperProps.className, dataAlign && themeSupportsLayout && `align${dataAlign}`, !(dataAlign && isSticky) && className); + + // We set a new context with the adjusted and filtered wrapperProps (through + // `editor.BlockListBlock`), which the `BlockListBlockProvider` did not have + // access to. + return (0,external_React_.createElement)(PrivateBlockContext.Provider, { + value: { + wrapperProps: restWrapperProps, + isAligned, + ...context + } + }, (0,external_React_.createElement)(block_crash_boundary, { + fallback: (0,external_React_.createElement)(Block, { className: "has-warning" - }, (0,external_wp_element_namespaceObject.createElement)(block_crash_warning, null)) + }, (0,external_React_.createElement)(block_crash_warning, null)) }, block)); } -const applyWithSelect = (0,external_wp_data_namespaceObject.withSelect)((select, { - clientId, - rootClientId -}) => { - const { - isBlockSelected, - getBlockMode, - isSelectionEnabled, - getTemplateLock, - __unstableGetBlockWithoutInnerBlocks, - canRemoveBlock, - canMoveBlock - } = select(store); - const block = __unstableGetBlockWithoutInnerBlocks(clientId); - const isSelected = isBlockSelected(clientId); - const templateLock = getTemplateLock(rootClientId); - const canRemove = canRemoveBlock(clientId, rootClientId); - const canMove = canMoveBlock(clientId, rootClientId); - - // The fallback to `{}` is a temporary fix. - // This function should never be called when a block is not present in - // the state. It happens now because the order in withSelect rendering - // is not correct. - const { - name, - attributes, - isValid - } = block || {}; - - // Do not add new properties here, use `useSelect` instead to avoid - // leaking new props to the public API (editor.BlockListBlock filter). - return { - mode: getBlockMode(clientId), - isSelectionEnabled: isSelectionEnabled(), - isLocked: !!templateLock, - canRemove, - canMove, - // Users of the editor.BlockListBlock filter used to be able to - // access the block prop. - // Ideally these blocks would rely on the clientId prop only. - // This is kept for backward compatibility reasons. - block, - name, - attributes, - isValid, - isSelected - }; -}); const applyWithDispatch = (0,external_wp_data_namespaceObject.withDispatch)((dispatch, ownProps, registry) => { const { updateBlockAttributes, @@ -22838,6 +41879,8 @@ const applyWithDispatch = (0,external_wp_data_namespaceObject.withDispatch)((dis } } moveFirstItemUp(rootClientId); + } else { + removeBlock(clientId); } } }, @@ -22854,30 +41897,235 @@ const applyWithDispatch = (0,external_wp_data_namespaceObject.withDispatch)((dis } }; }); -/* harmony default export */ var block = ((0,external_wp_compose_namespaceObject.compose)(external_wp_compose_namespaceObject.pure, applyWithSelect, applyWithDispatch, -// Block is sometimes not mounted at the right time, causing it be undefined -// see issue for more info -// https://github.com/WordPress/gutenberg/issues/17013 -(0,external_wp_compose_namespaceObject.ifCondition)(({ - block -}) => !!block), (0,external_wp_components_namespaceObject.withFilters)('editor.BlockListBlock'))(BlockListBlock)); + +// This component is used by the BlockListBlockProvider component below. It will +// add the props necessary for the `editor.BlockListBlock` filters. +BlockListBlock = (0,external_wp_compose_namespaceObject.compose)(applyWithDispatch, (0,external_wp_components_namespaceObject.withFilters)('editor.BlockListBlock'))(BlockListBlock); + +// This component provides all the information we need through a single store +// subscription (useSelect mapping). Only the necessary props are passed down +// to the BlockListBlock component, which is a filtered component, so these +// props are public API. To avoid adding to the public API, we use a private +// context to pass the rest of the information to the filtered BlockListBlock +// component, and useBlockProps. +function BlockListBlockProvider(props) { + const { + clientId, + rootClientId + } = props; + const selectedProps = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + isBlockSelected, + getBlockMode, + isSelectionEnabled, + getTemplateLock, + __unstableGetBlockWithoutInnerBlocks, + canRemoveBlock, + canMoveBlock, + getSettings, + __unstableGetTemporarilyEditingAsBlocks, + getBlockEditingMode, + getBlockName, + isFirstMultiSelectedBlock, + getMultiSelectedBlockClientIds, + hasSelectedInnerBlock, + getBlockIndex, + isTyping, + isBlockMultiSelected, + isBlockSubtreeDisabled, + isBlockHighlighted, + __unstableIsFullySelected, + __unstableSelectionHasUnmergeableBlock, + isBlockBeingDragged, + hasBlockMovingClientId, + canInsertBlockType, + getBlockRootClientId, + __unstableHasActiveBlockOverlayActive, + __unstableGetEditorMode, + getSelectedBlocksInitialCaretPosition + } = unlock(select(store)); + const block = __unstableGetBlockWithoutInnerBlocks(clientId); + + // This is a temporary fix. + // This function should never be called when a block is not + // present in the state. It happens now because the order in + // withSelect rendering is not correct. + if (!block) { + return; + } + const { + hasBlockSupport: _hasBlockSupport, + getActiveBlockVariation + } = select(external_wp_blocks_namespaceObject.store); + const _isSelected = isBlockSelected(clientId); + const templateLock = getTemplateLock(rootClientId); + const canRemove = canRemoveBlock(clientId, rootClientId); + const canMove = canMoveBlock(clientId, rootClientId); + const { + name: blockName, + attributes, + isValid + } = block; + const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockName); + const match = getActiveBlockVariation(blockName, attributes); + const { + outlineMode, + supportsLayout + } = getSettings(); + const isMultiSelected = isBlockMultiSelected(clientId); + const checkDeep = true; + const isAncestorOfSelectedBlock = hasSelectedInnerBlock(clientId, checkDeep); + const typing = isTyping(); + const hasLightBlockWrapper = blockType?.apiVersion > 1; + const movingClientId = hasBlockMovingClientId(); + return { + mode: getBlockMode(clientId), + isSelectionEnabled: isSelectionEnabled(), + isLocked: !!templateLock, + canRemove, + canMove, + // Users of the editor.BlockListBlock filter used to be able to + // access the block prop. + // Ideally these blocks would rely on the clientId prop only. + // This is kept for backward compatibility reasons. + block, + name: blockName, + attributes, + isValid, + isSelected: _isSelected, + themeSupportsLayout: supportsLayout, + isTemporarilyEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks() === clientId, + blockEditingMode: getBlockEditingMode(clientId), + mayDisplayControls: _isSelected || isFirstMultiSelectedBlock(clientId) && getMultiSelectedBlockClientIds().every(id => getBlockName(id) === blockName), + mayDisplayParentControls: _hasBlockSupport(getBlockName(clientId), '__experimentalExposeControlsToChildren', false) && hasSelectedInnerBlock(clientId), + index: getBlockIndex(clientId), + blockApiVersion: blockType?.apiVersion || 1, + blockTitle: match?.title || blockType?.title, + isSubtreeDisabled: isBlockSubtreeDisabled(clientId), + isOutlineEnabled: outlineMode, + hasOverlay: __unstableHasActiveBlockOverlayActive(clientId), + initialPosition: _isSelected && __unstableGetEditorMode() === 'edit' ? getSelectedBlocksInitialCaretPosition() : undefined, + isHighlighted: isBlockHighlighted(clientId), + isMultiSelected, + isPartiallySelected: isMultiSelected && !__unstableIsFullySelected() && !__unstableSelectionHasUnmergeableBlock(), + isReusable: (0,external_wp_blocks_namespaceObject.isReusableBlock)(blockType), + isDragging: isBlockBeingDragged(clientId), + hasChildSelected: isAncestorOfSelectedBlock, + removeOutline: _isSelected && outlineMode && typing, + isBlockMovingMode: !!movingClientId, + canInsertMovingBlock: movingClientId && canInsertBlockType(getBlockName(movingClientId), getBlockRootClientId(clientId)), + isEditingDisabled: getBlockEditingMode(clientId) === 'disabled', + className: hasLightBlockWrapper ? attributes.className : undefined, + defaultClassName: hasLightBlockWrapper ? (0,external_wp_blocks_namespaceObject.getBlockDefaultClassName)(blockName) : undefined + }; + }, [clientId, rootClientId]); + const { + mode, + isSelectionEnabled, + isLocked, + canRemove, + canMove, + block, + name, + attributes, + isValid, + isSelected, + themeSupportsLayout, + isTemporarilyEditingAsBlocks, + blockEditingMode, + mayDisplayControls, + mayDisplayParentControls, + index, + blockApiVersion, + blockTitle, + isSubtreeDisabled, + isOutlineEnabled, + hasOverlay, + initialPosition, + isHighlighted, + isMultiSelected, + isPartiallySelected, + isReusable, + isDragging, + hasChildSelected, + removeOutline, + isBlockMovingMode, + canInsertMovingBlock, + isEditingDisabled, + className, + defaultClassName + } = selectedProps; + + // Block is sometimes not mounted at the right time, causing it be + // undefined see issue for more info + // https://github.com/WordPress/gutenberg/issues/17013 + if (!selectedProps) { + return null; + } + const privateContext = { + clientId, + className, + index, + mode, + name, + blockApiVersion, + blockTitle, + isSelected, + isSubtreeDisabled, + isOutlineEnabled, + hasOverlay, + initialPosition, + blockEditingMode, + isHighlighted, + isMultiSelected, + isPartiallySelected, + isReusable, + isDragging, + hasChildSelected, + removeOutline, + isBlockMovingMode, + canInsertMovingBlock, + isEditingDisabled, + isTemporarilyEditingAsBlocks, + defaultClassName, + mayDisplayControls, + mayDisplayParentControls, + themeSupportsLayout + }; + + // Here we separate between the props passed to BlockListBlock and any other + // information we selected for internal use. BlockListBlock is a filtered + // component and thus ALL the props are PUBLIC API. + + // Note that the context value doesn't have to be memoized in this case + // because when it changes, this component will be re-rendered anyway, and + // none of the consumers (BlockListBlock and useBlockProps) are memoized or + // "pure". This is different from the public BlockEditContext, where + // consumers might be memoized or "pure". + return (0,external_React_.createElement)(PrivateBlockContext.Provider, { + value: privateContext + }, (0,external_React_.createElement)(BlockListBlock, { + ...props, + mode, + isSelectionEnabled, + isLocked, + canRemove, + canMove, + // Users of the editor.BlockListBlock filter used to be able + // to access the block prop. Ideally these blocks would rely + // on the clientId prop only. This is kept for backward + // compatibility reasons. + block, + name, + attributes, + isValid, + isSelected + })); +} +/* harmony default export */ var block_list_block = ((0,external_wp_element_namespaceObject.memo)(BlockListBlockProvider)); ;// CONCATENATED MODULE: external ["wp","htmlEntities"] var external_wp_htmlEntities_namespaceObject = window["wp"]["htmlEntities"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/plus.js - -/** - * WordPress dependencies - */ - -const plus = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M18 11.2h-5.2V6h-1.6v5.2H6v1.6h5.2V18h1.6v-5.2H18z" -})); -/* harmony default export */ var library_plus = (plus); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/tips.js /** @@ -22887,18 +42135,18 @@ const plus = (0,external_wp_element_namespaceObject.createElement)(external_wp_p const globalTips = [(0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.__)('While writing, you can press / to quickly insert new blocks.'), { - kbd: (0,external_wp_element_namespaceObject.createElement)("kbd", null) + kbd: (0,external_React_.createElement)("kbd", null) }), (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.__)('Indent a list by pressing space at the beginning of a line.'), { - kbd: (0,external_wp_element_namespaceObject.createElement)("kbd", null) + kbd: (0,external_React_.createElement)("kbd", null) }), (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.__)('Outdent a list by pressing backspace at the beginning of a line.'), { - kbd: (0,external_wp_element_namespaceObject.createElement)("kbd", null) + kbd: (0,external_React_.createElement)("kbd", null) }), (0,external_wp_i18n_namespaceObject.__)('Drag files into the editor to automatically insert media blocks.'), (0,external_wp_i18n_namespaceObject.__)("Change a block's type by pressing the block icon on the toolbar.")]; function Tips() { const [randomIndex] = (0,external_wp_element_namespaceObject.useState)( // Disable Reason: I'm not generating an HTML id. // eslint-disable-next-line no-restricted-syntax Math.floor(Math.random() * globalTips.length)); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Tip, null, globalTips[randomIndex]); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Tip, null, globalTips[randomIndex]); } /* harmony default export */ var tips = (Tips); @@ -22908,10 +42156,10 @@ function Tips() { * WordPress dependencies */ -const chevronRight = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const chevronRight = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z" })); /* harmony default export */ var chevron_right = (chevronRight); @@ -22922,73 +42170,14 @@ const chevronRight = (0,external_wp_element_namespaceObject.createElement)(exter * WordPress dependencies */ -const chevronLeft = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const chevronLeft = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z" })); /* harmony default export */ var chevron_left = (chevronLeft); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/block-default.js - -/** - * WordPress dependencies - */ - -const blockDefault = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z" -})); -/* harmony default export */ var block_default = (blockDefault); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-icon/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - -function BlockIcon({ - icon, - showColors = false, - className, - context -}) { - if (icon?.src === 'block-default') { - icon = { - src: block_default - }; - } - const renderedIcon = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Icon, { - icon: icon && icon.src ? icon.src : icon, - context: context - }); - const style = showColors ? { - backgroundColor: icon && icon.background, - color: icon && icon.foreground - } : {}; - return (0,external_wp_element_namespaceObject.createElement)("span", { - style: style, - className: classnames_default()('block-editor-block-icon', className, { - 'has-colors': showColors - }) - }, renderedIcon); -} - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-icon/README.md - */ -/* harmony default export */ var block_icon = ((0,external_wp_element_namespaceObject.memo)(BlockIcon)); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-card/index.js /** @@ -23043,11 +42232,11 @@ function BlockCard({ const { selectBlock } = (0,external_wp_data_namespaceObject.useDispatch)(store); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: classnames_default()('block-editor-block-card', className) }, parentNavBlockClientId && // This is only used by the Navigation block for now. It's not ideal having Navigation block specific code here. - (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { onClick: () => selectBlock(parentNavBlockClientId), label: (0,external_wp_i18n_namespaceObject.__)('Go to parent Navigation block'), style: @@ -23058,15 +42247,15 @@ function BlockCard({ padding: 0 }, icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? chevron_right : chevron_left, - isSmall: true - }), (0,external_wp_element_namespaceObject.createElement)(block_icon, { + size: "small" + }), (0,external_React_.createElement)(block_icon, { icon: icon, showColors: true - }), (0,external_wp_element_namespaceObject.createElement)("div", { + }), (0,external_React_.createElement)("div", { className: "block-editor-block-card__content" - }, (0,external_wp_element_namespaceObject.createElement)("h2", { + }, (0,external_React_.createElement)("h2", { className: "block-editor-block-card__title" - }, title), (0,external_wp_element_namespaceObject.createElement)("span", { + }, title), description && (0,external_React_.createElement)("span", { className: "block-editor-block-card__description" }, description))); } @@ -23093,7 +42282,7 @@ const withRegistryProvider = (0,external_wp_compose_namespaceObject.createHigher ...props }) => { if (!useSubRegistry) { - return (0,external_wp_element_namespaceObject.createElement)(WrappedComponent, { + return (0,external_React_.createElement)(WrappedComponent, { registry: registry, ...props }); @@ -23107,9 +42296,9 @@ const withRegistryProvider = (0,external_wp_compose_namespaceObject.createHigher if (!subRegistry) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_data_namespaceObject.RegistryProvider, { + return (0,external_React_.createElement)(external_wp_data_namespaceObject.RegistryProvider, { value: subRegistry - }, (0,external_wp_element_namespaceObject.createElement)(WrappedComponent, { + }, (0,external_React_.createElement)(WrappedComponent, { registry: subRegistry, ...props })); @@ -23129,6 +42318,7 @@ const withRegistryProvider = (0,external_wp_compose_namespaceObject.createHigher * Internal dependencies */ + const use_block_sync_noop = () => {}; /** @@ -23194,17 +42384,14 @@ function useBlockSync({ resetBlocks, resetSelection, replaceInnerBlocks, - selectBlock, setHasControlledInnerBlocks, __unstableMarkNextChangeAsNotPersistent } = registry.dispatch(store); const { - hasSelectedBlock, getBlockName, getBlocks, getSelectionStart, - getSelectionEnd, - getBlock + getSelectionEnd } = registry.select(store); const isControlled = (0,external_wp_data_namespaceObject.useSelect)(select => { return !clientId || select(store).areInnerBlocksControlled(clientId); @@ -23287,19 +42474,9 @@ function useBlockSync({ // bound sync, unset the outbound value to avoid considering it in // subsequent renders. pendingChanges.current.outgoing = []; - const hadSelecton = hasSelectedBlock(); - const selectionAnchor = getSelectionStart(); - const selectionFocus = getSelectionEnd(); setControlledBlocks(); if (controlledSelection) { resetSelection(controlledSelection.selectionStart, controlledSelection.selectionEnd, controlledSelection.initialPosition); - } else { - const selectionStillExists = getBlock(selectionAnchor.clientId); - if (hadSelecton && !selectionStillExists) { - selectBlock(clientId); - } else { - resetSelection(selectionAnchor, selectionFocus); - } } } }, [controlledBlocks, clientId]); @@ -23365,16 +42542,21 @@ function useBlockSync({ // Inform the controlling entity that changes have been made to // the block-editor store they should be aware about. const updateParent = isPersistent ? onChangeRef.current : onInputRef.current; + const undoIgnore = undoIgnoreBlocks.has(blocks); + if (undoIgnore) { + undoIgnoreBlocks.delete(blocks); + } updateParent(blocks, { selection: { selectionStart: getSelectionStart(), selectionEnd: getSelectionEnd(), initialPosition: getSelectedBlocksInitialCaretPosition() - } + }, + undoIgnore }); } previousAreBlocksDifferent = areBlocksDifferent; - }); + }, store); return () => { subscribed.current = false; unsubscribe(); @@ -23554,12 +42736,12 @@ const ExperimentalBlockEditorProvider = with_registry_provider(props => { // Syncs the entity provider with changes in the block-editor store. useBlockSync(props); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SlotFillProvider, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.SlotFillProvider, { passthrough: true - }, (0,external_wp_element_namespaceObject.createElement)(keyboard_shortcuts.Register, null), (0,external_wp_element_namespaceObject.createElement)(BlockRefsProvider, null, children)); + }, !settings.__unstableIsPreviewMode && (0,external_React_.createElement)(keyboard_shortcuts.Register, null), (0,external_React_.createElement)(BlockRefsProvider, null, children)); }); const BlockEditorProvider = props => { - return (0,external_wp_element_namespaceObject.createElement)(ExperimentalBlockEditorProvider, { + return (0,external_React_.createElement)(ExperimentalBlockEditorProvider, { ...props, stripExperimentalSettings: true }, props.children); @@ -23620,7 +42802,7 @@ function useBlockSelectionClearer() { }, [hasSelectedBlock, hasMultiSelection, clearSelectedBlock, isEnabled]); } function BlockSelectionClearer(props) { - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { ref: useBlockSelectionClearer(), ...props }); @@ -23725,20 +42907,24 @@ function useMultiSelection() { */ + function useTabNav() { const container = (0,external_wp_element_namespaceObject.useRef)(); const focusCaptureBeforeRef = (0,external_wp_element_namespaceObject.useRef)(); const focusCaptureAfterRef = (0,external_wp_element_namespaceObject.useRef)(); - const lastFocus = (0,external_wp_element_namespaceObject.useRef)(); const { hasMultiSelection, getSelectedBlockClientId, getBlockCount } = (0,external_wp_data_namespaceObject.useSelect)(store); const { - setNavigationMode - } = (0,external_wp_data_namespaceObject.useDispatch)(store); + setNavigationMode, + setLastFocus + } = unlock((0,external_wp_data_namespaceObject.useDispatch)(store)); const isNavigationMode = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).isNavigationMode(), []); + const { + getLastFocus + } = unlock((0,external_wp_data_namespaceObject.useSelect)(store)); // Don't allow tabbing to this element in Navigation mode. const focusCaptureTabIndex = !isNavigationMode ? '0' : undefined; @@ -23753,7 +42939,7 @@ function useTabNav() { } else if (hasMultiSelection()) { container.current.focus(); } else if (getSelectedBlockClientId()) { - lastFocus.current.focus(); + getLastFocus()?.current.focus(); } else { setNavigationMode(true); const canvasElement = container.current.ownerDocument === event.target.ownerDocument ? container.current : container.current.ownerDocument.defaultView.frameElement; @@ -23767,12 +42953,12 @@ function useTabNav() { } } } - const before = (0,external_wp_element_namespaceObject.createElement)("div", { + const before = (0,external_React_.createElement)("div", { ref: focusCaptureBeforeRef, tabIndex: focusCaptureTabIndex, onFocus: onFocusCapture }); - const after = (0,external_wp_element_namespaceObject.createElement)("div", { + const after = (0,external_React_.createElement)("div", { ref: focusCaptureAfterRef, tabIndex: focusCaptureTabIndex, onFocus: onFocusCapture @@ -23843,7 +43029,10 @@ function useTabNav() { }); } function onFocusOut(event) { - lastFocus.current = event.target; + setLastFocus({ + ...getLastFocus(), + current: event.target + }); const { ownerDocument } = node; @@ -23985,6 +43174,10 @@ function getClosestTabbable(target, isReverse, containerElement, onlyVertical) { targetRect = target.getBoundingClientRect(); } function isTabCandidate(node) { + if (node.closest('[inert]')) { + return; + } + // Skip if there's only one child that is content editable (and thus a // better candidate). if (node.children.length === 1 && isInSameBlock(node, node.firstElementChild) && node.firstElementChild.getAttribute('contenteditable') === 'true') { @@ -24236,8 +43429,9 @@ function useDragSelection() { } = (0,external_wp_data_namespaceObject.useDispatch)(store); const { isSelectionEnabled, - hasMultiSelection, - isDraggingBlocks + hasSelectedBlock, + isDraggingBlocks, + isMultiSelecting } = (0,external_wp_data_namespaceObject.useSelect)(store); return (0,external_wp_compose_namespaceObject.useRefEffect)(node => { const { @@ -24256,7 +43450,7 @@ function useDragSelection() { // so wait until the next animation frame to get the browser // selection. rafId = defaultView.requestAnimationFrame(() => { - if (hasMultiSelection()) { + if (!hasSelectedBlock()) { return; } @@ -24293,6 +43487,16 @@ function useDragSelection() { return; } + // Abort if we are already multi-selecting. + if (isMultiSelecting()) { + return; + } + + // Abort if selection is leaving writing flow. + if (node === target) { + return; + } + // Check the attribute, not the contentEditable attribute. All // child elements of the content editable wrapper are editable // and return true for this property. We only want to start @@ -24327,7 +43531,7 @@ function useDragSelection() { defaultView.removeEventListener('mouseup', onMouseUp); defaultView.cancelAnimationFrame(rafId); }; - }, [startMultiSelect, stopMultiSelect, isSelectionEnabled, hasMultiSelection]); + }, [startMultiSelect, stopMultiSelect, isSelectionEnabled, hasSelectedBlock]); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/use-selection-observer.js @@ -24337,6 +43541,7 @@ function useDragSelection() { + /** * Internal dependencies */ @@ -24405,9 +43610,18 @@ function use_selection_observer_setContentEditableWrapper(node, value) { // Since we are calling this on every selection change, check if the value // needs to be updated first because it trigger the browser to recalculate // style. - if (node.contentEditable !== String(value)) node.contentEditable = value; - // Firefox doesn't automatically move focus. - if (value) node.focus(); + if (node.contentEditable !== String(value)) { + node.contentEditable = value; + + // Firefox doesn't automatically move focus. + if (value) { + node.focus(); + } + } +} +function getRichTextElement(node) { + const element = node.nodeType === node.ELEMENT_NODE ? node : node.parentElement; + return element?.closest('[data-wp-block-attribute-key]'); } /** @@ -24421,7 +43635,8 @@ function useSelectionObserver() { } = (0,external_wp_data_namespaceObject.useDispatch)(store); const { getBlockParents, - getBlockSelectionStart + getBlockSelectionStart, + isMultiSelecting } = (0,external_wp_data_namespaceObject.useSelect)(store); return (0,external_wp_compose_namespaceObject.useRefEffect)(node => { const { @@ -24435,6 +43650,11 @@ function useSelectionObserver() { if (!selection.rangeCount) { return; } + const startNode = extractSelectionStartNode(selection); + const endNode = extractSelectionEndNode(selection); + if (!node.contains(startNode) || !node.contains(endNode)) { + return; + } // If selection is collapsed and we haven't used `shift+click`, // end multi selection and disable the contentEditable wrapper. @@ -24444,11 +43664,17 @@ function useSelectionObserver() { // For now we check if the event is a `mouse` event. const isClickShift = event.shiftKey && event.type === 'mouseup'; if (selection.isCollapsed && !isClickShift) { - use_selection_observer_setContentEditableWrapper(node, false); + if (node.contentEditable === 'true' && !isMultiSelecting()) { + use_selection_observer_setContentEditableWrapper(node, false); + let element = startNode.nodeType === startNode.ELEMENT_NODE ? startNode : startNode.parentElement; + element = element?.closest('[contenteditable]'); + element?.focus(); + } return; } - let startClientId = getBlockClientId(extractSelectionStartNode(selection)); - let endClientId = getBlockClientId(extractSelectionEndNode(selection)); + let startClientId = getBlockClientId(startNode); + let endClientId = getBlockClientId(endNode); + // If the selection has changed and we had pressed `shift+click`, // we need to check if in an element that doesn't support // text selection has been clicked. @@ -24475,34 +43701,58 @@ function useSelectionObserver() { } const isSingularSelection = startClientId === endClientId; if (isSingularSelection) { - selectBlock(startClientId); + if (!isMultiSelecting()) { + selectBlock(startClientId); + } else { + multiSelect(startClientId, startClientId); + } } else { const startPath = [...getBlockParents(startClientId), startClientId]; const endPath = [...getBlockParents(endClientId), endClientId]; const depth = findDepth(startPath, endPath); - multiSelect(startPath[depth], endPath[depth]); + if (startPath[depth] !== startClientId || endPath[depth] !== endClientId) { + multiSelect(startPath[depth], endPath[depth]); + return; + } + const richTextElementStart = getRichTextElement(startNode); + const richTextElementEnd = getRichTextElement(endNode); + if (richTextElementStart && richTextElementEnd) { + var _richTextDataStart$st, _richTextDataEnd$star; + const range = selection.getRangeAt(0); + const richTextDataStart = (0,external_wp_richText_namespaceObject.create)({ + element: richTextElementStart, + range, + __unstableIsEditableTree: true + }); + const richTextDataEnd = (0,external_wp_richText_namespaceObject.create)({ + element: richTextElementEnd, + range, + __unstableIsEditableTree: true + }); + const startOffset = (_richTextDataStart$st = richTextDataStart.start) !== null && _richTextDataStart$st !== void 0 ? _richTextDataStart$st : richTextDataStart.end; + const endOffset = (_richTextDataEnd$star = richTextDataEnd.start) !== null && _richTextDataEnd$star !== void 0 ? _richTextDataEnd$star : richTextDataEnd.end; + selectionChange({ + start: { + clientId: startClientId, + attributeKey: richTextElementStart.dataset.wpBlockAttributeKey, + offset: startOffset + }, + end: { + clientId: endClientId, + attributeKey: richTextElementEnd.dataset.wpBlockAttributeKey, + offset: endOffset + } + }); + } else { + multiSelect(startClientId, endClientId); + } } } - function addListeners() { - ownerDocument.addEventListener('selectionchange', onSelectionChange); - defaultView.addEventListener('mouseup', onSelectionChange); - } - function removeListeners() { + ownerDocument.addEventListener('selectionchange', onSelectionChange); + defaultView.addEventListener('mouseup', onSelectionChange); + return () => { ownerDocument.removeEventListener('selectionchange', onSelectionChange); defaultView.removeEventListener('mouseup', onSelectionChange); - } - function resetListeners() { - removeListeners(); - addListeners(); - } - addListeners(); - // We must allow rich text to set selection first. This ensures that - // our `selectionchange` listener is always reset to be called after - // the rich text one. - node.addEventListener('focusin', resetListeners); - return () => { - removeListeners(); - node.removeEventListener('focusin', resetListeners); }; }, [multiSelect, selectBlock, selectionChange, getBlockParents]); } @@ -24667,6 +43917,351 @@ function useInput() { }, []); } +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/pasting.js +/** + * WordPress dependencies + */ + + +/** + * Normalizes a given string of HTML to remove the Windows-specific "Fragment" + * comments and any preceding and trailing content. + * + * @param {string} html the html to be normalized + * @return {string} the normalized html + */ +function removeWindowsFragments(html) { + const startStr = ''; + const startIdx = html.indexOf(startStr); + if (startIdx > -1) { + html = html.substring(startIdx + startStr.length); + } else { + // No point looking for EndFragment + return html; + } + const endStr = ''; + const endIdx = html.indexOf(endStr); + if (endIdx > -1) { + html = html.substring(0, endIdx); + } + return html; +} + +/** + * Removes the charset meta tag inserted by Chromium. + * See: + * - https://github.com/WordPress/gutenberg/issues/33585 + * - https://bugs.chromium.org/p/chromium/issues/detail?id=1264616#c4 + * + * @param {string} html the html to be stripped of the meta tag. + * @return {string} the cleaned html + */ +function removeCharsetMetaTag(html) { + const metaTag = ``; + if (html.startsWith(metaTag)) { + return html.slice(metaTag.length); + } + return html; +} +function getPasteEventData({ + clipboardData +}) { + let plainText = ''; + let html = ''; + + // IE11 only supports `Text` as an argument for `getData` and will + // otherwise throw an invalid argument error, so we try the standard + // arguments first, then fallback to `Text` if they fail. + try { + plainText = clipboardData.getData('text/plain'); + html = clipboardData.getData('text/html'); + } catch (error1) { + try { + html = clipboardData.getData('Text'); + } catch (error2) { + // Some browsers like UC Browser paste plain text by default and + // don't support clipboardData at all, so allow default + // behaviour. + return; + } + } + + // Remove Windows-specific metadata appended within copied HTML text. + html = removeWindowsFragments(html); + + // Strip meta tag. + html = removeCharsetMetaTag(html); + const files = (0,external_wp_dom_namespaceObject.getFilesFromDataTransfer)(clipboardData); + if (files.length && !shouldDismissPastedFiles(files, html)) { + return { + files + }; + } + return { + html, + plainText, + files: [] + }; +} + +/** + * Given a collection of DataTransfer files and HTML and plain text strings, + * determine whether the files are to be dismissed in favor of the HTML. + * + * Certain office-type programs, like Microsoft Word or Apple Numbers, + * will, upon copy, generate a screenshot of the content being copied and + * attach it to the clipboard alongside the actual rich text that the user + * sought to copy. In those cases, we should let Gutenberg handle the rich text + * content and not the screenshot, since this allows Gutenberg to insert + * meaningful blocks, like paragraphs, lists or even tables. + * + * @param {File[]} files File objects obtained from a paste event + * @param {string} html HTML content obtained from a paste event + * @return {boolean} True if the files should be dismissed + */ +function shouldDismissPastedFiles(files, html /*, plainText */) { + // The question is only relevant when there is actual HTML content and when + // there is exactly one image file. + if (html && files?.length === 1 && files[0].type.indexOf('image/') === 0) { + // A single tag found in the HTML source suggests that the + // content being pasted revolves around an image. Sometimes there are + // other elements found, like
    , but we assume that the user's + // intention is to paste the actual image file. + const IMAGE_TAG = /<\s*img\b/gi; + if (html.match(IMAGE_TAG)?.length !== 1) return true; + + // Even when there is exactly one tag in the HTML payload, we + // choose to weed out local images, i.e. those whose source starts with + // "file://". These payloads occur in specific configurations, such as + // when copying an entire document from Microsoft Word, that contains + // text and exactly one image, and pasting that content using Google + // Chrome. + const IMG_WITH_LOCAL_SRC = /<\s*img\b[^>]*\bsrc="file:\/\//i; + if (html.match(IMG_WITH_LOCAL_SRC)) return true; + } + return false; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/use-notify-copy.js +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + +function useNotifyCopy() { + const { + getBlockName + } = (0,external_wp_data_namespaceObject.useSelect)(store); + const { + getBlockType + } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blocks_namespaceObject.store); + const { + createSuccessNotice + } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); + return (0,external_wp_element_namespaceObject.useCallback)((eventType, selectedBlockClientIds) => { + let notice = ''; + if (selectedBlockClientIds.length === 1) { + const clientId = selectedBlockClientIds[0]; + const title = getBlockType(getBlockName(clientId))?.title; + notice = eventType === 'copy' ? (0,external_wp_i18n_namespaceObject.sprintf)( + // Translators: Name of the block being copied, e.g. "Paragraph". + (0,external_wp_i18n_namespaceObject.__)('Copied "%s" to clipboard.'), title) : (0,external_wp_i18n_namespaceObject.sprintf)( + // Translators: Name of the block being cut, e.g. "Paragraph". + (0,external_wp_i18n_namespaceObject.__)('Moved "%s" to clipboard.'), title); + } else { + notice = eventType === 'copy' ? (0,external_wp_i18n_namespaceObject.sprintf)( + // Translators: %d: Number of blocks being copied. + (0,external_wp_i18n_namespaceObject._n)('Copied %d block to clipboard.', 'Copied %d blocks to clipboard.', selectedBlockClientIds.length), selectedBlockClientIds.length) : (0,external_wp_i18n_namespaceObject.sprintf)( + // Translators: %d: Number of blocks being cut. + (0,external_wp_i18n_namespaceObject._n)('Moved %d block to clipboard.', 'Moved %d blocks to clipboard.', selectedBlockClientIds.length), selectedBlockClientIds.length); + } + createSuccessNotice(notice, { + type: 'snackbar' + }); + }, []); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/use-clipboard-handler.js +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + +function useClipboardHandler() { + const { + getBlocksByClientId, + getSelectedBlockClientIds, + hasMultiSelection, + getSettings, + __unstableIsFullySelected, + __unstableIsSelectionCollapsed, + __unstableIsSelectionMergeable, + __unstableGetSelectedBlocksWithPartialSelection, + canInsertBlockType + } = (0,external_wp_data_namespaceObject.useSelect)(store); + const { + flashBlock, + removeBlocks, + replaceBlocks, + __unstableDeleteSelection, + __unstableExpandSelection, + insertBlocks + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const notifyCopy = useNotifyCopy(); + return (0,external_wp_compose_namespaceObject.useRefEffect)(node => { + function handler(event) { + if (event.defaultPrevented) { + // This was likely already handled in rich-text/use-paste-handler.js. + return; + } + const selectedBlockClientIds = getSelectedBlockClientIds(); + if (selectedBlockClientIds.length === 0) { + return; + } + + // Always handle multiple selected blocks. + if (!hasMultiSelection()) { + const { + target + } = event; + const { + ownerDocument + } = target; + // If copying, only consider actual text selection as selection. + // Otherwise, any focus on an input field is considered. + const hasSelection = event.type === 'copy' || event.type === 'cut' ? (0,external_wp_dom_namespaceObject.documentHasUncollapsedSelection)(ownerDocument) : (0,external_wp_dom_namespaceObject.documentHasSelection)(ownerDocument); + + // Let native copy behaviour take over in input fields. + if (hasSelection) { + return; + } + } + if (!node.contains(event.target.ownerDocument.activeElement)) { + return; + } + event.preventDefault(); + const isSelectionMergeable = __unstableIsSelectionMergeable(); + const shouldHandleWholeBlocks = __unstableIsSelectionCollapsed() || __unstableIsFullySelected(); + const expandSelectionIsNeeded = !shouldHandleWholeBlocks && !isSelectionMergeable; + if (event.type === 'copy' || event.type === 'cut') { + if (selectedBlockClientIds.length === 1) { + flashBlock(selectedBlockClientIds[0]); + } + // If we have a partial selection that is not mergeable, just + // expand the selection to the whole blocks. + if (expandSelectionIsNeeded) { + __unstableExpandSelection(); + } else { + notifyCopy(event.type, selectedBlockClientIds); + let blocks; + // Check if we have partial selection. + if (shouldHandleWholeBlocks) { + blocks = getBlocksByClientId(selectedBlockClientIds); + } else { + const [head, tail] = __unstableGetSelectedBlocksWithPartialSelection(); + const inBetweenBlocks = getBlocksByClientId(selectedBlockClientIds.slice(1, selectedBlockClientIds.length - 1)); + blocks = [head, ...inBetweenBlocks, tail]; + } + const wrapperBlockName = event.clipboardData.getData('__unstableWrapperBlockName'); + if (wrapperBlockName) { + blocks = (0,external_wp_blocks_namespaceObject.createBlock)(wrapperBlockName, JSON.parse(event.clipboardData.getData('__unstableWrapperBlockAttributes')), blocks); + } + const serialized = (0,external_wp_blocks_namespaceObject.serialize)(blocks); + event.clipboardData.setData('text/plain', toPlainText(serialized)); + event.clipboardData.setData('text/html', serialized); + } + } + if (event.type === 'cut') { + // We need to also check if at the start we needed to + // expand the selection, as in this point we might have + // programmatically fully selected the blocks above. + if (shouldHandleWholeBlocks && !expandSelectionIsNeeded) { + removeBlocks(selectedBlockClientIds); + } else { + event.target.ownerDocument.activeElement.contentEditable = false; + __unstableDeleteSelection(); + } + } else if (event.type === 'paste') { + const { + __experimentalCanUserUseUnfilteredHTML: canUserUseUnfilteredHTML + } = getSettings(); + const { + plainText, + html, + files + } = getPasteEventData(event); + let blocks = []; + if (files.length) { + const fromTransforms = (0,external_wp_blocks_namespaceObject.getBlockTransforms)('from'); + blocks = files.reduce((accumulator, file) => { + const transformation = (0,external_wp_blocks_namespaceObject.findTransform)(fromTransforms, transform => transform.type === 'files' && transform.isMatch([file])); + if (transformation) { + accumulator.push(transformation.transform([file])); + } + return accumulator; + }, []).flat(); + } else { + blocks = (0,external_wp_blocks_namespaceObject.pasteHandler)({ + HTML: html, + plainText, + mode: 'BLOCKS', + canUserUseUnfilteredHTML + }); + } + if (selectedBlockClientIds.length === 1) { + const [selectedBlockClientId] = selectedBlockClientIds; + if (blocks.every(block => canInsertBlockType(block.name, selectedBlockClientId))) { + insertBlocks(blocks, undefined, selectedBlockClientId); + return; + } + } + replaceBlocks(selectedBlockClientIds, blocks, blocks.length - 1, -1); + } + } + node.ownerDocument.addEventListener('copy', handler); + node.ownerDocument.addEventListener('cut', handler); + node.ownerDocument.addEventListener('paste', handler); + return () => { + node.ownerDocument.removeEventListener('copy', handler); + node.ownerDocument.removeEventListener('cut', handler); + node.ownerDocument.removeEventListener('paste', handler); + }; + }, []); +} + +/** + * Given a string of HTML representing serialized blocks, returns the plain + * text extracted after stripping the HTML of any tags and fixing line breaks. + * + * @param {string} html Serialized blocks. + * @return {string} The plain-text content with any html removed. + */ +function toPlainText(html) { + // Manually handle BR tags as line breaks prior to `stripHTML` call + html = html.replace(/
    /g, '\n'); + const plainText = (0,external_wp_dom_namespaceObject.__unstableStripHTML)(html).trim(); + + // Merge any consecutive line breaks + return plainText.replace(/\n\n+/g, '\n\n'); +} + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/index.js /** @@ -24694,12 +44289,12 @@ function useInput() { + function useWritingFlow() { const [before, ref, after] = useTabNav(); const hasMultiSelection = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).hasMultiSelection(), []); - return [before, (0,external_wp_compose_namespaceObject.useMergeRefs)([ref, useInput(), useDragSelection(), useSelectionObserver(), useClickSelection(), useMultiSelection(), useSelectAll(), useArrowNav(), (0,external_wp_compose_namespaceObject.useRefEffect)(node => { + return [before, (0,external_wp_compose_namespaceObject.useMergeRefs)([ref, useClipboardHandler(), useInput(), useDragSelection(), useSelectionObserver(), useClickSelection(), useMultiSelection(), useSelectAll(), useArrowNav(), (0,external_wp_compose_namespaceObject.useRefEffect)(node => { node.tabIndex = 0; - node.contentEditable = hasMultiSelection; if (!hasMultiSelection) { return; } @@ -24716,7 +44311,7 @@ function WritingFlow({ ...props }, forwardedRef) { const [before, ref, after] = useWritingFlow(); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, before, (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)(external_React_.Fragment, null, before, (0,external_React_.createElement)("div", { ...props, ref: (0,external_wp_compose_namespaceObject.useMergeRefs)([ref, forwardedRef]), className: classnames_default()(props.className, 'block-editor-writing-flow') @@ -24727,16 +44322,13 @@ function WritingFlow({ * Handles selection and navigation across blocks. This component should be * wrapped around BlockList. * - * @param {Object} props Component properties. - * @param {WPElement} props.children Children to be rendered. + * @param {Object} props Component properties. + * @param {Element} props.children Children to be rendered. */ /* harmony default export */ var writing_flow = ((0,external_wp_element_namespaceObject.forwardRef)(WritingFlow)); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/iframe/use-compatibility-styles.js -/** - * WordPress dependencies - */ - +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/iframe/get-compatibility-styles.js +let compatibilityStyles = null; /** * Returns a list of stylesheets that target the editor canvas. A stylesheet is @@ -24746,85 +44338,87 @@ function WritingFlow({ * Ideally, this hook should be removed in the future and styles should be added * explicitly as editor styles. */ -function useCompatibilityStyles() { +function getCompatibilityStyles() { + if (compatibilityStyles) { + return compatibilityStyles; + } + // Only memoize the result once on load, since these stylesheets should not // change. - return (0,external_wp_element_namespaceObject.useMemo)(() => { - // Search the document for stylesheets targetting the editor canvas. - return Array.from(document.styleSheets).reduce((accumulator, styleSheet) => { - try { - // May fail for external styles. - // eslint-disable-next-line no-unused-expressions - styleSheet.cssRules; - } catch (e) { - return accumulator; - } - const { - ownerNode, - cssRules - } = styleSheet; - - // Stylesheet is added by another stylesheet. See - // https://developer.mozilla.org/en-US/docs/Web/API/StyleSheet/ownerNode#notes. - if (ownerNode === null) { - return accumulator; - } - if (!cssRules) { - return accumulator; - } - - // Don't try to add the reset styles, which were removed as a dependency - // from `edit-blocks` for the iframe since we don't need to reset admin - // styles. - if (ownerNode.id === 'wp-reset-editor-styles-css') { - return accumulator; - } - - // Don't try to add styles without ID. Styles enqueued via the WP dependency system will always have IDs. - if (!ownerNode.id) { - return accumulator; - } - function matchFromRules(_cssRules) { - return Array.from(_cssRules).find(({ - selectorText, - conditionText, - cssRules: __cssRules - }) => { - // If the rule is conditional then it will not have selector text. - // Recurse into child CSS ruleset to determine selector eligibility. - if (conditionText) { - return matchFromRules(__cssRules); - } - return selectorText && (selectorText.includes('.editor-styles-wrapper') || selectorText.includes('.wp-block')); - }); - } - if (matchFromRules(cssRules)) { - const isInline = ownerNode.tagName === 'STYLE'; - if (isInline) { - // If the current target is inline, - // it could be a dependency of an existing stylesheet. - // Look for that dependency and add it BEFORE the current target. - const mainStylesCssId = ownerNode.id.replace('-inline-css', '-css'); - const mainStylesElement = document.getElementById(mainStylesCssId); - if (mainStylesElement) { - accumulator.push(mainStylesElement.cloneNode(true)); - } - } - accumulator.push(ownerNode.cloneNode(true)); - if (!isInline) { - // If the current target is not inline, - // we still look for inline styles that could be relevant for the current target. - // If they exist, add them AFTER the current target. - const inlineStylesCssId = ownerNode.id.replace('-css', '-inline-css'); - const inlineStylesElement = document.getElementById(inlineStylesCssId); - if (inlineStylesElement) { - accumulator.push(inlineStylesElement.cloneNode(true)); - } - } - } + compatibilityStyles = Array.from(document.styleSheets).reduce((accumulator, styleSheet) => { + try { + // May fail for external styles. + // eslint-disable-next-line no-unused-expressions + styleSheet.cssRules; + } catch (e) { return accumulator; - }, []); + } + const { + ownerNode, + cssRules + } = styleSheet; + + // Stylesheet is added by another stylesheet. See + // https://developer.mozilla.org/en-US/docs/Web/API/StyleSheet/ownerNode#notes. + if (ownerNode === null) { + return accumulator; + } + if (!cssRules) { + return accumulator; + } + + // Don't try to add the reset styles, which were removed as a dependency + // from `edit-blocks` for the iframe since we don't need to reset admin + // styles. + if (ownerNode.id === 'wp-reset-editor-styles-css') { + return accumulator; + } + + // Don't try to add styles without ID. Styles enqueued via the WP dependency system will always have IDs. + if (!ownerNode.id) { + return accumulator; + } + function matchFromRules(_cssRules) { + return Array.from(_cssRules).find(({ + selectorText, + conditionText, + cssRules: __cssRules + }) => { + // If the rule is conditional then it will not have selector text. + // Recurse into child CSS ruleset to determine selector eligibility. + if (conditionText) { + return matchFromRules(__cssRules); + } + return selectorText && (selectorText.includes('.editor-styles-wrapper') || selectorText.includes('.wp-block')); + }); + } + if (matchFromRules(cssRules)) { + const isInline = ownerNode.tagName === 'STYLE'; + if (isInline) { + // If the current target is inline, + // it could be a dependency of an existing stylesheet. + // Look for that dependency and add it BEFORE the current target. + const mainStylesCssId = ownerNode.id.replace('-inline-css', '-css'); + const mainStylesElement = document.getElementById(mainStylesCssId); + if (mainStylesElement) { + accumulator.push(mainStylesElement.cloneNode(true)); + } + } + accumulator.push(ownerNode.cloneNode(true)); + if (!isInline) { + // If the current target is not inline, + // we still look for inline styles that could be relevant for the current target. + // If they exist, add them AFTER the current target. + const inlineStylesCssId = ownerNode.id.replace('-css', '-inline-css'); + const inlineStylesElement = document.getElementById(inlineStylesCssId); + if (inlineStylesElement) { + accumulator.push(inlineStylesElement.cloneNode(true)); + } + } + } + return accumulator; }, []); + return compatibilityStyles; } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/iframe/index.js @@ -24889,7 +44483,7 @@ function bubbleEvent(event, Constructor, frame) { * @param {Document} iframeDocument Document to attach listeners to. */ function useBubbleEvents(iframeDocument) { - return (0,external_wp_compose_namespaceObject.useRefEffect)(body => { + return (0,external_wp_compose_namespaceObject.useRefEffect)(() => { const { defaultView } = iframeDocument; @@ -24899,6 +44493,7 @@ function useBubbleEvents(iframeDocument) { const { frameElement } = defaultView; + const html = iframeDocument.documentElement; const eventTypes = ['dragover', 'mousemove']; const handlers = {}; for (const name of eventTypes) { @@ -24908,11 +44503,11 @@ function useBubbleEvents(iframeDocument) { const Constructor = window[constructorName]; bubbleEvent(event, Constructor, frameElement); }; - body.addEventListener(name, handlers[name]); + html.addEventListener(name, handlers[name]); } return () => { for (const name of eventTypes) { - body.removeEventListener(name, handlers[name]); + html.removeEventListener(name, handlers[name]); } }; }); @@ -24944,7 +44539,6 @@ function Iframe({ } = resolvedAssets; const [iframeDocument, setIframeDocument] = (0,external_wp_element_namespaceObject.useState)(); const [bodyClasses, setBodyClasses] = (0,external_wp_element_namespaceObject.useState)([]); - const compatStyles = useCompatibilityStyles(); const clearerRef = useBlockSelectionClearer(); const [before, writingFlowRef, after] = useWritingFlow(); const [contentResizeListener, { @@ -24975,7 +44569,7 @@ function Iframe({ // the server in the future (which will run the PHP filters). setBodyClasses(Array.from(ownerDocument.body.classList).filter(name => name.startsWith('admin-color-') || name.startsWith('post-type-') || name === 'wp-embed-responsive')); contentDocument.dir = ownerDocument.dir; - for (const compatStyle of compatStyles) { + for (const compatStyle of getCompatibilityStyles()) { if (contentDocument.getElementById(compatStyle.id)) { continue; } @@ -25029,7 +44623,7 @@ function Iframe({ // is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the // top or bottom margin is 0.55 / 2 ((1 - scale) / 2). const marginFromScaling = contentHeight * (1 - scale) / 2; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, tabIndex >= 0 && before, (0,external_wp_element_namespaceObject.createElement)("iframe", { + return (0,external_React_.createElement)(external_React_.Fragment, null, tabIndex >= 0 && before, (0,external_React_.createElement)("iframe", { ...props, style: { border: 0, @@ -25064,10 +44658,10 @@ function Iframe({ // We want to prevent React events from bubbling throught the iframe // we bubble these manually. /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ - (0,external_wp_element_namespaceObject.createElement)("body", { + (0,external_React_.createElement)("body", { ref: bodyRef, className: classnames_default()('block-editor-iframe__body', 'editor-styles-wrapper', ...bodyClasses) - }, contentResizeListener, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalStyleProvider, { + }, contentResizeListener, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalStyleProvider, { document: iframeDocument }, children)), iframeDocument.documentElement)), tabIndex >= 0 && after); } @@ -25082,1389 +44676,111 @@ function IframeIfReady(props, ref) { if (!isInitialised) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(Iframe, { + return (0,external_React_.createElement)(Iframe, { ...props, forwardedRef: ref }); } /* harmony default export */ var iframe = ((0,external_wp_element_namespaceObject.forwardRef)(IframeIfReady)); -;// CONCATENATED MODULE: ./node_modules/colord/index.mjs -var r={grad:.9,turn:360,rad:360/(2*Math.PI)},t=function(r){return"string"==typeof r?r.length>0:"number"==typeof r},n=function(r,t,n){return void 0===t&&(t=0),void 0===n&&(n=Math.pow(10,t)),Math.round(n*r)/n+0},e=function(r,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),r>n?n:r>t?r:t},u=function(r){return(r=isFinite(r)?r%360:0)>0?r:r+360},a=function(r){return{r:e(r.r,0,255),g:e(r.g,0,255),b:e(r.b,0,255),a:e(r.a)}},o=function(r){return{r:n(r.r),g:n(r.g),b:n(r.b),a:n(r.a,3)}},i=/^#([0-9a-f]{3,8})$/i,s=function(r){var t=r.toString(16);return t.length<2?"0"+t:t},h=function(r){var t=r.r,n=r.g,e=r.b,u=r.a,a=Math.max(t,n,e),o=a-Math.min(t,n,e),i=o?a===t?(n-e)/o:a===n?2+(e-t)/o:4+(t-n)/o:0;return{h:60*(i<0?i+6:i),s:a?o/a*100:0,v:a/255*100,a:u}},b=function(r){var t=r.h,n=r.s,e=r.v,u=r.a;t=t/360*6,n/=100,e/=100;var a=Math.floor(t),o=e*(1-n),i=e*(1-(t-a)*n),s=e*(1-(1-t+a)*n),h=a%6;return{r:255*[e,i,o,o,s,e][h],g:255*[s,e,e,i,o,o][h],b:255*[o,o,s,e,e,i][h],a:u}},g=function(r){return{h:u(r.h),s:e(r.s,0,100),l:e(r.l,0,100),a:e(r.a)}},d=function(r){return{h:n(r.h),s:n(r.s),l:n(r.l),a:n(r.a,3)}},f=function(r){return b((n=(t=r).s,{h:t.h,s:(n*=((e=t.l)<50?e:100-e)/100)>0?2*n/(e+n)*100:0,v:e+n,a:t.a}));var t,n,e},c=function(r){return{h:(t=h(r)).h,s:(u=(200-(n=t.s))*(e=t.v)/100)>0&&u<200?n*e/100/(u<=100?u:200-u)*100:0,l:u/2,a:t.a};var t,n,e,u},l=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,p=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,v=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,m=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,y={string:[[function(r){var t=i.exec(r);return t?(r=t[1]).length<=4?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:4===r.length?n(parseInt(r[3]+r[3],16)/255,2):1}:6===r.length||8===r.length?{r:parseInt(r.substr(0,2),16),g:parseInt(r.substr(2,2),16),b:parseInt(r.substr(4,2),16),a:8===r.length?n(parseInt(r.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(r){var t=v.exec(r)||m.exec(r);return t?t[2]!==t[4]||t[4]!==t[6]?null:a({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(t){var n=l.exec(t)||p.exec(t);if(!n)return null;var e,u,a=g({h:(e=n[1],u=n[2],void 0===u&&(u="deg"),Number(e)*(r[u]||1)),s:Number(n[3]),l:Number(n[4]),a:void 0===n[5]?1:Number(n[5])/(n[6]?100:1)});return f(a)},"hsl"]],object:[[function(r){var n=r.r,e=r.g,u=r.b,o=r.a,i=void 0===o?1:o;return t(n)&&t(e)&&t(u)?a({r:Number(n),g:Number(e),b:Number(u),a:Number(i)}):null},"rgb"],[function(r){var n=r.h,e=r.s,u=r.l,a=r.a,o=void 0===a?1:a;if(!t(n)||!t(e)||!t(u))return null;var i=g({h:Number(n),s:Number(e),l:Number(u),a:Number(o)});return f(i)},"hsl"],[function(r){var n=r.h,a=r.s,o=r.v,i=r.a,s=void 0===i?1:i;if(!t(n)||!t(a)||!t(o))return null;var h=function(r){return{h:u(r.h),s:e(r.s,0,100),v:e(r.v,0,100),a:e(r.a)}}({h:Number(n),s:Number(a),v:Number(o),a:Number(s)});return b(h)},"hsv"]]},N=function(r,t){for(var n=0;n=.5},r.prototype.toHex=function(){return r=o(this.rgba),t=r.r,e=r.g,u=r.b,i=(a=r.a)<1?s(n(255*a)):"","#"+s(t)+s(e)+s(u)+i;var r,t,e,u,a,i},r.prototype.toRgb=function(){return o(this.rgba)},r.prototype.toRgbString=function(){return r=o(this.rgba),t=r.r,n=r.g,e=r.b,(u=r.a)<1?"rgba("+t+", "+n+", "+e+", "+u+")":"rgb("+t+", "+n+", "+e+")";var r,t,n,e,u},r.prototype.toHsl=function(){return d(c(this.rgba))},r.prototype.toHslString=function(){return r=d(c(this.rgba)),t=r.h,n=r.s,e=r.l,(u=r.a)<1?"hsla("+t+", "+n+"%, "+e+"%, "+u+")":"hsl("+t+", "+n+"%, "+e+"%)";var r,t,n,e,u},r.prototype.toHsv=function(){return r=h(this.rgba),{h:n(r.h),s:n(r.s),v:n(r.v),a:n(r.a,3)};var r},r.prototype.invert=function(){return w({r:255-(r=this.rgba).r,g:255-r.g,b:255-r.b,a:r.a});var r},r.prototype.saturate=function(r){return void 0===r&&(r=.1),w(M(this.rgba,r))},r.prototype.desaturate=function(r){return void 0===r&&(r=.1),w(M(this.rgba,-r))},r.prototype.grayscale=function(){return w(M(this.rgba,-1))},r.prototype.lighten=function(r){return void 0===r&&(r=.1),w($(this.rgba,r))},r.prototype.darken=function(r){return void 0===r&&(r=.1),w($(this.rgba,-r))},r.prototype.rotate=function(r){return void 0===r&&(r=15),this.hue(this.hue()+r)},r.prototype.alpha=function(r){return"number"==typeof r?w({r:(t=this.rgba).r,g:t.g,b:t.b,a:r}):n(this.rgba.a,3);var t},r.prototype.hue=function(r){var t=c(this.rgba);return"number"==typeof r?w({h:r,s:t.s,l:t.l,a:t.a}):n(t.h)},r.prototype.isEqual=function(r){return this.toHex()===w(r).toHex()},r}(),w=function(r){return r instanceof j?r:new j(r)},S=[],k=function(r){r.forEach(function(r){S.indexOf(r)<0&&(r(j,y),S.push(r))})},E=function(){return new j({r:255*Math.random(),g:255*Math.random(),b:255*Math.random()})}; - -;// CONCATENATED MODULE: ./node_modules/colord/plugins/names.mjs -/* harmony default export */ function names(e,f){var a={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},r={};for(var d in a)r[a[d]]=d;var l={};e.prototype.toName=function(f){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var d,i,n=r[this.toHex()];if(n)return n;if(null==f?void 0:f.closest){var o=this.toRgb(),t=1/0,b="black";if(!l.length)for(var c in a)l[c]=new e(a[c]).toRgb();for(var g in a){var u=(d=o,i=l[g],Math.pow(d.r-i.r,2)+Math.pow(d.g-i.g,2)+Math.pow(d.b-i.b,2));ud?(u+.05)/(d+.05):(d+.05)/(u+.05),void 0===(a=2)&&(a=0),void 0===i&&(i=Math.pow(10,a)),Math.floor(i*n)/i+0},o.prototype.isReadable=function(o,t){return void 0===o&&(o="#FFF"),void 0===t&&(t={}),this.contrast(o)>=(e=void 0===(i=(r=t).size)?"normal":i,"AAA"===(a=void 0===(n=r.level)?"AA":n)&&"normal"===e?7:"AA"===a&&"large"===e?3:4.5);var r,n,a,i,e}} - -// EXTERNAL MODULE: ./node_modules/traverse/index.js -var traverse = __webpack_require__(3124); -var traverse_default = /*#__PURE__*/__webpack_require__.n(traverse); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/transform-styles/ast/parse.js -/* eslint-disable @wordpress/no-unused-vars-before-return */ - -// Adapted from https://github.com/reworkcss/css -// because we needed to remove source map support. - -// http://www.w3.org/TR/CSS21/grammar.htm -// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027 -const commentre = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g; -/* harmony default export */ function parse(css, options) { - options = options || {}; - - /** - * Positional. - */ - - let lineno = 1; - let column = 1; - - /** - * Update lineno and column based on `str`. - */ - - function updatePosition(str) { - const lines = str.match(/\n/g); - if (lines) { - lineno += lines.length; - } - const i = str.lastIndexOf('\n'); - // eslint-disable-next-line no-bitwise - column = ~i ? str.length - i : column + str.length; - } - - /** - * Mark position and patch `node.position`. - */ - - function position() { - const start = { - line: lineno, - column - }; - return function (node) { - node.position = new Position(start); - whitespace(); - return node; - }; - } - - /** - * Store position information for a node - */ - - function Position(start) { - this.start = start; - this.end = { - line: lineno, - column - }; - this.source = options.source; - } - - /** - * Non-enumerable source string - */ - - Position.prototype.content = css; - - /** - * Error `msg`. - */ - - const errorsList = []; - function error(msg) { - const err = new Error(options.source + ':' + lineno + ':' + column + ': ' + msg); - err.reason = msg; - err.filename = options.source; - err.line = lineno; - err.column = column; - err.source = css; - if (options.silent) { - errorsList.push(err); - } else { - throw err; - } - } - - /** - * Parse stylesheet. - */ - - function stylesheet() { - const rulesList = rules(); - return { - type: 'stylesheet', - stylesheet: { - source: options.source, - rules: rulesList, - parsingErrors: errorsList - } - }; - } - - /** - * Opening brace. - */ - - function open() { - return match(/^{\s*/); - } - - /** - * Closing brace. - */ - - function close() { - return match(/^}/); - } - - /** - * Parse ruleset. - */ - - function rules() { - let node; - const accumulator = []; - whitespace(); - comments(accumulator); - while (css.length && css.charAt(0) !== '}' && (node = atrule() || rule())) { - if (node !== false) { - accumulator.push(node); - comments(accumulator); - } - } - return accumulator; - } - - /** - * Match `re` and return captures. - */ - - function match(re) { - const m = re.exec(css); - if (!m) { - return; - } - const str = m[0]; - updatePosition(str); - css = css.slice(str.length); - return m; - } - - /** - * Parse whitespace. - */ - - function whitespace() { - match(/^\s*/); - } - - /** - * Parse comments; - */ - - function comments(accumulator) { - let c; - accumulator = accumulator || []; - // eslint-disable-next-line no-cond-assign - while (c = comment()) { - if (c !== false) { - accumulator.push(c); - } - } - return accumulator; - } - - /** - * Parse comment. - */ - - function comment() { - const pos = position(); - if ('/' !== css.charAt(0) || '*' !== css.charAt(1)) { - return; - } - let i = 2; - while ('' !== css.charAt(i) && ('*' !== css.charAt(i) || '/' !== css.charAt(i + 1))) { - ++i; - } - i += 2; - if ('' === css.charAt(i - 1)) { - return error('End of comment missing'); - } - const str = css.slice(2, i - 2); - column += 2; - updatePosition(str); - css = css.slice(i); - column += 2; - return pos({ - type: 'comment', - comment: str - }); - } - - /** - * Parse selector. - */ - - function selector() { - const m = match(/^([^{]+)/); - if (!m) { - return; - } - // FIXME: Remove all comments from selectors http://ostermiller.org/findcomment.html - return trim(m[0]).replace(/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*\/+/g, '').replace(/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'/g, function (matched) { - return matched.replace(/,/g, '\u200C'); - }).split(/\s*(?![^(]*\)),\s*/).map(function (s) { - return s.replace(/\u200C/g, ','); - }); - } - - /** - * Parse declaration. - */ - - function declaration() { - const pos = position(); - - // prop. - let prop = match(/^(\*?[-#\/\*\\\w]+(\[[0-9a-z_-]+\])?)\s*/); - if (!prop) { - return; - } - prop = trim(prop[0]); - - // : - if (!match(/^:\s*/)) { - return error("property missing ':'"); - } - - // val. - const val = match(/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^\)]*?\)|[^};])+)/); - const ret = pos({ - type: 'declaration', - property: prop.replace(commentre, ''), - value: val ? trim(val[0]).replace(commentre, '') : '' - }); - - // ; - match(/^[;\s]*/); - return ret; - } - - /** - * Parse declarations. - */ - - function declarations() { - const decls = []; - if (!open()) { - return error("missing '{'"); - } - comments(decls); - - // declarations. - let decl; - // eslint-disable-next-line no-cond-assign - while (decl = declaration()) { - if (decl !== false) { - decls.push(decl); - comments(decls); - } - } - if (!close()) { - return error("missing '}'"); - } - return decls; - } - - /** - * Parse keyframe. - */ - - function keyframe() { - let m; - const vals = []; - const pos = position(); - - // eslint-disable-next-line no-cond-assign - while (m = match(/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/)) { - vals.push(m[1]); - match(/^,\s*/); - } - if (!vals.length) { - return; - } - return pos({ - type: 'keyframe', - values: vals, - declarations: declarations() - }); - } - - /** - * Parse keyframes. - */ - - function atkeyframes() { - const pos = position(); - let m = match(/^@([-\w]+)?keyframes\s*/); - if (!m) { - return; - } - const vendor = m[1]; - - // identifier - m = match(/^([-\w]+)\s*/); - if (!m) { - return error('@keyframes missing name'); - } - const name = m[1]; - if (!open()) { - return error("@keyframes missing '{'"); - } - let frame; - let frames = comments(); - // eslint-disable-next-line no-cond-assign - while (frame = keyframe()) { - frames.push(frame); - frames = frames.concat(comments()); - } - if (!close()) { - return error("@keyframes missing '}'"); - } - return pos({ - type: 'keyframes', - name, - vendor, - keyframes: frames - }); - } - - /** - * Parse supports. - */ - - function atsupports() { - const pos = position(); - const m = match(/^@supports *([^{]+)/); - if (!m) { - return; - } - const supports = trim(m[1]); - if (!open()) { - return error("@supports missing '{'"); - } - const style = comments().concat(rules()); - if (!close()) { - return error("@supports missing '}'"); - } - return pos({ - type: 'supports', - supports, - rules: style - }); - } - - /** - * Parse host. - */ - - function athost() { - const pos = position(); - const m = match(/^@host\s*/); - if (!m) { - return; - } - if (!open()) { - return error("@host missing '{'"); - } - const style = comments().concat(rules()); - if (!close()) { - return error("@host missing '}'"); - } - return pos({ - type: 'host', - rules: style - }); - } - - /** - * Parse media. - */ - - function atmedia() { - const pos = position(); - const m = match(/^@media *([^{]+)/); - if (!m) { - return; - } - const media = trim(m[1]); - if (!open()) { - return error("@media missing '{'"); - } - const style = comments().concat(rules()); - if (!close()) { - return error("@media missing '}'"); - } - return pos({ - type: 'media', - media, - rules: style - }); - } - - /** - * Parse container. - */ - - function atcontainer() { - const pos = position(); - const m = match(/^@container *([^{]+)/); - if (!m) { - return; - } - const container = trim(m[1]); - if (!open()) { - return error("@container missing '{'"); - } - const style = comments().concat(rules()); - if (!close()) { - return error("@container missing '}'"); - } - return pos({ - type: 'container', - container, - rules: style - }); - } - - /** - * Parse custom-media. - */ - - function atcustommedia() { - const pos = position(); - const m = match(/^@custom-media\s+(--[^\s]+)\s*([^{;]+);/); - if (!m) { - return; - } - return pos({ - type: 'custom-media', - name: trim(m[1]), - media: trim(m[2]) - }); - } - - /** - * Parse paged media. - */ - - function atpage() { - const pos = position(); - const m = match(/^@page */); - if (!m) { - return; - } - const sel = selector() || []; - if (!open()) { - return error("@page missing '{'"); - } - let decls = comments(); - - // declarations. - let decl; - // eslint-disable-next-line no-cond-assign - while (decl = declaration()) { - decls.push(decl); - decls = decls.concat(comments()); - } - if (!close()) { - return error("@page missing '}'"); - } - return pos({ - type: 'page', - selectors: sel, - declarations: decls - }); - } - - /** - * Parse document. - */ - - function atdocument() { - const pos = position(); - const m = match(/^@([-\w]+)?document *([^{]+)/); - if (!m) { - return; - } - const vendor = trim(m[1]); - const doc = trim(m[2]); - if (!open()) { - return error("@document missing '{'"); - } - const style = comments().concat(rules()); - if (!close()) { - return error("@document missing '}'"); - } - return pos({ - type: 'document', - document: doc, - vendor, - rules: style - }); - } - - /** - * Parse font-face. - */ - - function atfontface() { - const pos = position(); - const m = match(/^@font-face\s*/); - if (!m) { - return; - } - if (!open()) { - return error("@font-face missing '{'"); - } - let decls = comments(); - - // declarations. - let decl; - // eslint-disable-next-line no-cond-assign - while (decl = declaration()) { - decls.push(decl); - decls = decls.concat(comments()); - } - if (!close()) { - return error("@font-face missing '}'"); - } - return pos({ - type: 'font-face', - declarations: decls - }); - } - - /** - * Parse import - */ - - const atimport = _compileAtrule('import'); - - /** - * Parse charset - */ - - const atcharset = _compileAtrule('charset'); - - /** - * Parse namespace - */ - - const atnamespace = _compileAtrule('namespace'); - - /** - * Parse non-block at-rules - */ - - function _compileAtrule(name) { - const re = new RegExp('^@' + name + '\\s*([^;]+);'); - return function () { - const pos = position(); - const m = match(re); - if (!m) { - return; - } - const ret = { - type: name - }; - ret[name] = m[1].trim(); - return pos(ret); - }; - } - - /** - * Parse at rule. - */ - - function atrule() { - if (css[0] !== '@') { - return; - } - return atkeyframes() || atmedia() || atcontainer() || atcustommedia() || atsupports() || atimport() || atcharset() || atnamespace() || atdocument() || atpage() || athost() || atfontface(); - } - - /** - * Parse rule. - */ - - function rule() { - const pos = position(); - const sel = selector(); - if (!sel) { - return error('selector missing'); - } - comments(); - return pos({ - type: 'rule', - selectors: sel, - declarations: declarations() - }); - } - return addParent(stylesheet()); -} - -/** - * Trim `str`. - */ - -function trim(str) { - return str ? str.replace(/^\s+|\s+$/g, '') : ''; -} - -/** - * Adds non-enumerable parent node reference to each node. - */ - -function addParent(obj, parent) { - const isNode = obj && typeof obj.type === 'string'; - const childParent = isNode ? obj : parent; - for (const k in obj) { - const value = obj[k]; - if (Array.isArray(value)) { - value.forEach(function (v) { - addParent(v, childParent); - }); - } else if (value && typeof value === 'object') { - addParent(value, childParent); - } - } - if (isNode) { - Object.defineProperty(obj, 'parent', { - configurable: true, - writable: true, - enumerable: false, - value: parent || null - }); - } - return obj; -} - -/* eslint-enable @wordpress/no-unused-vars-before-return */ - -// EXTERNAL MODULE: ./node_modules/inherits/inherits_browser.js -var inherits_browser = __webpack_require__(8575); -var inherits_browser_default = /*#__PURE__*/__webpack_require__.n(inherits_browser); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/transform-styles/ast/stringify/compiler.js -// Adapted from https://github.com/reworkcss/css -// because we needed to remove source map support. - -/** - * Expose `Compiler`. - */ - -/* harmony default export */ var compiler = (Compiler); - -/** - * Initialize a compiler. - */ - -function Compiler(opts) { - this.options = opts || {}; -} - -/** - * Emit `str` - */ - -Compiler.prototype.emit = function (str) { - return str; -}; - -/** - * Visit `node`. - */ - -Compiler.prototype.visit = function (node) { - return this[node.type](node); -}; - -/** - * Map visit over array of `nodes`, optionally using a `delim` - */ - -Compiler.prototype.mapVisit = function (nodes, delim) { - let buf = ''; - delim = delim || ''; - for (let i = 0, length = nodes.length; i < length; i++) { - buf += this.visit(nodes[i]); - if (delim && i < length - 1) { - buf += this.emit(delim); - } - } - return buf; -}; - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/transform-styles/ast/stringify/compress.js -// Adapted from https://github.com/reworkcss/css -// because we needed to remove source map support. - +// EXTERNAL MODULE: ./node_modules/postcss/lib/postcss.js +var postcss = __webpack_require__(4743); +;// CONCATENATED MODULE: ./node_modules/postcss/lib/postcss.mjs + + +/* harmony default export */ var lib_postcss = (postcss); + +const stringify = postcss.stringify +const fromJSON = postcss.fromJSON +const postcss_plugin = postcss.plugin +const parse = postcss.parse +const list = postcss.list + +const postcss_document = postcss.document +const comment = postcss.comment +const atRule = postcss.atRule +const rule = postcss.rule +const decl = postcss.decl +const root = postcss.root + +const CssSyntaxError = postcss.CssSyntaxError +const Declaration = postcss.Declaration +const Container = postcss.Container +const Processor = postcss.Processor +const Document = postcss.Document +const Comment = postcss.Comment +const postcss_Warning = postcss.Warning +const AtRule = postcss.AtRule +const Result = postcss.Result +const Input = postcss.Input +const Rule = postcss.Rule +const Root = postcss.Root +const Node = postcss.Node + +// EXTERNAL MODULE: ./node_modules/postcss-prefixwrap/build/index.js +var build = __webpack_require__(5959); +var build_default = /*#__PURE__*/__webpack_require__.n(build); +// EXTERNAL MODULE: ./node_modules/postcss-urlrebase/index.js +var postcss_urlrebase = __webpack_require__(7036); +var postcss_urlrebase_default = /*#__PURE__*/__webpack_require__.n(postcss_urlrebase); +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/transform-styles/index.js /** * External dependencies */ -/** - * Internal dependencies - */ - -/** - * Expose compiler. - */ - -/* harmony default export */ var compress = (compress_Compiler); - -/** - * Initialize a new `Compiler`. - */ - -function compress_Compiler(options) { - compiler.call(this, options); -} - -/** - * Inherit from `Base.prototype`. - */ - -inherits_browser_default()(compress_Compiler, compiler); - -/** - * Compile `node`. - */ - -compress_Compiler.prototype.compile = function (node) { - return node.stylesheet.rules.map(this.visit, this).join(''); -}; - -/** - * Visit comment node. - */ - -compress_Compiler.prototype.comment = function (node) { - return this.emit('', node.position); -}; - -/** - * Visit import node. - */ - -compress_Compiler.prototype.import = function (node) { - return this.emit('@import ' + node.import + ';', node.position); -}; - -/** - * Visit media node. - */ - -compress_Compiler.prototype.media = function (node) { - return this.emit('@media ' + node.media, node.position) + this.emit('{') + this.mapVisit(node.rules) + this.emit('}'); -}; - -/** - * Visit container node. - */ - -compress_Compiler.prototype.container = function (node) { - return this.emit('@container ' + node.container, node.position) + this.emit('{') + this.mapVisit(node.rules) + this.emit('}'); -}; - -/** - * Visit document node. - */ - -compress_Compiler.prototype.document = function (node) { - const doc = '@' + (node.vendor || '') + 'document ' + node.document; - return this.emit(doc, node.position) + this.emit('{') + this.mapVisit(node.rules) + this.emit('}'); -}; - -/** - * Visit charset node. - */ - -compress_Compiler.prototype.charset = function (node) { - return this.emit('@charset ' + node.charset + ';', node.position); -}; - -/** - * Visit namespace node. - */ - -compress_Compiler.prototype.namespace = function (node) { - return this.emit('@namespace ' + node.namespace + ';', node.position); -}; - -/** - * Visit supports node. - */ - -compress_Compiler.prototype.supports = function (node) { - return this.emit('@supports ' + node.supports, node.position) + this.emit('{') + this.mapVisit(node.rules) + this.emit('}'); -}; - -/** - * Visit keyframes node. - */ - -compress_Compiler.prototype.keyframes = function (node) { - return this.emit('@' + (node.vendor || '') + 'keyframes ' + node.name, node.position) + this.emit('{') + this.mapVisit(node.keyframes) + this.emit('}'); -}; - -/** - * Visit keyframe node. - */ - -compress_Compiler.prototype.keyframe = function (node) { - const decls = node.declarations; - return this.emit(node.values.join(','), node.position) + this.emit('{') + this.mapVisit(decls) + this.emit('}'); -}; - -/** - * Visit page node. - */ - -compress_Compiler.prototype.page = function (node) { - const sel = node.selectors.length ? node.selectors.join(', ') : ''; - return this.emit('@page ' + sel, node.position) + this.emit('{') + this.mapVisit(node.declarations) + this.emit('}'); -}; - -/** - * Visit font-face node. - */ - -compress_Compiler.prototype['font-face'] = function (node) { - return this.emit('@font-face', node.position) + this.emit('{') + this.mapVisit(node.declarations) + this.emit('}'); -}; - -/** - * Visit host node. - */ - -compress_Compiler.prototype.host = function (node) { - return this.emit('@host', node.position) + this.emit('{') + this.mapVisit(node.rules) + this.emit('}'); -}; - -/** - * Visit custom-media node. - */ - -compress_Compiler.prototype['custom-media'] = function (node) { - return this.emit('@custom-media ' + node.name + ' ' + node.media + ';', node.position); -}; - -/** - * Visit rule node. - */ - -compress_Compiler.prototype.rule = function (node) { - const decls = node.declarations; - if (!decls.length) { - return ''; +const transformStylesCache = new WeakMap(); +function transformStyle({ + css, + ignoredSelectors = [], + baseURL +}, wrapperSelector = '') { + // When there is no wrapper selector or base URL, there is no need + // to transform the CSS. This is most cases because in the default + // iframed editor, no wrapping is needed, and not many styles + // provide a base URL. + if (!wrapperSelector && !baseURL) { + return css; } - return this.emit(node.selectors.join(','), node.position) + this.emit('{') + this.mapVisit(decls) + this.emit('}'); -}; - -/** - * Visit declaration node. - */ - -compress_Compiler.prototype.declaration = function (node) { - return this.emit(node.property + ':' + node.value, node.position) + this.emit(';'); -}; - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/transform-styles/ast/stringify/identity.js -/* eslint-disable @wordpress/no-unused-vars-before-return */ - -// Adapted from https://github.com/reworkcss/css -// because we needed to remove source map support. - -/** - * External dependencies - */ - - -/** - * Internal dependencies - */ - - -/** - * Expose compiler. - */ - -/* harmony default export */ var stringify_identity = (identity_Compiler); - -/** - * Initialize a new `Compiler`. - */ - -function identity_Compiler(options) { - options = options || {}; - compiler.call(this, options); - this.indentation = options.indent; -} - -/** - * Inherit from `Base.prototype`. - */ - -inherits_browser_default()(identity_Compiler, compiler); - -/** - * Compile `node`. - */ - -identity_Compiler.prototype.compile = function (node) { - return this.stylesheet(node); -}; - -/** - * Visit stylesheet node. - */ - -identity_Compiler.prototype.stylesheet = function (node) { - return this.mapVisit(node.stylesheet.rules, '\n\n'); -}; - -/** - * Visit comment node. - */ - -identity_Compiler.prototype.comment = function (node) { - return this.emit(this.indent() + '/*' + node.comment + '*/', node.position); -}; - -/** - * Visit import node. - */ - -identity_Compiler.prototype.import = function (node) { - return this.emit('@import ' + node.import + ';', node.position); -}; - -/** - * Visit media node. - */ - -identity_Compiler.prototype.media = function (node) { - return this.emit('@media ' + node.media, node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(node.rules, '\n\n') + this.emit(this.indent(-1) + '\n}'); -}; - -/** - * Visit container node. - */ - -identity_Compiler.prototype.container = function (node) { - return this.emit('@container ' + node.container, node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(node.rules, '\n\n') + this.emit(this.indent(-1) + '\n}'); -}; - -/** - * Visit document node. - */ - -identity_Compiler.prototype.document = function (node) { - const doc = '@' + (node.vendor || '') + 'document ' + node.document; - return this.emit(doc, node.position) + this.emit(' ' + ' {\n' + this.indent(1)) + this.mapVisit(node.rules, '\n\n') + this.emit(this.indent(-1) + '\n}'); -}; - -/** - * Visit charset node. - */ - -identity_Compiler.prototype.charset = function (node) { - return this.emit('@charset ' + node.charset + ';', node.position); -}; - -/** - * Visit namespace node. - */ - -identity_Compiler.prototype.namespace = function (node) { - return this.emit('@namespace ' + node.namespace + ';', node.position); -}; - -/** - * Visit supports node. - */ - -identity_Compiler.prototype.supports = function (node) { - return this.emit('@supports ' + node.supports, node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(node.rules, '\n\n') + this.emit(this.indent(-1) + '\n}'); -}; - -/** - * Visit keyframes node. - */ - -identity_Compiler.prototype.keyframes = function (node) { - return this.emit('@' + (node.vendor || '') + 'keyframes ' + node.name, node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(node.keyframes, '\n') + this.emit(this.indent(-1) + '}'); -}; - -/** - * Visit keyframe node. - */ - -identity_Compiler.prototype.keyframe = function (node) { - const decls = node.declarations; - return this.emit(this.indent()) + this.emit(node.values.join(', '), node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(decls, '\n') + this.emit(this.indent(-1) + '\n' + this.indent() + '}\n'); -}; - -/** - * Visit page node. - */ - -identity_Compiler.prototype.page = function (node) { - const sel = node.selectors.length ? node.selectors.join(', ') + ' ' : ''; - return this.emit('@page ' + sel, node.position) + this.emit('{\n') + this.emit(this.indent(1)) + this.mapVisit(node.declarations, '\n') + this.emit(this.indent(-1)) + this.emit('\n}'); -}; - -/** - * Visit font-face node. - */ - -identity_Compiler.prototype['font-face'] = function (node) { - return this.emit('@font-face ', node.position) + this.emit('{\n') + this.emit(this.indent(1)) + this.mapVisit(node.declarations, '\n') + this.emit(this.indent(-1)) + this.emit('\n}'); -}; - -/** - * Visit host node. - */ - -identity_Compiler.prototype.host = function (node) { - return this.emit('@host', node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(node.rules, '\n\n') + this.emit(this.indent(-1) + '\n}'); -}; - -/** - * Visit custom-media node. - */ - -identity_Compiler.prototype['custom-media'] = function (node) { - return this.emit('@custom-media ' + node.name + ' ' + node.media + ';', node.position); -}; - -/** - * Visit rule node. - */ - -identity_Compiler.prototype.rule = function (node) { - const indent = this.indent(); - const decls = node.declarations; - if (!decls.length) { - return ''; - } - return this.emit(node.selectors.map(function (s) { - return indent + s; - }).join(',\n'), node.position) + this.emit(' {\n') + this.emit(this.indent(1)) + this.mapVisit(decls, '\n') + this.emit(this.indent(-1)) + this.emit('\n' + this.indent() + '}'); -}; - -/** - * Visit declaration node. - */ - -identity_Compiler.prototype.declaration = function (node) { - return this.emit(this.indent()) + this.emit(node.property + ': ' + node.value, node.position) + this.emit(';'); -}; - -/** - * Increase, decrease or return current indentation. - */ - -identity_Compiler.prototype.indent = function (level) { - this.level = this.level || 1; - if (null !== level) { - this.level += level; - return ''; - } - return Array(this.level).join(this.indentation || ' '); -}; - -/* eslint-enable @wordpress/no-unused-vars-before-return */ - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/transform-styles/ast/stringify/index.js -// Adapted from https://github.com/reworkcss/css -// because we needed to remove source map support. - -/** - * Internal dependencies - */ - - - -/** - * Stringfy the given AST `node`. - * - * Options: - * - * - `compress` space-optimized output - * - `sourcemap` return an object with `.code` and `.map` - * - * @param {Object} node - * @param {Object} [options] - * @return {string} - */ - -/* harmony default export */ function stringify(node, options) { - options = options || {}; - const compiler = options.compress ? new compress(options) : new stringify_identity(options); - const code = compiler.compile(node); - return code; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/transform-styles/traverse.js -/** - * External dependencies - */ - - -/** - * Internal dependencies - */ - -function traverseCSS(css, callback) { try { - const parsed = parse(css); - const updated = traverse_default().map(parsed, function (node) { - if (!node) { - return node; - } - const updatedNode = callback(node); - return this.update(updatedNode); - }); - return stringify(updated); - } catch (err) { - // eslint-disable-next-line no-console - console.warn('Error while traversing the CSS: ' + err); + return lib_postcss([wrapperSelector && build_default()(wrapperSelector, { + ignoredSelectors: [...ignoredSelectors, wrapperSelector] + }), baseURL && postcss_urlrebase_default()({ + rootUrl: baseURL + })].filter(Boolean)).process(css, {}).css; // use sync PostCSS API + } catch (error) { + if (error instanceof CssSyntaxError) { + // eslint-disable-next-line no-console + console.warn('wp.blockEditor.transformStyles Failed to transform CSS.', error.message + '\n' + error.showSourceCode(false)); + } else { + // eslint-disable-next-line no-console + console.warn('wp.blockEditor.transformStyles Failed to transform CSS.', error); + } return null; } } -/* harmony default export */ var transform_styles_traverse = (traverseCSS); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/transform-styles/transforms/url-rewrite.js -/** - * Return `true` if the given path is http/https. - * - * @param {string} filePath path - * - * @return {boolean} is remote path. - */ -function isRemotePath(filePath) { - return /^(?:https?:)?\/\//.test(filePath); -} - -/** - * Return `true` if the given filePath is an absolute url. - * - * @param {string} filePath path - * - * @return {boolean} is absolute path. - */ -function isAbsolutePath(filePath) { - return /^\/(?!\/)/.test(filePath); -} - -/** - * Whether or not the url should be inluded. - * - * @param {Object} meta url meta info - * - * @return {boolean} is valid. - */ -function isValidURL(meta) { - // Ignore hashes or data uris. - if (meta.value.indexOf('data:') === 0 || meta.value.indexOf('#') === 0) { - return false; - } - if (isAbsolutePath(meta.value)) { - return false; - } - - // Do not handle the http/https urls if `includeRemote` is false. - if (isRemotePath(meta.value)) { - return false; - } - return true; -} - -/** - * Get the absolute path of the url, relative to the basePath - * - * @param {string} str the url - * @param {string} baseURL base URL - * - * @return {string} the full path to the file - */ -function getResourcePath(str, baseURL) { - return new URL(str, baseURL).toString(); -} - -/** - * Process the single `url()` pattern - * - * @param {string} baseURL the base URL for relative URLs. - * - * @return {Promise} the Promise. - */ -function processURL(baseURL) { - return meta => ({ - ...meta, - newUrl: 'url(' + meta.before + meta.quote + getResourcePath(meta.value, baseURL) + meta.quote + meta.after + ')' - }); -} - -/** - * Get all `url()`s, and return the meta info - * - * @param {string} value decl.value. - * - * @return {Array} the urls. - */ -function getURLs(value) { - const reg = /url\((\s*)(['"]?)(.+?)\2(\s*)\)/g; - let match; - const URLs = []; - while ((match = reg.exec(value)) !== null) { - const meta = { - source: match[0], - before: match[1], - quote: match[2], - value: match[3], - after: match[4] - }; - if (isValidURL(meta)) { - URLs.push(meta); - } - } - return URLs; -} - -/** - * Replace the raw value's `url()` segment to the new value - * - * @param {string} raw the raw value. - * @param {Array} URLs the URLs to replace. - * - * @return {string} the new value. - */ -function replaceURLs(raw, URLs) { - URLs.forEach(item => { - raw = raw.replace(item.source, item.newUrl); - }); - return raw; -} -const rewrite = rootURL => node => { - if (node.type === 'declaration') { - const updatedURLs = getURLs(node.value).map(processURL(rootURL)); - return { - ...node, - value: replaceURLs(node.value, updatedURLs) - }; - } - return node; -}; -/* harmony default export */ var url_rewrite = (rewrite); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/transform-styles/transforms/wrap.js -/** - * @constant string IS_ROOT_TAG Regex to check if the selector is a root tag selector. - */ -const IS_ROOT_TAG = /^(body|html|:root).*$/; - -/** - * Creates a callback to modify selectors so they only apply within a certain - * namespace. - * - * @param {string} namespace Namespace to prefix selectors with. - * @param {string[]} ignore Selectors to not prefix. - * - * @return {(node: Object) => Object} Callback to wrap selectors. - */ -const wrap = (namespace, ignore = []) => node => { - /** - * Updates selector if necessary. - * - * @param {string} selector Selector to modify. - * - * @return {string} Updated selector. - */ - const updateSelector = selector => { - if (ignore.includes(selector.trim())) { - return selector; - } - - // Skip the update when a selector already has a namespace + space (" "). - if (selector.trim().startsWith(`${namespace} `)) { - return selector; - } - - // Anything other than a root tag is always prefixed. - { - if (!selector.match(IS_ROOT_TAG)) { - return namespace + ' ' + selector; - } - } - - // HTML and Body elements cannot be contained within our container so lets extract their styles. - return selector.replace(/^(body|html|:root)/, namespace); - }; - if (node.type === 'rule') { - return { - ...node, - selectors: node.selectors.map(updateSelector) - }; - } - return node; -}; -/* harmony default export */ var transforms_wrap = (wrap); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/transform-styles/index.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - /** * Applies a series of CSS rule transforms to wrap selectors inside a given class and/or rewrite URLs depending on the parameters passed. * - * @param {Object|Array} styles CSS rules. - * @param {string} wrapperClassName Wrapper Class Name. + * @typedef {Object} EditorStyle + * @property {string} css the CSS block(s), as a single string. + * @property {?string} baseURL the base URL to be used as the reference when rewritting urls. + * @property {?string[]} ignoredSelectors the selectors not to wrap. + * + * @param {EditorStyle[]} styles CSS rules. + * @param {string} wrapperSelector Wrapper selector. * @return {Array} converted rules. */ -const transform_styles_transformStyles = (styles, wrapperClassName = '') => { - return Object.values(styles !== null && styles !== void 0 ? styles : []).map(({ - css, - baseURL - }) => { - const transforms = []; - if (wrapperClassName) { - transforms.push(transforms_wrap(wrapperClassName)); +const transform_styles_transformStyles = (styles, wrapperSelector = '') => { + return styles.map(style => { + if (transformStylesCache.has(style)) { + return transformStylesCache.get(style); } - if (baseURL) { - transforms.push(url_rewrite(baseURL)); - } - if (transforms.length) { - return transform_styles_traverse(css, (0,external_wp_compose_namespaceObject.compose)(transforms)); - } - return css; + const transformedStyle = transformStyle(style, wrapperSelector); + transformStylesCache.set(style, transformedStyle); + return transformedStyle; }); }; /* harmony default export */ var transform_styles = (transform_styles_transformStyles); @@ -26550,11 +44866,11 @@ function EditorStyles({ } return [transform_styles(_styles.filter(style => style?.css), scope), _styles.filter(style => style.__unstableType === 'svgs').map(style => style.assets).join('')]; }, [styles, overrides, scope]); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("style", { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)("style", { ref: useDarkThemeBodyClassName(transformedStyles, scope) - }), transformedStyles.map((css, index) => (0,external_wp_element_namespaceObject.createElement)("style", { + }), transformedStyles.map((css, index) => (0,external_React_.createElement)("style", { key: index - }, css)), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { + }, css)), (0,external_React_.createElement)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 0 0", width: "0", @@ -26626,10 +44942,10 @@ function ScaledBlockPreview({ }, [styles, additionalStyles]); // Initialize on render instead of module top level, to avoid circular dependency issues. - MemoizedBlockList = MemoizedBlockList || (0,external_wp_compose_namespaceObject.pure)(BlockList); + MemoizedBlockList = MemoizedBlockList || (0,external_wp_element_namespaceObject.memo)(BlockList); const scale = containerWidth / viewportWidth; const aspectRatio = contentHeight ? containerWidth / (contentHeight * scale) : 0; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Disabled, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Disabled, { className: "block-editor-block-preview__content", style: { transform: `scale(${scale})`, @@ -26641,7 +44957,7 @@ function ScaledBlockPreview({ maxHeight: contentHeight > MAX_HEIGHT ? MAX_HEIGHT * scale : undefined, minHeight } - }, (0,external_wp_element_namespaceObject.createElement)(iframe, { + }, (0,external_React_.createElement)(iframe, { contentRef: (0,external_wp_compose_namespaceObject.useRefEffect)(bodyElement => { const { ownerDocument: { @@ -26669,9 +44985,9 @@ function ScaledBlockPreview({ maxHeight: MAX_HEIGHT, minHeight: scale !== 0 && scale < 1 && minHeight ? minHeight / scale : minHeight } - }, (0,external_wp_element_namespaceObject.createElement)(EditorStyles, { + }, (0,external_React_.createElement)(EditorStyles, { styles: editorStyles - }), contentResizeListener, (0,external_wp_element_namespaceObject.createElement)(MemoizedBlockList, { + }), contentResizeListener, (0,external_React_.createElement)(MemoizedBlockList, { renderAppender: false }))); } @@ -26679,15 +44995,15 @@ function AutoBlockPreview(props) { const [containerResizeListener, { width: containerWidth }] = (0,external_wp_compose_namespaceObject.useResizeObserver)(); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)("div", { style: { position: 'relative', width: '100%', height: 0 } - }, containerResizeListener), (0,external_wp_element_namespaceObject.createElement)("div", { + }, containerResizeListener), (0,external_React_.createElement)("div", { className: "block-editor-block-preview__container" - }, !!containerWidth && (0,external_wp_element_namespaceObject.createElement)(ScaledBlockPreview, { + }, !!containerWidth && (0,external_React_.createElement)(ScaledBlockPreview, { ...props, containerWidth: containerWidth }))); @@ -26752,10 +45068,10 @@ function BlockPreview({ if (!blocks || blocks.length === 0) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(ExperimentalBlockEditorProvider, { + return (0,external_React_.createElement)(ExperimentalBlockEditorProvider, { value: renderedBlocks, settings: settings - }, (0,external_wp_element_namespaceObject.createElement)(AutoBlockPreview, { + }, (0,external_React_.createElement)(AutoBlockPreview, { viewportWidth: viewportWidth, minHeight: minHeight, additionalStyles: additionalStyles @@ -26771,7 +45087,7 @@ function BlockPreview({ * @param {Array|Object} preview.blocks A block instance (object) or an array of blocks to be previewed. * @param {number} preview.viewportWidth Width of the preview container in pixels. Controls at what size the blocks will be rendered inside the preview. Default: 700. * - * @return {WPComponent} The component to be rendered. + * @return {Component} The component to be rendered. */ /* harmony default export */ var block_preview = ((0,external_wp_element_namespaceObject.memo)(BlockPreview)); @@ -26805,10 +45121,10 @@ function useBlockPreview({ const disabledRef = (0,external_wp_compose_namespaceObject.useDisabled)(); const ref = (0,external_wp_compose_namespaceObject.useMergeRefs)([props.ref, disabledRef]); const renderedBlocks = (0,external_wp_element_namespaceObject.useMemo)(() => Array.isArray(blocks) ? blocks : [blocks], [blocks]); - const children = (0,external_wp_element_namespaceObject.createElement)(ExperimentalBlockEditorProvider, { + const children = (0,external_React_.createElement)(ExperimentalBlockEditorProvider, { value: renderedBlocks, settings: settings - }, (0,external_wp_element_namespaceObject.createElement)(EditorStyles, null), (0,external_wp_element_namespaceObject.createElement)(BlockListItems, { + }, (0,external_React_.createElement)(EditorStyles, null), (0,external_React_.createElement)(BlockListItems, { renderAppender: false, layout: layout })); @@ -26859,21 +45175,21 @@ function InserterPreviewPanel({ innerBlocks: example.innerBlocks }); }, [name, example, initialAttributes]); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-inserter__preview-container" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-inserter__preview" - }, isReusable || example ? (0,external_wp_element_namespaceObject.createElement)("div", { + }, isReusable || example ? (0,external_React_.createElement)("div", { className: "block-editor-inserter__preview-content" - }, (0,external_wp_element_namespaceObject.createElement)(block_preview, { + }, (0,external_React_.createElement)(block_preview, { blocks: blocks, viewportWidth: (_example$viewportWidt = example?.viewportWidth) !== null && _example$viewportWidt !== void 0 ? _example$viewportWidt : 500, additionalStyles: [{ - css: 'body { padding: 16px; }' + css: 'body { padding: 24px; }' }] - })) : (0,external_wp_element_namespaceObject.createElement)("div", { + })) : (0,external_React_.createElement)("div", { className: "block-editor-inserter__preview-content-missing" - }, (0,external_wp_i18n_namespaceObject.__)('No Preview Available.'))), !isReusable && (0,external_wp_element_namespaceObject.createElement)(block_card, { + }, (0,external_wp_i18n_namespaceObject.__)('No preview available.'))), !isReusable && (0,external_React_.createElement)(block_card, { title: title, icon: icon, description: description @@ -26881,14 +45197,6 @@ function InserterPreviewPanel({ } /* harmony default export */ var preview_panel = (InserterPreviewPanel); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-listbox/context.js -/** - * WordPress dependencies - */ - -const InserterListboxContext = (0,external_wp_element_namespaceObject.createContext)(); -/* harmony default export */ var context = (InserterListboxContext); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-listbox/item.js /** @@ -26901,39 +45209,41 @@ const InserterListboxContext = (0,external_wp_element_namespaceObject.createCont * Internal dependencies */ +const { + CompositeItemV2: CompositeItem +} = unlock(external_wp_components_namespaceObject.privateApis); function InserterListboxItem({ isFirst, as: Component, children, ...props }, ref) { - const state = (0,external_wp_element_namespaceObject.useContext)(context); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableCompositeItem, { + return (0,external_React_.createElement)(CompositeItem, { ref: ref, - state: state, role: "option" - // Use the CompositeItem `focusable` prop over Button's - // isFocusable. The latter was shown to cause an issue - // with tab order in the inserter list. + // Use the CompositeItem `accessibleWhenDisabled` prop + // over Button's `isFocusable`. The latter was shown to + // cause an issue with tab order in the inserter list. , - focusable: true, - ...props - }, htmlProps => { - const propsWithTabIndex = { - ...htmlProps, - tabIndex: isFirst ? 0 : htmlProps.tabIndex - }; - if (Component) { - return (0,external_wp_element_namespaceObject.createElement)(Component, { + accessibleWhenDisabled: true, + ...props, + render: htmlProps => { + const propsWithTabIndex = { + ...htmlProps, + tabIndex: isFirst ? 0 : htmlProps.tabIndex + }; + if (Component) { + return (0,external_React_.createElement)(Component, { + ...propsWithTabIndex + }, children); + } + if (typeof children === 'function') { + return children(propsWithTabIndex); + } + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { ...propsWithTabIndex }, children); } - if (typeof children === 'function') { - return children(propsWithTabIndex); - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - ...propsWithTabIndex - }, children); }); } /* harmony default export */ var inserter_listbox_item = ((0,external_wp_element_namespaceObject.forwardRef)(InserterListboxItem)); @@ -26944,12 +45254,12 @@ function InserterListboxItem({ * WordPress dependencies */ -const dragHandle = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const dragHandle = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M8 7h2V5H8v2zm0 6h2v-2H8v2zm0 6h2v-2H8v2zm6-14v2h2V5h-2zm0 8h2v-2h-2v2zm0 6h2v-2h-2v2z" })); /* harmony default export */ var drag_handle = (dragHandle); @@ -26970,22 +45280,27 @@ const dragHandle = (0,external_wp_element_namespaceObject.createElement)(externa function BlockDraggableChip({ count, icon, - isPattern + isPattern, + fadeWhenDisabled }) { const patternLabel = isPattern && (0,external_wp_i18n_namespaceObject.__)('Pattern'); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-block-draggable-chip-wrapper" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-block-draggable-chip", "data-testid": "block-draggable-chip" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Flex, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Flex, { justify: "center", className: "block-editor-block-draggable-chip__content" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, icon ? (0,external_wp_element_namespaceObject.createElement)(block_icon, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, icon ? (0,external_React_.createElement)(block_icon, { icon: icon }) : patternLabel || (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %d: Number of blocks. */ - (0,external_wp_i18n_namespaceObject._n)('%d block', '%d blocks', count), count)), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_wp_element_namespaceObject.createElement)(block_icon, { + (0,external_wp_i18n_namespaceObject._n)('%d block', '%d blocks', count), count)), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_React_.createElement)(block_icon, { icon: drag_handle + })), fadeWhenDisabled && (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, { + className: "block-editor-block-draggable-chip__disabled" + }, (0,external_React_.createElement)("span", { + className: "block-editor-block-draggable-chip__disabled-icon" }))))); } @@ -27001,12 +45316,13 @@ function BlockDraggableChip({ * Internal dependencies */ + const InserterDraggableBlocks = ({ isEnabled, blocks, icon, children, - isPattern + pattern }) => { const transferData = { type: 'inserter', @@ -27018,16 +45334,19 @@ const InserterDraggableBlocks = ({ } = select(external_wp_blocks_namespaceObject.store); return blocks.length === 1 && getBlockType(blocks[0].name)?.icon; }, [blocks]); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Draggable, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Draggable, { __experimentalTransferDataType: "wp-blocks", transferData: transferData, onDragStart: event => { - event.dataTransfer.setData('text/html', (0,external_wp_blocks_namespaceObject.serialize)(blocks)); + const parsedBlocks = pattern?.type === INSERTER_PATTERN_TYPES.user && pattern?.syncStatus !== 'unsynced' ? [(0,external_wp_blocks_namespaceObject.createBlock)('core/block', { + ref: pattern.id + })] : blocks; + event.dataTransfer.setData('text/html', (0,external_wp_blocks_namespaceObject.serialize)(parsedBlocks)); }, - __experimentalDragComponent: (0,external_wp_element_namespaceObject.createElement)(BlockDraggableChip, { + __experimentalDragComponent: (0,external_React_.createElement)(BlockDraggableChip, { count: blocks.length, - icon: icon || !isPattern && blockTypeIcon, - isPattern: isPattern + icon: icon || !pattern && blockTypeIcon, + isPattern: !!pattern }) }, ({ onDraggableStart, @@ -27077,19 +45396,17 @@ function InserterListItem({ backgroundColor: item.icon.background, color: item.icon.foreground } : {}; - const blocks = (0,external_wp_element_namespaceObject.useMemo)(() => { - return [(0,external_wp_blocks_namespaceObject.createBlock)(item.name, item.initialAttributes, (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(item.innerBlocks))]; - }, [item.name, item.initialAttributes, item.initialAttributes]); + const blocks = (0,external_wp_element_namespaceObject.useMemo)(() => [(0,external_wp_blocks_namespaceObject.createBlock)(item.name, item.initialAttributes, (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(item.innerBlocks))], [item.name, item.initialAttributes, item.innerBlocks]); const isSynced = (0,external_wp_blocks_namespaceObject.isReusableBlock)(item) && item.syncStatus !== 'unsynced' || (0,external_wp_blocks_namespaceObject.isTemplatePart)(item); - return (0,external_wp_element_namespaceObject.createElement)(inserter_draggable_blocks, { - isEnabled: isDraggable && !item.disabled, + return (0,external_React_.createElement)(inserter_draggable_blocks, { + isEnabled: isDraggable && !item.isDisabled, blocks: blocks, icon: item.icon }, ({ draggable, onDragStart, onDragEnd - }) => (0,external_wp_element_namespaceObject.createElement)("div", { + }) => (0,external_React_.createElement)("div", { className: classnames_default()('block-editor-block-types-list__list-item', { 'is-synced': isSynced }), @@ -27107,7 +45424,7 @@ function InserterListItem({ onDragEnd(event); } } - }, (0,external_wp_element_namespaceObject.createElement)(inserter_listbox_item, { + }, (0,external_React_.createElement)(inserter_listbox_item, { isFirst: isFirst, className: classnames_default()('block-editor-block-types-list__item', className), disabled: item.isDisabled, @@ -27134,15 +45451,15 @@ function InserterListItem({ }, onMouseLeave: () => onHover(null), ...props - }, (0,external_wp_element_namespaceObject.createElement)("span", { + }, (0,external_React_.createElement)("span", { className: "block-editor-block-types-list__item-icon", style: itemIconStyle - }, (0,external_wp_element_namespaceObject.createElement)(block_icon, { + }, (0,external_React_.createElement)(block_icon, { icon: item.icon, showColors: true - })), (0,external_wp_element_namespaceObject.createElement)("span", { + })), (0,external_React_.createElement)("span", { className: "block-editor-block-types-list__item-title" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { numberOfLines: 3 }, item.title))))); } @@ -27163,7 +45480,7 @@ function InserterListboxGroup(props, ref) { (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)('Use left and right arrow keys to move through blocks')); } }, [shouldSpeak]); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { ref: ref, role: "listbox", "aria-orientation": "horizontal", @@ -27193,10 +45510,11 @@ function InserterListboxGroup(props, ref) { * Internal dependencies */ +const { + CompositeGroupV2: CompositeGroup +} = unlock(external_wp_components_namespaceObject.privateApis); function InserterListboxRow(props, ref) { - const state = (0,external_wp_element_namespaceObject.useContext)(context); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableCompositeGroup, { - state: state, + return (0,external_React_.createElement)(CompositeGroup, { role: "presentation", ref: ref, ...props @@ -27211,6 +45529,7 @@ function InserterListboxRow(props, ref) { */ + /** * Internal dependencies */ @@ -27231,19 +45550,22 @@ function BlockTypesList({ label, isDraggable = true }) { - return (0,external_wp_element_namespaceObject.createElement)(group, { - className: "block-editor-block-types-list", + const className = 'block-editor-block-types-list'; + const listId = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockTypesList, className); + return (0,external_React_.createElement)(group, { + className: className, "aria-label": label - }, chunk(items, 3).map((row, i) => (0,external_wp_element_namespaceObject.createElement)(inserter_listbox_row, { + }, chunk(items, 3).map((row, i) => (0,external_React_.createElement)(inserter_listbox_row, { key: i - }, row.map((item, j) => (0,external_wp_element_namespaceObject.createElement)(inserter_list_item, { + }, row.map((item, j) => (0,external_React_.createElement)(inserter_list_item, { key: item.id, item: item, className: (0,external_wp_blocks_namespaceObject.getBlockMenuDefaultClassName)(item.id), onSelect: onSelect, onHover: onHover, isDraggable: isDraggable && !item.isDisabled, - isFirst: i === 0 && j === 0 + isFirst: i === 0 && j === 0, + rowId: `${listId}-${i}` })))), children); } /* harmony default export */ var block_types_list = (BlockTypesList); @@ -27259,73 +45581,18 @@ function InserterPanel({ icon, children }) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)("div", { className: "block-editor-inserter__panel-header" - }, (0,external_wp_element_namespaceObject.createElement)("h2", { + }, (0,external_React_.createElement)("h2", { className: "block-editor-inserter__panel-title" - }, title), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Icon, { + }, title), (0,external_React_.createElement)(external_wp_components_namespaceObject.Icon, { icon: icon - })), (0,external_wp_element_namespaceObject.createElement)("div", { + })), (0,external_React_.createElement)("div", { className: "block-editor-inserter__panel-content" }, children)); } /* harmony default export */ var panel = (InserterPanel); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-block-types-state.js -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -/** - * Retrieves the block types inserter state. - * - * @param {string=} rootClientId Insertion's root client ID. - * @param {Function} onInsert function called when inserter a list of blocks. - * @return {Array} Returns the block types state. (block types, categories, collections, onSelect handler) - */ -const useBlockTypesState = (rootClientId, onInsert) => { - const { - categories, - collections, - items - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getInserterItems - } = select(store); - const { - getCategories, - getCollections - } = select(external_wp_blocks_namespaceObject.store); - return { - categories: getCategories(), - collections: getCollections(), - items: getInserterItems(rootClientId) - }; - }, [rootClientId]); - const onSelectItem = (0,external_wp_element_namespaceObject.useCallback)(({ - name, - initialAttributes, - innerBlocks, - syncStatus, - content - }, shouldFocusBlock) => { - const insertedBlock = syncStatus === 'unsynced' ? (0,external_wp_blocks_namespaceObject.parse)(content, { - __unstableSkipMigrationLogs: true - }) : (0,external_wp_blocks_namespaceObject.createBlock)(name, initialAttributes, (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(innerBlocks)); - onInsert(insertedBlock, undefined, shouldFocusBlock); - }, [onInsert]); - return [items, categories, collections, onSelectItem]; -}; -/* harmony default export */ var use_block_types_state = (useBlockTypesState); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-listbox/index.js /** @@ -27340,15 +45607,20 @@ const useBlockTypesState = (rootClientId, onInsert) => { +const { + CompositeV2: Composite, + useCompositeStoreV2: useCompositeStore +} = unlock(external_wp_components_namespaceObject.privateApis); function InserterListbox({ children }) { - const compositeState = (0,external_wp_components_namespaceObject.__unstableUseCompositeState)({ - shift: true, - wrap: 'horizontal' + const store = useCompositeStore({ + focusShift: true, + focusWrap: 'horizontal' }); - return (0,external_wp_element_namespaceObject.createElement)(context.Provider, { - value: compositeState + return (0,external_React_.createElement)(Composite, { + store: store, + render: (0,external_React_.createElement)(external_React_.Fragment, null) }, children); } /* harmony default export */ var inserter_listbox = (InserterListbox); @@ -27436,9 +45708,9 @@ function BlockTypesTab({ return Object.entries(collections); }, [collections]); const currentlyRenderedCollections = (0,external_wp_compose_namespaceObject.useAsyncList)(didRenderAllCategories ? collectionEntries : block_types_tab_EMPTY_ARRAY); - return (0,external_wp_element_namespaceObject.createElement)(inserter_listbox, null, (0,external_wp_element_namespaceObject.createElement)("div", null, showMostUsedBlocks && !!suggestedItems.length && (0,external_wp_element_namespaceObject.createElement)(panel, { + return (0,external_React_.createElement)(inserter_listbox, null, (0,external_React_.createElement)("div", null, showMostUsedBlocks && !!suggestedItems.length && (0,external_React_.createElement)(panel, { title: (0,external_wp_i18n_namespaceObject._x)('Most used', 'blocks') - }, (0,external_wp_element_namespaceObject.createElement)(block_types_list, { + }, (0,external_React_.createElement)(block_types_list, { items: suggestedItems, onSelect: onSelectItem, onHover: onHover, @@ -27448,20 +45720,20 @@ function BlockTypesTab({ if (!categoryItems || !categoryItems.length) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(panel, { + return (0,external_React_.createElement)(panel, { key: category.slug, title: category.title, icon: category.icon - }, (0,external_wp_element_namespaceObject.createElement)(block_types_list, { + }, (0,external_React_.createElement)(block_types_list, { items: categoryItems, onSelect: onSelectItem, onHover: onHover, label: category.title })); - }), didRenderAllCategories && uncategorizedItems.length > 0 && (0,external_wp_element_namespaceObject.createElement)(panel, { + }), didRenderAllCategories && uncategorizedItems.length > 0 && (0,external_React_.createElement)(panel, { className: "block-editor-inserter__uncategorized-blocks-panel", title: (0,external_wp_i18n_namespaceObject.__)('Uncategorized') - }, (0,external_wp_element_namespaceObject.createElement)(block_types_list, { + }, (0,external_React_.createElement)(block_types_list, { items: uncategorizedItems, onSelect: onSelectItem, onHover: onHover, @@ -27471,11 +45743,11 @@ function BlockTypesTab({ if (!collectionItems || !collectionItems.length) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(panel, { + return (0,external_React_.createElement)(panel, { key: namespace, title: collection.title, icon: collection.icon - }, (0,external_wp_element_namespaceObject.createElement)(block_types_list, { + }, (0,external_React_.createElement)(block_types_list, { items: collectionItems, onSelect: onSelectItem, onHover: onHover, @@ -27485,77 +45757,71 @@ function BlockTypesTab({ } /* harmony default export */ var block_types_tab = (BlockTypesTab); -;// CONCATENATED MODULE: external ["wp","notices"] -var external_wp_notices_namespaceObject = window["wp"]["notices"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-patterns-state.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js + /** * WordPress dependencies */ - - - - -/** - * Internal dependencies - */ - - -/** - * Retrieves the block patterns inserter state. - * - * @param {Function} onInsert function called when inserter a list of blocks. - * @param {string=} rootClientId Insertion's root client ID. - * - * @return {Array} Returns the patterns state. (patterns, categories, onSelect handler) - */ -const usePatternsState = (onInsert, rootClientId) => { - const { - patternCategories, - patterns, - userPatternCategories - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - __experimentalGetAllowedPatterns, - getSettings - } = select(store); - const { - __experimentalUserPatternCategories, - __experimentalBlockPatternCategories - } = getSettings(); - return { - patterns: __experimentalGetAllowedPatterns(rootClientId), - userPatternCategories: __experimentalUserPatternCategories, - patternCategories: __experimentalBlockPatternCategories - }; - }, [rootClientId]); - const allCategories = (0,external_wp_element_namespaceObject.useMemo)(() => { - const categories = [...patternCategories]; - userPatternCategories?.forEach(userCategory => { - if (!categories.find(existingCategory => existingCategory.name === userCategory.name)) { - categories.push(userCategory); +function PatternCategoriesList({ + selectedCategory, + patternCategories, + onClickCategory +}) { + const baseClassName = 'block-editor-block-patterns-explorer__sidebar'; + return (0,external_React_.createElement)("div", { + className: `${baseClassName}__categories-list` + }, patternCategories.map(({ + name, + label + }) => { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + key: name, + label: label, + className: `${baseClassName}__categories-list__item`, + isPressed: selectedCategory === name, + onClick: () => { + onClickCategory(name); } - }); - return categories; - }, [patternCategories, userPatternCategories]); - const { - createSuccessNotice - } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); - const onClickPattern = (0,external_wp_element_namespaceObject.useCallback)((pattern, blocks) => { - const patternBlocks = pattern.id && pattern.syncStatus !== 'unsynced' ? [(0,external_wp_blocks_namespaceObject.createBlock)('core/block', { - ref: pattern.id - })] : blocks; - onInsert((patternBlocks !== null && patternBlocks !== void 0 ? patternBlocks : []).map(block => (0,external_wp_blocks_namespaceObject.cloneBlock)(block)), pattern.name); - createSuccessNotice((0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: block pattern title. */ - (0,external_wp_i18n_namespaceObject.__)('Block pattern "%s" inserted.'), pattern.title), { - type: 'snackbar', - id: 'block-pattern-inserted-notice' - }); - }, [createSuccessNotice, onInsert]); - return [patterns, allCategories, onClickPattern]; -}; -/* harmony default export */ var use_patterns_state = (usePatternsState); + }, label); + })); +} +function PatternsExplorerSearch({ + searchValue, + setSearchValue +}) { + const baseClassName = 'block-editor-block-patterns-explorer__search'; + return (0,external_React_.createElement)("div", { + className: baseClassName + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.SearchControl, { + __nextHasNoMarginBottom: true, + onChange: setSearchValue, + value: searchValue, + label: (0,external_wp_i18n_namespaceObject.__)('Search for patterns'), + placeholder: (0,external_wp_i18n_namespaceObject.__)('Search') + })); +} +function PatternExplorerSidebar({ + selectedCategory, + patternCategories, + onClickCategory, + searchValue, + setSearchValue +}) { + const baseClassName = 'block-editor-block-patterns-explorer__sidebar'; + return (0,external_React_.createElement)("div", { + className: baseClassName + }, (0,external_React_.createElement)(PatternsExplorerSearch, { + searchValue: searchValue, + setSearchValue: setSearchValue + }), !searchValue && (0,external_React_.createElement)(PatternCategoriesList, { + selectedCategory: selectedCategory, + patternCategories: patternCategories, + onClickCategory: onClickCategory + })); +} +/* harmony default export */ var pattern_explorer_sidebar = (PatternExplorerSidebar); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-patterns-paging/index.js @@ -27570,53 +45836,53 @@ function Pagination({ changePage, totalItems }) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { className: "block-editor-patterns__grid-pagination-wrapper" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalText, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalText, { variant: "muted" }, // translators: %s: Total number of patterns. (0,external_wp_i18n_namespaceObject.sprintf)( // translators: %s: Total number of patterns. - (0,external_wp_i18n_namespaceObject._n)('%s item', '%s items', totalItems), totalItems)), numPages > 1 && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + (0,external_wp_i18n_namespaceObject._n)('%s item', '%s items', totalItems), totalItems)), numPages > 1 && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { expanded: false, spacing: 3, justify: "flex-start", className: "block-editor-patterns__grid-pagination" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { expanded: false, spacing: 1, className: "block-editor-patterns__grid-pagination-previous" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "tertiary", onClick: () => changePage(1), disabled: currentPage === 1, "aria-label": (0,external_wp_i18n_namespaceObject.__)('First page') - }, (0,external_wp_element_namespaceObject.createElement)("span", null, "\xAB")), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)("span", null, "\xAB")), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "tertiary", onClick: () => changePage(currentPage - 1), disabled: currentPage === 1, "aria-label": (0,external_wp_i18n_namespaceObject.__)('Previous page') - }, (0,external_wp_element_namespaceObject.createElement)("span", null, "\u2039"))), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalText, { + }, (0,external_React_.createElement)("span", null, "\u2039"))), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalText, { variant: "muted" }, (0,external_wp_i18n_namespaceObject.sprintf)( // translators: %1$s: Current page number, %2$s: Total number of pages. - (0,external_wp_i18n_namespaceObject._x)('%1$s of %2$s', 'paging'), currentPage, numPages)), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + (0,external_wp_i18n_namespaceObject._x)('%1$s of %2$s', 'paging'), currentPage, numPages)), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { expanded: false, spacing: 1, className: "block-editor-patterns__grid-pagination-next" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "tertiary", onClick: () => changePage(currentPage + 1), disabled: currentPage === numPages, "aria-label": (0,external_wp_i18n_namespaceObject.__)('Next page') - }, (0,external_wp_element_namespaceObject.createElement)("span", null, "\u203A")), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)("span", null, "\u203A")), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "tertiary", onClick: () => changePage(numPages), disabled: currentPage === numPages, "aria-label": (0,external_wp_i18n_namespaceObject.__)('Last page'), size: "default" - }, (0,external_wp_element_namespaceObject.createElement)("span", null, "\xBB"))))); + }, (0,external_React_.createElement)("span", null, "\xBB"))))); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-patterns-list/index.js @@ -27641,24 +45907,31 @@ function Pagination({ + + +const { + CompositeV2: block_patterns_list_Composite, + CompositeItemV2: block_patterns_list_CompositeItem, + useCompositeStoreV2: block_patterns_list_useCompositeStore +} = unlock(external_wp_components_namespaceObject.privateApis); const WithToolTip = ({ showTooltip, title, children }) => { if (showTooltip) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Tooltip, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Tooltip, { text: title }, children); } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, children); + return (0,external_React_.createElement)(external_React_.Fragment, null, children); }; function BlockPattern({ + id, isDraggable, pattern, onClick, onHover, - composite, showTooltip }) { const [isDragging, setIsDragging] = (0,external_wp_element_namespaceObject.useState)(false); @@ -27668,15 +45941,15 @@ function BlockPattern({ } = pattern; const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockPattern); const descriptionId = `block-editor-block-patterns-list__item-description-${instanceId}`; - return (0,external_wp_element_namespaceObject.createElement)(inserter_draggable_blocks, { + return (0,external_React_.createElement)(inserter_draggable_blocks, { isEnabled: isDraggable, blocks: blocks, - isPattern: !!pattern + pattern: pattern }, ({ draggable, onDragStart, onDragEnd - }) => (0,external_wp_element_namespaceObject.createElement)("div", { + }) => (0,external_React_.createElement)("div", { className: "block-editor-block-patterns-list__list-item", draggable: draggable, onDragStart: event => { @@ -27692,16 +45965,19 @@ function BlockPattern({ onDragEnd(event); } } - }, (0,external_wp_element_namespaceObject.createElement)(WithToolTip, { - showTooltip: showTooltip && !pattern.type === 'user', + }, (0,external_React_.createElement)(WithToolTip, { + showTooltip: showTooltip && !pattern.type !== INSERTER_PATTERN_TYPES.user, title: pattern.title - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableCompositeItem, { - role: "option", - as: "div", - ...composite, - className: classnames_default()('block-editor-block-patterns-list__item', { - 'block-editor-block-patterns-list__list-item-synced': pattern.type === 'user' && !pattern.syncStatus + }, (0,external_React_.createElement)(block_patterns_list_CompositeItem, { + render: (0,external_React_.createElement)("div", { + role: "option", + "aria-label": pattern.title, + "aria-describedby": pattern.description ? descriptionId : undefined, + className: classnames_default()('block-editor-block-patterns-list__item', { + 'block-editor-block-patterns-list__list-item-synced': pattern.type === INSERTER_PATTERN_TYPES.user && !pattern.syncStatus + }) }), + id: id, onClick: () => { onClick(pattern, blocks); onHover?.(null); @@ -27712,31 +45988,29 @@ function BlockPattern({ } onHover?.(pattern); }, - onMouseLeave: () => onHover?.(null), - "aria-label": pattern.title, - "aria-describedby": pattern.description ? descriptionId : undefined - }, (0,external_wp_element_namespaceObject.createElement)(block_preview, { + onMouseLeave: () => onHover?.(null) + }, (0,external_React_.createElement)(block_preview, { blocks: blocks, viewportWidth: viewportWidth - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { className: "block-editor-patterns__pattern-details" - }, pattern.type === 'user' && !pattern.syncStatus && (0,external_wp_element_namespaceObject.createElement)("div", { + }, pattern.type === INSERTER_PATTERN_TYPES.user && !pattern.syncStatus && (0,external_React_.createElement)("div", { className: "block-editor-patterns__pattern-icon-wrapper" - }, (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { + }, (0,external_React_.createElement)(build_module_icon, { className: "block-editor-patterns__pattern-icon", icon: library_symbol - })), (!showTooltip || pattern.type === 'user') && (0,external_wp_element_namespaceObject.createElement)("div", { + })), (!showTooltip || pattern.type === INSERTER_PATTERN_TYPES.user) && (0,external_React_.createElement)("div", { className: "block-editor-block-patterns-list__item-title" - }, pattern.title)), !!pattern.description && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + }, pattern.title)), !!pattern.description && (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { id: descriptionId }, pattern.description))))); } function BlockPatternPlaceholder() { - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-block-patterns-list__item is-placeholder" }); } -function BlockPatternList({ +function BlockPatternsList({ isDraggable, blockPatterns, shownPatterns, @@ -27747,99 +46021,42 @@ function BlockPatternList({ showTitlesAsTooltip, pagingProps }, ref) { - const composite = (0,external_wp_components_namespaceObject.__unstableUseCompositeState)({ + const compositeStore = block_patterns_list_useCompositeStore({ orientation }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableComposite, { - ...composite, + const { + setActiveId + } = compositeStore; + (0,external_wp_element_namespaceObject.useEffect)(() => { + // We reset the active composite item whenever the + // available patterns change, to make sure that + // focus is put back to the start. + setActiveId(undefined); + }, [setActiveId, shownPatterns, blockPatterns]); + return (0,external_React_.createElement)(block_patterns_list_Composite, { + store: compositeStore, role: "listbox", className: "block-editor-block-patterns-list", "aria-label": label, ref: ref }, blockPatterns.map(pattern => { const isShown = shownPatterns.includes(pattern); - return isShown ? (0,external_wp_element_namespaceObject.createElement)(BlockPattern, { + return isShown ? (0,external_React_.createElement)(BlockPattern, { key: pattern.name, + id: pattern.name, pattern: pattern, onClick: onClickPattern, onHover: onHover, isDraggable: isDraggable, - composite: composite, showTooltip: showTitlesAsTooltip - }) : (0,external_wp_element_namespaceObject.createElement)(BlockPatternPlaceholder, { + }) : (0,external_React_.createElement)(BlockPatternPlaceholder, { key: pattern.name }); - }), pagingProps && (0,external_wp_element_namespaceObject.createElement)(Pagination, { + }), pagingProps && (0,external_React_.createElement)(Pagination, { ...pagingProps })); } -/* harmony default export */ var block_patterns_list = ((0,external_wp_element_namespaceObject.forwardRef)(BlockPatternList)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-explorer/sidebar.js - -/** - * WordPress dependencies - */ - - -function PatternCategoriesList({ - selectedCategory, - patternCategories, - onClickCategory -}) { - const baseClassName = 'block-editor-block-patterns-explorer__sidebar'; - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: `${baseClassName}__categories-list` - }, patternCategories.map(({ - name, - label - }) => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - key: name, - label: label, - className: `${baseClassName}__categories-list__item`, - isPressed: selectedCategory === name, - onClick: () => { - onClickCategory(name); - } - }, label); - })); -} -function PatternsExplorerSearch({ - searchValue, - setSearchValue -}) { - const baseClassName = 'block-editor-block-patterns-explorer__search'; - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: baseClassName - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SearchControl, { - __nextHasNoMarginBottom: true, - onChange: setSearchValue, - value: searchValue, - label: (0,external_wp_i18n_namespaceObject.__)('Search for patterns'), - placeholder: (0,external_wp_i18n_namespaceObject.__)('Search') - })); -} -function PatternExplorerSidebar({ - selectedCategory, - patternCategories, - onClickCategory, - searchValue, - setSearchValue -}) { - const baseClassName = 'block-editor-block-patterns-explorer__sidebar'; - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: baseClassName - }, (0,external_wp_element_namespaceObject.createElement)(PatternsExplorerSearch, { - searchValue: searchValue, - setSearchValue: setSearchValue - }), !searchValue && (0,external_wp_element_namespaceObject.createElement)(PatternCategoriesList, { - selectedCategory: selectedCategory, - patternCategories: patternCategories, - onClickCategory: onClickCategory - })); -} -/* harmony default export */ var sidebar = (PatternExplorerSidebar); +/* harmony default export */ var block_patterns_list = ((0,external_wp_element_namespaceObject.forwardRef)(BlockPatternsList)); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-insertion-point.js /** @@ -27952,166 +46169,76 @@ function useInsertionPoint({ } /* harmony default export */ var use_insertion_point = (useInsertionPoint); -// EXTERNAL MODULE: ./node_modules/remove-accents/index.js -var remove_accents = __webpack_require__(4793); -var remove_accents_default = /*#__PURE__*/__webpack_require__.n(remove_accents); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/search-items.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-patterns-state.js /** - * External dependencies + * WordPress dependencies */ -// Default search helpers. -const defaultGetName = item => item.name || ''; -const defaultGetTitle = item => item.title; -const defaultGetDescription = item => item.description || ''; -const defaultGetKeywords = item => item.keywords || []; -const defaultGetCategory = item => item.category; -const defaultGetCollection = () => null; + + /** - * Extracts words from an input string. - * - * @param {string} input The input string. - * - * @return {Array} Words, extracted from the input string. + * Internal dependencies */ -function extractWords(input = '') { - return noCase(input, { - splitRegexp: [/([\p{Ll}\p{Lo}\p{N}])([\p{Lu}\p{Lt}])/gu, - // One lowercase or digit, followed by one uppercase. - /([\p{Lu}\p{Lt}])([\p{Lu}\p{Lt}][\p{Ll}\p{Lo}])/gu // One uppercase followed by one uppercase and one lowercase. - ], - stripRegexp: /(\p{C}|\p{P}|\p{S})+/giu // Anything that's not a punctuation, symbol or control/format character. - }).split(' ').filter(Boolean); -} + /** - * Sanitizes the search input string. + * Retrieves the block patterns inserter state. * - * @param {string} input The search input to normalize. + * @param {Function} onInsert function called when inserter a list of blocks. + * @param {string=} rootClientId Insertion's root client ID. * - * @return {string} The normalized search input. + * @return {Array} Returns the patterns state. (patterns, categories, onSelect handler) */ -function normalizeSearchInput(input = '') { - // Disregard diacritics. - // Input: "média" - input = remove_accents_default()(input); - - // Accommodate leading slash, matching autocomplete expectations. - // Input: "/media" - input = input.replace(/^\//, ''); - - // Lowercase. - // Input: "MEDIA" - input = input.toLowerCase(); - return input; -} - -/** - * Converts the search term into a list of normalized terms. - * - * @param {string} input The search term to normalize. - * - * @return {string[]} The normalized list of search terms. - */ -const getNormalizedSearchTerms = (input = '') => { - return extractWords(normalizeSearchInput(input)); -}; -const removeMatchingTerms = (unmatchedTerms, unprocessedTerms) => { - return unmatchedTerms.filter(term => !getNormalizedSearchTerms(unprocessedTerms).some(unprocessedTerm => unprocessedTerm.includes(term))); -}; -const searchBlockItems = (items, categories, collections, searchInput) => { - const normalizedSearchTerms = getNormalizedSearchTerms(searchInput); - if (normalizedSearchTerms.length === 0) { - return items; - } - const config = { - getCategory: item => categories.find(({ - slug - }) => slug === item.category)?.title, - getCollection: item => collections[item.name.split('/')[0]]?.title - }; - return searchItems(items, searchInput, config); -}; - -/** - * Filters an item list given a search term. - * - * @param {Array} items Item list - * @param {string} searchInput Search input. - * @param {Object} config Search Config. - * - * @return {Array} Filtered item list. - */ -const searchItems = (items = [], searchInput = '', config = {}) => { - const normalizedSearchTerms = getNormalizedSearchTerms(searchInput); - if (normalizedSearchTerms.length === 0) { - return items; - } - const rankedItems = items.map(item => { - return [item, getItemSearchRank(item, searchInput, config)]; - }).filter(([, rank]) => rank > 0); - rankedItems.sort(([, rank1], [, rank2]) => rank2 - rank1); - return rankedItems.map(([item]) => item); -}; - -/** - * Get the search rank for a given item and a specific search term. - * The better the match, the higher the rank. - * If the rank equals 0, it should be excluded from the results. - * - * @param {Object} item Item to filter. - * @param {string} searchTerm Search term. - * @param {Object} config Search Config. - * - * @return {number} Search Rank. - */ -function getItemSearchRank(item, searchTerm, config = {}) { +const usePatternsState = (onInsert, rootClientId) => { const { - getName = defaultGetName, - getTitle = defaultGetTitle, - getDescription = defaultGetDescription, - getKeywords = defaultGetKeywords, - getCategory = defaultGetCategory, - getCollection = defaultGetCollection - } = config; - const name = getName(item); - const title = getTitle(item); - const description = getDescription(item); - const keywords = getKeywords(item); - const category = getCategory(item); - const collection = getCollection(item); - const normalizedSearchInput = normalizeSearchInput(searchTerm); - const normalizedTitle = normalizeSearchInput(title); - let rank = 0; - - // Prefers exact matches - // Then prefers if the beginning of the title matches the search term - // name, keywords, categories, collection, variations match come later. - if (normalizedSearchInput === normalizedTitle) { - rank += 30; - } else if (normalizedTitle.startsWith(normalizedSearchInput)) { - rank += 20; - } else { - const terms = [name, title, description, ...keywords, category, collection].join(' '); - const normalizedSearchTerms = extractWords(normalizedSearchInput); - const unmatchedTerms = removeMatchingTerms(normalizedSearchTerms, terms); - if (unmatchedTerms.length === 0) { - rank += 10; - } - } - - // Give a better rank to "core" namespaced items. - if (rank !== 0 && name.startsWith('core/')) { - const isCoreBlockVariation = name !== item.id; - // Give a bit better rank to "core" blocks over "core" block variations. - rank += isCoreBlockVariation ? 1 : 2; - } - return rank; -} + patternCategories, + patterns, + userPatternCategories + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + __experimentalGetAllowedPatterns, + getSettings + } = select(store); + const { + __experimentalUserPatternCategories, + __experimentalBlockPatternCategories + } = getSettings(); + return { + patterns: __experimentalGetAllowedPatterns(rootClientId), + userPatternCategories: __experimentalUserPatternCategories, + patternCategories: __experimentalBlockPatternCategories + }; + }, [rootClientId]); + const allCategories = (0,external_wp_element_namespaceObject.useMemo)(() => { + const categories = [...patternCategories]; + userPatternCategories?.forEach(userCategory => { + if (!categories.find(existingCategory => existingCategory.name === userCategory.name)) { + categories.push(userCategory); + } + }); + return categories; + }, [patternCategories, userPatternCategories]); + const { + createSuccessNotice + } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); + const onClickPattern = (0,external_wp_element_namespaceObject.useCallback)((pattern, blocks) => { + const patternBlocks = pattern.type === INSERTER_PATTERN_TYPES.user && pattern.syncStatus !== 'unsynced' ? [(0,external_wp_blocks_namespaceObject.createBlock)('core/block', { + ref: pattern.id + })] : blocks; + onInsert((patternBlocks !== null && patternBlocks !== void 0 ? patternBlocks : []).map(block => (0,external_wp_blocks_namespaceObject.cloneBlock)(block)), pattern.name); + createSuccessNotice((0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: block pattern title. */ + (0,external_wp_i18n_namespaceObject.__)('Block pattern "%s" inserted.'), pattern.title), { + type: 'snackbar', + id: 'block-pattern-inserted-notice' + }); + }, [createSuccessNotice, onInsert]); + return [patterns, allCategories, onClickPattern]; +}; +/* harmony default export */ var use_patterns_state = (usePatternsState); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-patterns-paging.js /** @@ -28168,7 +46295,7 @@ function usePatternsPaging(currentCategoryPatterns, currentCategory, scrollConta }; } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-explorer/patterns-list.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-explorer/pattern-list.js /** * WordPress dependencies @@ -28197,7 +46324,7 @@ function PatternsListHeader({ if (!filterValue) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHeading, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHeading, { level: 2, lineHeight: '48px', className: "block-editor-block-patterns-explorer__search-results-count" @@ -28221,7 +46348,7 @@ function PatternList({ if (selectedCategory === allPatternsCategory.name) { return true; } - if (selectedCategory === myPatternsCategory.name && pattern.id) { + if (selectedCategory === myPatternsCategory.name && pattern.type === INSERTER_PATTERN_TYPES.user) { return true; } if (selectedCategory === 'uncategorized') { @@ -28255,24 +46382,72 @@ function PatternList({ pagingProps.changePage(1); } const hasItems = !!filteredBlockPatterns?.length; - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-block-patterns-explorer__list", ref: container - }, (0,external_wp_element_namespaceObject.createElement)(PatternsListHeader, { + }, (0,external_React_.createElement)(PatternsListHeader, { filterValue: searchValue, filteredBlockPatternsLength: filteredBlockPatterns.length - }), (0,external_wp_element_namespaceObject.createElement)(inserter_listbox, null, hasItems && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(block_patterns_list, { + }), (0,external_React_.createElement)(inserter_listbox, null, hasItems && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(block_patterns_list, { shownPatterns: pagingProps.categoryPatternsAsyncList, blockPatterns: pagingProps.categoryPatterns, onClickPattern: onClickPattern, isDraggable: false - }), (0,external_wp_element_namespaceObject.createElement)(Pagination, { + }), (0,external_React_.createElement)(Pagination, { ...pagingProps })))); } -/* harmony default export */ var patterns_list = (PatternList); +/* harmony default export */ var pattern_list = (PatternList); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-explorer/explorer.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +function hasRegisteredCategory(pattern, allCategories) { + if (!pattern.categories || !pattern.categories.length) { + return false; + } + return pattern.categories.some(cat => allCategories.some(category => category.name === cat)); +} +function usePatternCategories(rootClientId, sourceFilter = 'all') { + const [patterns, allCategories] = use_patterns_state(undefined, rootClientId); + const filteredPatterns = (0,external_wp_element_namespaceObject.useMemo)(() => sourceFilter === 'all' ? patterns : patterns.filter(pattern => !isPatternFiltered(pattern, sourceFilter)), [sourceFilter, patterns]); + + // Remove any empty categories. + const populatedCategories = (0,external_wp_element_namespaceObject.useMemo)(() => { + const categories = allCategories.filter(category => filteredPatterns.some(pattern => pattern.categories?.includes(category.name))).sort((a, b) => a.label.localeCompare(b.label)); + if (filteredPatterns.some(pattern => !hasRegisteredCategory(pattern, allCategories)) && !categories.find(category => category.name === 'uncategorized')) { + categories.push({ + name: 'uncategorized', + label: (0,external_wp_i18n_namespaceObject._x)('Uncategorized') + }); + } + if (filteredPatterns.some(pattern => pattern.type === INSERTER_PATTERN_TYPES.user)) { + categories.unshift(myPatternsCategory); + } + if (filteredPatterns.length > 0) { + categories.unshift({ + name: allPatternsCategory.name, + label: allPatternsCategory.label + }); + } + (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %d: number of categories . */ + (0,external_wp_i18n_namespaceObject._n)('%d category button displayed.', '%d category buttons displayed.', categories.length), categories.length)); + return categories; + }, [allCategories, filteredPatterns]); + return populatedCategories; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-explorer/index.js /** * WordPress dependencies @@ -28294,10 +46469,10 @@ function PatternsExplorer({ const [searchValue, setSearchValue] = (0,external_wp_element_namespaceObject.useState)(''); const [patternSourceFilter, setPatternSourceFilter] = (0,external_wp_element_namespaceObject.useState)('all'); const [selectedCategory, setSelectedCategory] = (0,external_wp_element_namespaceObject.useState)(initialCategory?.name); - const patternCategories = usePatternsCategories(rootClientId, patternSourceFilter); - return (0,external_wp_element_namespaceObject.createElement)("div", { + const patternCategories = usePatternCategories(rootClientId, patternSourceFilter); + return (0,external_React_.createElement)("div", { className: "block-editor-block-patterns-explorer" - }, (0,external_wp_element_namespaceObject.createElement)(sidebar, { + }, (0,external_React_.createElement)(pattern_explorer_sidebar, { selectedCategory: selectedCategory, patternCategories: patternCategories, onClickCategory: setSelectedCategory, @@ -28305,7 +46480,7 @@ function PatternsExplorer({ setSearchValue: setSearchValue, patternSourceFilter: patternSourceFilter, setPatternSourceFilter: setPatternSourceFilter - }), (0,external_wp_element_namespaceObject.createElement)(patterns_list, { + }), (0,external_React_.createElement)(pattern_list, { searchValue: searchValue, selectedCategory: selectedCategory, patternCategories: patternCategories, @@ -28316,15 +46491,15 @@ function PatternsExplorerModal({ onModalClose, ...restProps }) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Modal, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Modal, { title: (0,external_wp_i18n_namespaceObject.__)('Patterns'), onRequestClose: onModalClose, isFullScreen: true - }, (0,external_wp_element_namespaceObject.createElement)(PatternsExplorer, { + }, (0,external_React_.createElement)(PatternsExplorer, { ...restProps })); } -/* harmony default export */ var explorer = (PatternsExplorerModal); +/* harmony default export */ var block_patterns_explorer = (PatternsExplorerModal); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/mobile-tab-navigation.js @@ -28337,15 +46512,15 @@ function PatternsExplorerModal({ function ScreenHeader({ title }) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 0 - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalView, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalView, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, { marginBottom: 0, paddingX: 4, paddingY: 3 - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { spacing: 2 - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalNavigatorBackButton, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalNavigatorBackButton, { style: // TODO: This style override is also used in ToolsPanelHeader. // It should be supported out-of-the-box by Button. @@ -28356,7 +46531,7 @@ function ScreenHeader({ icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? chevron_right : chevron_left, isSmall: true, "aria-label": (0,external_wp_i18n_namespaceObject.__)('Navigate to the previous view') - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHeading, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHeading, { level: 5 }, title)))))); } @@ -28364,27 +46539,27 @@ function MobileTabNavigation({ categories, children }) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalNavigatorProvider, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalNavigatorProvider, { initialPath: "/", className: "block-editor-inserter__mobile-tab-navigation" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalNavigatorScreen, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalNavigatorScreen, { path: "/" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalItemGroup, null, categories.map(category => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalNavigatorButton, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalItemGroup, null, categories.map(category => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalNavigatorButton, { key: category.name, path: `/category/${category.name}`, as: external_wp_components_namespaceObject.__experimentalItem, isAction: true - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexBlock, null, category.label), (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexBlock, null, category.label), (0,external_React_.createElement)(build_module_icon, { icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? chevron_left : chevron_right - })))))), categories.map(category => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalNavigatorScreen, { + })))))), categories.map(category => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalNavigatorScreen, { key: category.name, path: `/category/${category.name}` - }, (0,external_wp_element_namespaceObject.createElement)(ScreenHeader, { + }, (0,external_React_.createElement)(ScreenHeader, { title: (0,external_wp_i18n_namespaceObject.__)('Back') }), children(category)))); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-filter.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-tab/patterns-filter.js /** * WordPress dependencies @@ -28398,24 +46573,11 @@ function MobileTabNavigation({ * Internal dependencies */ -const PATTERN_TYPES = { - all: 'all', - synced: 'synced', - unsynced: 'unsynced', - user: 'user', - theme: 'theme', - directory: 'directory' -}; -const SYNC_TYPES = { - all: 'all', - full: 'fully', - unsynced: 'unsynced' -}; -const getShouldDisableSyncFilter = sourceFilter => sourceFilter !== PATTERN_TYPES.all && sourceFilter !== PATTERN_TYPES.user; +const getShouldDisableSyncFilter = sourceFilter => sourceFilter !== 'all'; const getShouldDisableNonUserSources = category => { return category.name === myPatternsCategory.name; }; -function BlockPatternsSyncFilter({ +function PatternsFilter({ setPatternSyncFilter, setPatternSourceFilter, patternSyncFilter, @@ -28427,7 +46589,7 @@ function BlockPatternsSyncFilter({ // we do this by deriving from props rather than calling setPatternSourceFilter otherwise // the user may be confused when switching to another category if the haven't explicity set // this filter themselves. - const currentPatternSourceFilter = category.name === myPatternsCategory.name ? PATTERN_TYPES.user : patternSourceFilter; + const currentPatternSourceFilter = category.name === myPatternsCategory.name ? INSERTER_PATTERN_TYPES.user : patternSourceFilter; // We need to disable the sync filter option if the source filter is not 'all' or 'user' // otherwise applying them will just result in no patterns being shown. @@ -28437,84 +46599,84 @@ function BlockPatternsSyncFilter({ // is `myPatterns` otherwise applying them will also just result in no patterns being shown. const shouldDisableNonUserSources = getShouldDisableNonUserSources(category); const patternSyncMenuOptions = (0,external_wp_element_namespaceObject.useMemo)(() => [{ - value: SYNC_TYPES.all, + value: 'all', label: (0,external_wp_i18n_namespaceObject._x)('All', 'Option that shows all patterns') }, { - value: SYNC_TYPES.full, + value: INSERTER_SYNC_TYPES.full, label: (0,external_wp_i18n_namespaceObject._x)('Synced', 'Option that shows all synchronized patterns'), disabled: shouldDisableSyncFilter }, { - value: SYNC_TYPES.unsynced, + value: INSERTER_SYNC_TYPES.unsynced, label: (0,external_wp_i18n_namespaceObject._x)('Not synced', 'Option that shows all patterns that are not synchronized'), disabled: shouldDisableSyncFilter }], [shouldDisableSyncFilter]); const patternSourceMenuOptions = (0,external_wp_element_namespaceObject.useMemo)(() => [{ - value: PATTERN_TYPES.all, + value: 'all', label: (0,external_wp_i18n_namespaceObject.__)('All'), disabled: shouldDisableNonUserSources }, { - value: PATTERN_TYPES.directory, + value: INSERTER_PATTERN_TYPES.directory, label: (0,external_wp_i18n_namespaceObject.__)('Pattern Directory'), disabled: shouldDisableNonUserSources }, { - value: PATTERN_TYPES.theme, + value: INSERTER_PATTERN_TYPES.theme, label: (0,external_wp_i18n_namespaceObject.__)('Theme & Plugins'), disabled: shouldDisableNonUserSources }, { - value: PATTERN_TYPES.user, + value: INSERTER_PATTERN_TYPES.user, label: (0,external_wp_i18n_namespaceObject.__)('User') }], [shouldDisableNonUserSources]); function handleSetSourceFilterChange(newSourceFilter) { setPatternSourceFilter(newSourceFilter); if (getShouldDisableSyncFilter(newSourceFilter)) { - setPatternSyncFilter(SYNC_TYPES.all); + setPatternSyncFilter('all'); } } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DropdownMenu, { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.DropdownMenu, { popoverProps: { placement: 'right-end' }, label: "Filter patterns", - icon: (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { + icon: (0,external_React_.createElement)(build_module_icon, { + icon: (0,external_React_.createElement)(external_wp_components_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { d: "M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z", fill: "#1E1E1E" })) }) - }, () => (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, { + }, () => (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, { label: (0,external_wp_i18n_namespaceObject.__)('Source') - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItemsChoice, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItemsChoice, { choices: patternSourceMenuOptions, onSelect: value => { handleSetSourceFilterChange(value); scrollContainerRef.current?.scrollTo(0, 0); }, value: currentPatternSourceFilter - })), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, { + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, { label: (0,external_wp_i18n_namespaceObject.__)('Type') - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItemsChoice, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItemsChoice, { choices: patternSyncMenuOptions, onSelect: value => { setPatternSyncFilter(value); scrollContainerRef.current?.scrollTo(0, 0); }, value: patternSyncFilter - })), (0,external_wp_element_namespaceObject.createElement)("div", { + })), (0,external_React_.createElement)("div", { className: "block-editor-tool-selector__help" }, (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.__)('Patterns are available from the WordPress.org Pattern Directory, bundled in the active theme, or created by users on this site. Only patterns created on this site can be synced.'), { - Link: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ExternalLink, { + Link: (0,external_React_.createElement)(external_wp_components_namespaceObject.ExternalLink, { href: (0,external_wp_i18n_namespaceObject.__)('https://wordpress.org/patterns/') }) }))))); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-tab.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js /** * WordPress dependencies @@ -28523,10 +46685,6 @@ function BlockPatternsSyncFilter({ - - - - /** * Internal dependencies */ @@ -28536,140 +46694,39 @@ function BlockPatternsSyncFilter({ -const block_patterns_tab_noop = () => {}; -const allPatternsCategory = { - name: 'allPatterns', - label: (0,external_wp_i18n_namespaceObject.__)('All patterns') -}; -const myPatternsCategory = { - name: 'myPatterns', - label: (0,external_wp_i18n_namespaceObject.__)('My patterns') -}; -function isPatternFiltered(pattern, sourceFilter, syncFilter) { - const isUserPattern = pattern.name.startsWith('core/block'); - const isDirectoryPattern = pattern.source === 'core' || pattern.source?.startsWith('pattern-directory'); - - // If theme source selected, filter out user created patterns and those from - // the core patterns directory. - if (sourceFilter === PATTERN_TYPES.theme && (isUserPattern || isDirectoryPattern)) { - return true; - } - - // If the directory source is selected, filter out user created patterns - // and those bundled with the theme. - if (sourceFilter === PATTERN_TYPES.directory && (isUserPattern || !isDirectoryPattern)) { - return true; - } - - // If user source selected, filter out theme patterns. Any pattern without - // an id wasn't created by a user. - if (sourceFilter === PATTERN_TYPES.user && !pattern.id) { - return true; - } - - // Filter by sync status. - if (syncFilter === SYNC_TYPES.full && pattern.syncStatus !== '') { - return true; - } - if (syncFilter === SYNC_TYPES.unsynced && pattern.syncStatus !== 'unsynced' && isUserPattern) { - return true; - } - return false; -} -function usePatternsCategories(rootClientId, sourceFilter = 'all') { - const [patterns, allCategories] = use_patterns_state(undefined, rootClientId); - const filteredPatterns = (0,external_wp_element_namespaceObject.useMemo)(() => sourceFilter === 'all' ? patterns : patterns.filter(pattern => !isPatternFiltered(pattern, sourceFilter)), [sourceFilter, patterns]); - const hasRegisteredCategory = (0,external_wp_element_namespaceObject.useCallback)(pattern => { - if (!pattern.categories || !pattern.categories.length) { - return false; - } - return pattern.categories.some(cat => allCategories.some(category => category.name === cat)); - }, [allCategories]); - - // Remove any empty categories. - const populatedCategories = (0,external_wp_element_namespaceObject.useMemo)(() => { - const categories = allCategories.filter(category => filteredPatterns.some(pattern => pattern.categories?.includes(category.name))).sort((a, b) => a.label.localeCompare(b.label)); - if (filteredPatterns.some(pattern => !hasRegisteredCategory(pattern)) && !categories.find(category => category.name === 'uncategorized')) { - categories.push({ - name: 'uncategorized', - label: (0,external_wp_i18n_namespaceObject._x)('Uncategorized') - }); - } - if (filteredPatterns.some(pattern => pattern.id)) { - categories.unshift(myPatternsCategory); - } - if (filteredPatterns.length > 0) { - categories.unshift({ - name: allPatternsCategory.name, - label: allPatternsCategory.label - }); - } - (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %d: number of categories . */ - (0,external_wp_i18n_namespaceObject._n)('%d category button displayed.', '%d category buttons displayed.', categories.length), categories.length)); - return categories; - }, [allCategories, filteredPatterns, hasRegisteredCategory]); - return populatedCategories; -} -function BlockPatternsCategoryDialog({ +const pattern_category_previews_noop = () => {}; +function PatternCategoryPreviews({ rootClientId, onInsert, - onHover, - category, - showTitlesAsTooltip, - patternFilter -}) { - const container = (0,external_wp_element_namespaceObject.useRef)(); - (0,external_wp_element_namespaceObject.useEffect)(() => { - const timeout = setTimeout(() => { - const [firstTabbable] = external_wp_dom_namespaceObject.focus.tabbable.find(container.current); - firstTabbable?.focus(); - }); - return () => clearTimeout(timeout); - }, [category]); - return (0,external_wp_element_namespaceObject.createElement)("div", { - ref: container, - className: "block-editor-inserter__patterns-category-dialog" - }, (0,external_wp_element_namespaceObject.createElement)(BlockPatternsCategoryPanel, { - key: category.name, - rootClientId: rootClientId, - onInsert: onInsert, - onHover: onHover, - category: category, - showTitlesAsTooltip: showTitlesAsTooltip, - patternFilter: patternFilter - })); -} -function BlockPatternsCategoryPanel({ - rootClientId, - onInsert, - onHover = block_patterns_tab_noop, + onHover = pattern_category_previews_noop, category, showTitlesAsTooltip }) { const [allPatterns,, onClickPattern] = use_patterns_state(onInsert, rootClientId); const [patternSyncFilter, setPatternSyncFilter] = (0,external_wp_element_namespaceObject.useState)('all'); const [patternSourceFilter, setPatternSourceFilter] = (0,external_wp_element_namespaceObject.useState)('all'); - const availableCategories = usePatternsCategories(rootClientId, patternSourceFilter); + const availableCategories = usePatternCategories(rootClientId, patternSourceFilter); const scrollContainerRef = (0,external_wp_element_namespaceObject.useRef)(); const currentCategoryPatterns = (0,external_wp_element_namespaceObject.useMemo)(() => allPatterns.filter(pattern => { - var _pattern$categories$f; if (isPatternFiltered(pattern, patternSourceFilter, patternSyncFilter)) { return false; } if (category.name === allPatternsCategory.name) { return true; } - if (category.name === myPatternsCategory.name && pattern.id) { + if (category.name === myPatternsCategory.name && pattern.type === INSERTER_PATTERN_TYPES.user) { return true; } - if (category.name !== 'uncategorized') { - return pattern.categories?.includes(category.name); - } + if (category.name === 'uncategorized') { + // The uncategorized category should show all the patterns without any category... + if (!pattern.categories) { + return true; + } - // The uncategorized category should show all the patterns without any category - // or with no available category. - const availablePatternCategories = (_pattern$categories$f = pattern.categories?.filter(cat => availableCategories.find(availableCategory => availableCategory.name === cat))) !== null && _pattern$categories$f !== void 0 ? _pattern$categories$f : []; - return availablePatternCategories.length === 0; + // ...or with no available category. + return !pattern.categories.some(catName => availableCategories.some(c => c.name === catName)); + } + return pattern.categories?.includes(category.name); }), [allPatterns, availableCategories, category.name, patternSourceFilter, patternSyncFilter]); const pagingProps = usePatternsPaging(currentCategoryPatterns, category, scrollContainerRef); const { @@ -28687,25 +46744,25 @@ function BlockPatternsCategoryPanel({ setPatternSourceFilter(value); changePage(1); }, [setPatternSourceFilter, changePage]); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-inserter__patterns-category-panel" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 2, className: "block-editor-inserter__patterns-category-panel-header" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexBlock, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHeading, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexBlock, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHeading, { level: 4, as: "div" - }, category.label)), (0,external_wp_element_namespaceObject.createElement)(BlockPatternsSyncFilter, { + }, category.label)), (0,external_React_.createElement)(PatternsFilter, { patternSyncFilter: patternSyncFilter, patternSourceFilter: patternSourceFilter, setPatternSyncFilter: onSetPatternSyncFilter, setPatternSourceFilter: onSetPatternSourceFilter, scrollContainerRef: scrollContainerRef, category: category - })), !currentCategoryPatterns.length && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalText, { + })), !currentCategoryPatterns.length && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalText, { variant: "muted", className: "block-editor-inserter__patterns-category-no-results" - }, (0,external_wp_i18n_namespaceObject.__)('No results found'))), currentCategoryPatterns.length > 0 && (0,external_wp_element_namespaceObject.createElement)(block_patterns_list, { + }, (0,external_wp_i18n_namespaceObject.__)('No results found'))), currentCategoryPatterns.length > 0 && (0,external_React_.createElement)(block_patterns_list, { ref: scrollContainerRef, shownPatterns: pagingProps.categoryPatternsAsyncList, blockPatterns: pagingProps.categoryPatterns, @@ -28720,54 +46777,116 @@ function BlockPatternsCategoryPanel({ pagingProps: pagingProps })); } -function BlockPatternsTabs({ + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-tab/index.js + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + +function BlockPatternsTab({ onSelectCategory, selectedCategory, onInsert, rootClientId }) { const [showPatternsExplorer, setShowPatternsExplorer] = (0,external_wp_element_namespaceObject.useState)(false); - const categories = usePatternsCategories(rootClientId); + const categories = usePatternCategories(rootClientId); const initialCategory = selectedCategory || categories[0]; const isMobile = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium', '<'); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, !isMobile && (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)(external_React_.Fragment, null, !isMobile && (0,external_React_.createElement)("div", { className: "block-editor-inserter__block-patterns-tabs-container" - }, (0,external_wp_element_namespaceObject.createElement)("nav", { + }, (0,external_React_.createElement)("nav", { "aria-label": (0,external_wp_i18n_namespaceObject.__)('Block pattern categories'), className: "block-editor-inserter__block-patterns-tabs" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalItemGroup, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalItemGroup, { role: "list" - }, categories.map(category => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalItem, { + }, categories.map(category => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalItem, { role: "listitem", key: category.name, onClick: () => onSelectCategory(category), className: category === selectedCategory ? 'block-editor-inserter__patterns-category block-editor-inserter__patterns-selected-category' : 'block-editor-inserter__patterns-category', "aria-label": category.label, "aria-current": category === selectedCategory ? 'true' : undefined - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexBlock, null, category.label), (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexBlock, null, category.label), (0,external_React_.createElement)(build_module_icon, { icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? chevron_left : chevron_right - })))), (0,external_wp_element_namespaceObject.createElement)("div", { + })))), (0,external_React_.createElement)("div", { role: "listitem" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { className: "block-editor-inserter__patterns-explore-button", onClick: () => setShowPatternsExplorer(true), variant: "secondary" - }, (0,external_wp_i18n_namespaceObject.__)('Explore all patterns')))))), isMobile && (0,external_wp_element_namespaceObject.createElement)(MobileTabNavigation, { + }, (0,external_wp_i18n_namespaceObject.__)('Explore all patterns')))))), isMobile && (0,external_React_.createElement)(MobileTabNavigation, { categories: categories - }, category => (0,external_wp_element_namespaceObject.createElement)(BlockPatternsCategoryPanel, { + }, category => (0,external_React_.createElement)(PatternCategoryPreviews, { key: category.name, onInsert: onInsert, rootClientId: rootClientId, category: category, showTitlesAsTooltip: false - })), showPatternsExplorer && (0,external_wp_element_namespaceObject.createElement)(explorer, { + })), showPatternsExplorer && (0,external_React_.createElement)(block_patterns_explorer, { initialCategory: initialCategory, patternCategories: categories, onModalClose: () => setShowPatternsExplorer(false), rootClientId: rootClientId })); } -/* harmony default export */ var block_patterns_tab = (BlockPatternsTabs); +/* harmony default export */ var block_patterns_tab = (BlockPatternsTab); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +function PatternCategoryPreviewPanel({ + rootClientId, + onInsert, + onHover, + category, + showTitlesAsTooltip, + patternFilter +}) { + const container = (0,external_wp_element_namespaceObject.useRef)(); + (0,external_wp_element_namespaceObject.useEffect)(() => { + const timeout = setTimeout(() => { + const [firstTabbable] = external_wp_dom_namespaceObject.focus.tabbable.find(container.current); + firstTabbable?.focus(); + }); + return () => clearTimeout(timeout); + }, [category]); + return (0,external_React_.createElement)("div", { + ref: container, + className: "block-editor-inserter__patterns-category-dialog" + }, (0,external_React_.createElement)(PatternCategoryPreviews, { + key: category.name, + rootClientId: rootClientId, + onInsert: onInsert, + onHover: onHover, + category: category, + showTitlesAsTooltip: showTitlesAsTooltip, + patternFilter: patternFilter + })); +} ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/media-tab/hooks.js /** @@ -28894,16 +47013,14 @@ function useMediaCategories(rootClientId) { * WordPress dependencies */ -const external = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const external = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z" })); /* harmony default export */ var library_external = (external); -;// CONCATENATED MODULE: external ["wp","blob"] -var external_wp_blob_namespaceObject = window["wp"]["blob"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/media-tab/utils.js /** @@ -28940,7 +47057,7 @@ function getBlockAndPreviewFromMedia(media, mediaType) { attributes.src = mediaSrc; } const PreviewTag = mediaTypeTag[mediaType]; - const preview = (0,external_wp_element_namespaceObject.createElement)(PreviewTag, { + const preview = (0,external_React_.createElement)(PreviewTag, { src: media.previewUrl || mediaSrc, alt: alt, controls: mediaType === 'audio' ? true : undefined, @@ -28982,12 +47099,16 @@ function getBlockAndPreviewFromMedia(media, mediaType) { + const ALLOWED_MEDIA_TYPES = ['image']; const MAXIMUM_TITLE_LENGTH = 25; const MEDIA_OPTIONS_POPOVER_PROPS = { position: 'bottom left', className: 'block-editor-inserter__media-list__item-preview-options__popover' }; +const { + CompositeItemV2: media_preview_CompositeItem +} = unlock(external_wp_components_namespaceObject.privateApis); function MediaPreviewOptions({ category, media @@ -28996,12 +47117,12 @@ function MediaPreviewOptions({ return null; } const reportUrl = category.getReportUrl(media); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DropdownMenu, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.DropdownMenu, { className: "block-editor-inserter__media-list__item-preview-options", label: (0,external_wp_i18n_namespaceObject.__)('Options'), popoverProps: MEDIA_OPTIONS_POPOVER_PROPS, icon: more_vertical - }, () => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { + }, () => (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { onClick: () => window.open(reportUrl, '_blank').focus(), icon: library_external }, (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: The media type to report e.g: "image", "video", "audio" */ @@ -29011,20 +47132,20 @@ function InsertExternalImageModal({ onClose, onSubmit }) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Modal, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Modal, { title: (0,external_wp_i18n_namespaceObject.__)('Insert external image'), onRequestClose: onClose, className: "block-editor-inserter-media-tab-media-preview-inserter-external-image-modal" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 3 - }, (0,external_wp_element_namespaceObject.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('This image cannot be uploaded to your Media Library, but it can still be inserted as an external image.')), (0,external_wp_element_namespaceObject.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('External images can be removed by the external provider without warning and could even have legal compliance issues related to privacy legislation.'))), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Flex, { + }, (0,external_React_.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('This image cannot be uploaded to your Media Library, but it can still be inserted as an external image.')), (0,external_React_.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('External images can be removed by the external provider without warning and could even have legal compliance issues related to privacy legislation.'))), (0,external_React_.createElement)(external_wp_components_namespaceObject.Flex, { className: "block-editor-block-lock-modal__actions", justify: "flex-end", expanded: false - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "tertiary", onClick: onClose - }, (0,external_wp_i18n_namespaceObject.__)('Cancel'))), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_wp_i18n_namespaceObject.__)('Cancel'))), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "primary", onClick: onSubmit }, (0,external_wp_i18n_namespaceObject.__)('Insert'))))); @@ -29032,7 +47153,6 @@ function InsertExternalImageModal({ function MediaPreview({ media, onClick, - composite, category }) { const [showExternalUploadModal, setShowExternalUploadModal] = (0,external_wp_element_namespaceObject.useState)(false); @@ -29110,40 +47230,40 @@ function MediaPreview({ } const onMouseEnter = (0,external_wp_element_namespaceObject.useCallback)(() => setIsHovered(true), []); const onMouseLeave = (0,external_wp_element_namespaceObject.useCallback)(() => setIsHovered(false), []); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(inserter_draggable_blocks, { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(inserter_draggable_blocks, { isEnabled: true, blocks: [block] }, ({ draggable, onDragStart, onDragEnd - }) => (0,external_wp_element_namespaceObject.createElement)("div", { + }) => (0,external_React_.createElement)("div", { className: classnames_default()('block-editor-inserter__media-list__list-item', { 'is-hovered': isHovered }), draggable: draggable, onDragStart: onDragStart, onDragEnd: onDragEnd - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Tooltip, { - text: truncatedTitle || title - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableCompositeItem, { - role: "option", - as: "div", - ...composite, - className: "block-editor-inserter__media-list__item", - onClick: () => onMediaInsert(block), - "aria-label": title - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Tooltip, { + text: truncatedTitle || title + }, (0,external_React_.createElement)(media_preview_CompositeItem, { + render: (0,external_React_.createElement)("div", { + "aria-label": title, + role: "option", + className: "block-editor-inserter__media-list__item" + }), + onClick: () => onMediaInsert(block) + }, (0,external_React_.createElement)("div", { className: "block-editor-inserter__media-list__item-preview" - }, preview, isInserting && (0,external_wp_element_namespaceObject.createElement)("div", { + }, preview, isInserting && (0,external_React_.createElement)("div", { className: "block-editor-inserter__media-list__item-preview-spinner" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null)))), !isInserting && (0,external_wp_element_namespaceObject.createElement)(MediaPreviewOptions, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Spinner, null))))), !isInserting && (0,external_React_.createElement)(MediaPreviewOptions, { category: category, media: media - }))))), showExternalUploadModal && (0,external_wp_element_namespaceObject.createElement)(InsertExternalImageModal, { + })))), showExternalUploadModal && (0,external_React_.createElement)(InsertExternalImageModal, { onClose: () => setShowExternalUploadModal(false), onSubmit: () => { onClick((0,external_wp_blocks_namespaceObject.cloneBlock)(block)); @@ -29167,44 +47287,32 @@ function MediaPreview({ * Internal dependencies */ + +const { + CompositeV2: media_list_Composite, + useCompositeStoreV2: media_list_useCompositeStore +} = unlock(external_wp_components_namespaceObject.privateApis); function MediaList({ mediaList, category, onClick, label = (0,external_wp_i18n_namespaceObject.__)('Media List') }) { - const composite = (0,external_wp_components_namespaceObject.__unstableUseCompositeState)(); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableComposite, { - ...composite, + const compositeStore = media_list_useCompositeStore(); + return (0,external_React_.createElement)(media_list_Composite, { + store: compositeStore, role: "listbox", className: "block-editor-inserter__media-list", "aria-label": label - }, mediaList.map((media, index) => (0,external_wp_element_namespaceObject.createElement)(MediaPreview, { + }, mediaList.map((media, index) => (0,external_React_.createElement)(MediaPreview, { key: media.id || media.sourceId || index, media: media, category: category, - onClick: onClick, - composite: composite + onClick: onClick }))); } /* harmony default export */ var media_list = (MediaList); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-debounced-input.js -/** - * WordPress dependencies - */ - - -function useDebouncedInput(defaultValue = '') { - const [input, setInput] = (0,external_wp_element_namespaceObject.useState)(defaultValue); - const [debouncedInput, setDebouncedState] = (0,external_wp_element_namespaceObject.useState)(defaultValue); - const setDebouncedInput = (0,external_wp_compose_namespaceObject.useDebounce)(setDebouncedState, 250); - (0,external_wp_element_namespaceObject.useEffect)(() => { - setDebouncedInput(input); - }, [input]); - return [input, setInput, debouncedInput]; -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/no-results.js /** @@ -29213,12 +47321,12 @@ function useDebouncedInput(defaultValue = '') { function InserterNoResults() { - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-inserter__no-results" - }, (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { + }, (0,external_React_.createElement)(build_module_icon, { className: "block-editor-inserter__no-results-icon", icon: block_default - }), (0,external_wp_element_namespaceObject.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('No results found.'))); + }), (0,external_React_.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('No results found.'))); } /* harmony default export */ var no_results = (InserterNoResults); @@ -29232,13 +47340,13 @@ function InserterNoResults() { + /** * Internal dependencies */ - const INITIAL_MEDIA_ITEMS_PER_PAGE = 10; function MediaCategoryDialog({ rootClientId, @@ -29253,10 +47361,10 @@ function MediaCategoryDialog({ }); return () => clearTimeout(timeout); }, [category]); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { ref: container, className: "block-editor-inserter__media-dialog" - }, (0,external_wp_element_namespaceObject.createElement)(MediaCategoryPanel, { + }, (0,external_React_.createElement)(MediaCategoryPanel, { rootClientId: rootClientId, onInsert: onInsert, category: category @@ -29267,7 +47375,7 @@ function MediaCategoryPanel({ onInsert, category }) { - const [search, setSearch, debouncedSearch] = useDebouncedInput(); + const [search, setSearch, debouncedSearch] = (0,external_wp_compose_namespaceObject.useDebouncedInput)(); const { mediaList, isLoading @@ -29277,17 +47385,17 @@ function MediaCategoryPanel({ }); const baseCssClass = 'block-editor-inserter__media-panel'; const searchLabel = category.labels.search_items || (0,external_wp_i18n_namespaceObject.__)('Search'); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: baseCssClass - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SearchControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.SearchControl, { className: `${baseCssClass}-search`, onChange: setSearch, value: search, label: searchLabel, placeholder: searchLabel - }), isLoading && (0,external_wp_element_namespaceObject.createElement)("div", { + }), isLoading && (0,external_React_.createElement)("div", { className: `${baseCssClass}-spinner` - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null)), !isLoading && !mediaList?.length && (0,external_wp_element_namespaceObject.createElement)(no_results, null), !isLoading && !!mediaList?.length && (0,external_wp_element_namespaceObject.createElement)(media_list, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Spinner, null)), !isLoading && !mediaList?.length && (0,external_React_.createElement)(no_results, null), !isLoading && !!mediaList?.length && (0,external_React_.createElement)(media_list, { rootClientId: rootClientId, onClick: onInsert, mediaList: mediaList, @@ -29295,54 +47403,6 @@ function MediaCategoryPanel({ })); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/media-upload/check.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - -function MediaUploadCheck({ - fallback = null, - children -}) { - const hasUploadPermissions = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSettings - } = select(store); - return !!getSettings().mediaUpload; - }, []); - return hasUploadPermissions ? children : fallback; -} - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-upload/README.md - */ -/* harmony default export */ var check = (MediaUploadCheck); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/media-upload/index.js -/** - * WordPress dependencies - */ - - -/** - * This is a placeholder for the media upload component necessary to make it possible to provide - * an integration with the core blocks that handle media files. By default it renders nothing but - * it provides a way to have it overridden with the `editor.MediaUpload` filter. - * - * @return {WPComponent} The component to be rendered. - */ -const MediaUpload = () => null; - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-upload/README.md - */ -/* harmony default export */ var media_upload = ((0,external_wp_components_namespaceObject.withFilters)('editor.MediaUpload')(MediaUpload)); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/media-tab/media-tab.js /** @@ -29389,14 +47449,14 @@ function MediaTab({ ...mediaCategory, label: mediaCategory.labels.name })), [mediaCategories]); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, !isMobile && (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)(external_React_.Fragment, null, !isMobile && (0,external_React_.createElement)("div", { className: `${baseCssClass}-container` - }, (0,external_wp_element_namespaceObject.createElement)("nav", { + }, (0,external_React_.createElement)("nav", { "aria-label": (0,external_wp_i18n_namespaceObject.__)('Media categories') - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalItemGroup, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalItemGroup, { role: "list", className: baseCssClass - }, mediaCategories.map(mediaCategory => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalItem, { + }, mediaCategories.map(mediaCategory => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalItem, { role: "listitem", key: mediaCategory.name, onClick: () => onSelectCategory(mediaCategory), @@ -29405,17 +47465,17 @@ function MediaTab({ }), "aria-label": mediaCategory.labels.name, "aria-current": mediaCategory === selectedCategory ? 'true' : undefined - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexBlock, null, mediaCategory.labels.name), (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexBlock, null, mediaCategory.labels.name), (0,external_React_.createElement)(build_module_icon, { icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? chevron_left : chevron_right - })))), (0,external_wp_element_namespaceObject.createElement)("div", { + })))), (0,external_React_.createElement)("div", { role: "listitem" - }, (0,external_wp_element_namespaceObject.createElement)(check, null, (0,external_wp_element_namespaceObject.createElement)(media_upload, { + }, (0,external_React_.createElement)(check, null, (0,external_React_.createElement)(media_upload, { multiple: false, onSelect: onSelectMedia, allowedTypes: media_tab_ALLOWED_MEDIA_TYPES, render: ({ open - }) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }) => (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { onClick: event => { // Safari doesn't emit a focus event on button elements when // clicked and we need to manually focus the button here. @@ -29430,9 +47490,9 @@ function MediaTab({ variant: "secondary", "data-unstable-ignore-focus-outside-for-relatedtarget": ".media-modal" }, (0,external_wp_i18n_namespaceObject.__)('Open Media Library')) - })))))), isMobile && (0,external_wp_element_namespaceObject.createElement)(MobileTabNavigation, { + })))))), isMobile && (0,external_React_.createElement)(MobileTabNavigation, { categories: mobileMediaCategories - }, category => (0,external_wp_element_namespaceObject.createElement)(MediaCategoryPanel, { + }, category => (0,external_React_.createElement)(MediaCategoryPanel, { onInsert: onInsert, rootClientId: rootClientId, category: category @@ -29447,41 +47507,11 @@ function MediaTab({ const { Fill: __unstableInserterMenuExtension, - Slot + Slot: inserter_menu_extension_Slot } = (0,external_wp_components_namespaceObject.createSlotFill)('__unstableInserterMenuExtension'); -__unstableInserterMenuExtension.Slot = Slot; +__unstableInserterMenuExtension.Slot = inserter_menu_extension_Slot; /* harmony default export */ var inserter_menu_extension = (__unstableInserterMenuExtension); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/order-inserter-block-items.js -/** @typedef {import('../store/selectors').WPEditorInserterItem} WPEditorInserterItem */ - -/** - * Helper function to order inserter block items according to a provided array of prioritized blocks. - * - * @param {WPEditorInserterItem[]} items The array of editor inserter block items to be sorted. - * @param {string[]} priority The array of block names to be prioritized. - * @return {WPEditorInserterItem[]} The sorted array of editor inserter block items. - */ -const orderInserterBlockItems = (items, priority) => { - if (!priority) { - return items; - } - items.sort(({ - id: aName - }, { - id: bName - }) => { - // Sort block items according to `priority`. - let aIndex = priority.indexOf(aName); - let bIndex = priority.indexOf(bName); - // All other block items should come after that. - if (aIndex < 0) aIndex = priority.length; - if (bIndex < 0) bIndex = priority.length; - return aIndex - bIndex; - }); - return items; -}; - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/search-results.js /** @@ -29594,29 +47624,29 @@ function InserterSearchResults({ }); const currentShownPatterns = (0,external_wp_compose_namespaceObject.useAsyncList)(currentShownBlockTypes.length === filteredBlockTypes.length ? filteredBlockPatterns : search_results_EMPTY_ARRAY); const hasItems = filteredBlockTypes.length > 0 || filteredBlockPatterns.length > 0; - const blocksUI = !!filteredBlockTypes.length && (0,external_wp_element_namespaceObject.createElement)(panel, { - title: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, null, (0,external_wp_i18n_namespaceObject.__)('Blocks')) - }, (0,external_wp_element_namespaceObject.createElement)(block_types_list, { + const blocksUI = !!filteredBlockTypes.length && (0,external_React_.createElement)(panel, { + title: (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, null, (0,external_wp_i18n_namespaceObject.__)('Blocks')) + }, (0,external_React_.createElement)(block_types_list, { items: currentShownBlockTypes, onSelect: onSelectBlockType, onHover: onHover, label: (0,external_wp_i18n_namespaceObject.__)('Blocks'), isDraggable: isDraggable })); - const patternsUI = !!filteredBlockPatterns.length && (0,external_wp_element_namespaceObject.createElement)(panel, { - title: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, null, (0,external_wp_i18n_namespaceObject.__)('Block patterns')) - }, (0,external_wp_element_namespaceObject.createElement)("div", { + const patternsUI = !!filteredBlockPatterns.length && (0,external_React_.createElement)(panel, { + title: (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, null, (0,external_wp_i18n_namespaceObject.__)('Block patterns')) + }, (0,external_React_.createElement)("div", { className: "block-editor-inserter__quick-inserter-patterns" - }, (0,external_wp_element_namespaceObject.createElement)(block_patterns_list, { + }, (0,external_React_.createElement)(block_patterns_list, { shownPatterns: currentShownPatterns, blockPatterns: filteredBlockPatterns, onClickPattern: onClickPattern, onHover: onHoverPattern, isDraggable: isDraggable }))); - return (0,external_wp_element_namespaceObject.createElement)(inserter_listbox, null, !showBlockDirectory && !hasItems && (0,external_wp_element_namespaceObject.createElement)(no_results, null), prioritizePatterns ? patternsUI : blocksUI, !!filteredBlockTypes.length && !!filteredBlockPatterns.length && (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)(inserter_listbox, null, !showBlockDirectory && !hasItems && (0,external_React_.createElement)(no_results, null), prioritizePatterns ? patternsUI : blocksUI, !!filteredBlockTypes.length && !!filteredBlockPatterns.length && (0,external_React_.createElement)("div", { className: "block-editor-inserter__quick-inserter-separator" - }), prioritizePatterns ? blocksUI : patternsUI, showBlockDirectory && (0,external_wp_element_namespaceObject.createElement)(inserter_menu_extension.Slot, { + }), prioritizePatterns ? blocksUI : patternsUI, showBlockDirectory && (0,external_React_.createElement)(inserter_menu_extension.Slot, { fillProps: { onSelect: onSelectBlockType, onHover, @@ -29629,7 +47659,7 @@ function InserterSearchResults({ return fills; } if (!hasItems) { - return (0,external_wp_element_namespaceObject.createElement)(no_results, null); + return (0,external_React_.createElement)(no_results, null); } return null; })); @@ -29644,6 +47674,13 @@ function InserterSearchResults({ +/** + * Internal dependencies + */ + +const { + Tabs +} = unlock(external_wp_components_namespaceObject.privateApis); const blocksTab = { name: 'blocks', /* translators: Blocks tab title in the block inserter. */ @@ -29660,31 +47697,24 @@ const mediaTab = { title: (0,external_wp_i18n_namespaceObject.__)('Media') }; function InserterTabs({ - children, showPatterns = false, showMedia = false, onSelect, - prioritizePatterns + tabsContents }) { - const tabs = (0,external_wp_element_namespaceObject.useMemo)(() => { - const tempTabs = []; - if (prioritizePatterns && showPatterns) { - tempTabs.push(patternsTab); - } - tempTabs.push(blocksTab); - if (!prioritizePatterns && showPatterns) { - tempTabs.push(patternsTab); - } - if (showMedia) { - tempTabs.push(mediaTab); - } - return tempTabs; - }, [prioritizePatterns, showPatterns, showMedia]); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TabPanel, { - className: "block-editor-inserter__tabs", - tabs: tabs, + const tabs = [blocksTab, showPatterns && patternsTab, showMedia && mediaTab].filter(Boolean); + return (0,external_React_.createElement)("div", { + className: "block-editor-inserter__tabs" + }, (0,external_React_.createElement)(Tabs, { onSelect: onSelect - }, children); + }, (0,external_React_.createElement)(Tabs.TabList, null, tabs.map(tab => (0,external_React_.createElement)(Tabs.Tab, { + key: tab.name, + tabId: tab.name + }, tab.title))), tabs.map(tab => (0,external_React_.createElement)(Tabs.TabPanel, { + key: tab.name, + tabId: tab.name, + focusable: false + }, tabsContents[tab.name])))); } /* harmony default export */ var tabs = (InserterTabs); @@ -29703,6 +47733,7 @@ function InserterTabs({ + /** * Internal dependencies */ @@ -29716,6 +47747,7 @@ function InserterTabs({ + function InserterMenu({ rootClientId, clientId, @@ -29725,10 +47757,9 @@ function InserterMenu({ showInserterHelpPanel, showMostUsedBlocks, __experimentalFilterValue = '', - shouldFocusBlock = true, - prioritizePatterns + shouldFocusBlock = true }, ref) { - const [filterValue, setFilterValue, delayedFilterValue] = useDebouncedInput(__experimentalFilterValue); + const [filterValue, setFilterValue, delayedFilterValue] = (0,external_wp_compose_namespaceObject.useDebouncedInput)(__experimentalFilterValue); const [hoveredItem, setHoveredItem] = (0,external_wp_element_namespaceObject.useState)(null); const [selectedPatternCategory, setSelectedPatternCategory] = (0,external_wp_element_namespaceObject.useState)(null); const [patternFilter, setPatternFilter] = (0,external_wp_element_namespaceObject.useState)('all'); @@ -29742,25 +47773,17 @@ function InserterMenu({ shouldFocusBlock }); const { - showPatterns, - inserterItems + showPatterns } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { - __experimentalGetAllowedPatterns, - getInserterItems - } = select(store); + hasAllowedPatterns + } = unlock(select(store)); return { - showPatterns: !!__experimentalGetAllowedPatterns(destinationRootClientId).length, - inserterItems: getInserterItems(destinationRootClientId) + showPatterns: hasAllowedPatterns(destinationRootClientId) }; }, [destinationRootClientId]); - const hasReusableBlocks = (0,external_wp_element_namespaceObject.useMemo)(() => { - return inserterItems.some(({ - category - }) => category === 'reusable'); - }, [inserterItems]); const mediaCategories = useMediaCategories(destinationRootClientId); - const showMedia = !!mediaCategories.length; + const showMedia = mediaCategories.length > 0; const onInsert = (0,external_wp_element_namespaceObject.useCallback)((blocks, meta, shouldForceFocusBlock) => { onInsertBlocks(blocks, meta, shouldForceFocusBlock); onSelect(); @@ -29782,39 +47805,35 @@ function InserterMenu({ setSelectedPatternCategory(patternCategory); setPatternFilter(filter); }, [setSelectedPatternCategory]); - const blocksTab = (0,external_wp_element_namespaceObject.useMemo)(() => (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("div", { + const blocksTab = (0,external_wp_element_namespaceObject.useMemo)(() => (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)("div", { className: "block-editor-inserter__block-list" - }, (0,external_wp_element_namespaceObject.createElement)(block_types_tab, { + }, (0,external_React_.createElement)(block_types_tab, { rootClientId: destinationRootClientId, onInsert: onInsert, onHover: onHover, showMostUsedBlocks: showMostUsedBlocks - })), showInserterHelpPanel && (0,external_wp_element_namespaceObject.createElement)("div", { + })), showInserterHelpPanel && (0,external_React_.createElement)("div", { className: "block-editor-inserter__tips" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { as: "h2" - }, (0,external_wp_i18n_namespaceObject.__)('A tip for using the block editor')), (0,external_wp_element_namespaceObject.createElement)(tips, null))), [destinationRootClientId, onInsert, onHover, showMostUsedBlocks, showInserterHelpPanel]); - const patternsTab = (0,external_wp_element_namespaceObject.useMemo)(() => (0,external_wp_element_namespaceObject.createElement)(block_patterns_tab, { + }, (0,external_wp_i18n_namespaceObject.__)('A tip for using the block editor')), (0,external_React_.createElement)(tips, null))), [destinationRootClientId, onInsert, onHover, showMostUsedBlocks, showInserterHelpPanel]); + const patternsTab = (0,external_wp_element_namespaceObject.useMemo)(() => (0,external_React_.createElement)(block_patterns_tab, { rootClientId: destinationRootClientId, onInsert: onInsertPattern, onSelectCategory: onClickPatternCategory, selectedCategory: selectedPatternCategory }), [destinationRootClientId, onInsertPattern, onClickPatternCategory, selectedPatternCategory]); - const mediaTab = (0,external_wp_element_namespaceObject.useMemo)(() => (0,external_wp_element_namespaceObject.createElement)(media_tab, { + const mediaTab = (0,external_wp_element_namespaceObject.useMemo)(() => (0,external_React_.createElement)(media_tab, { rootClientId: destinationRootClientId, selectedCategory: selectedMediaCategory, onSelectCategory: setSelectedMediaCategory, onInsert: onInsert }), [destinationRootClientId, onInsert, selectedMediaCategory, setSelectedMediaCategory]); - const getCurrentTab = (0,external_wp_element_namespaceObject.useCallback)(tab => { - if (tab.name === 'blocks') { - return blocksTab; - } else if (tab.name === 'patterns') { - return patternsTab; - } else if (tab.name === 'media') { - return mediaTab; - } - }, [blocksTab, patternsTab, mediaTab]); + const inserterTabsContents = (0,external_wp_element_namespaceObject.useMemo)(() => ({ + blocks: blocksTab, + patterns: patternsTab, + media: mediaTab + }), [blocksTab, mediaTab, patternsTab]); const searchRef = (0,external_wp_element_namespaceObject.useRef)(); (0,external_wp_element_namespaceObject.useImperativeHandle)(ref, () => ({ focusSearch: () => { @@ -29822,7 +47841,7 @@ function InserterMenu({ } })); const showPatternPanel = selectedTab === 'patterns' && !delayedFilterValue && selectedPatternCategory; - const showAsTabs = !delayedFilterValue && (showPatterns || hasReusableBlocks || showMedia); + const showAsTabs = !delayedFilterValue && (showPatterns || showMedia); const showMediaPanel = selectedTab === 'media' && !delayedFilterValue && selectedMediaCategory; const handleSetSelectedTab = value => { // If no longer on patterns tab remove the category setting. @@ -29831,13 +47850,13 @@ function InserterMenu({ } setSelectedTab(value); }; - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-inserter__menu" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: classnames_default()('block-editor-inserter__main-area', { 'show-as-tabs': showAsTabs }) - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SearchControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.SearchControl, { __nextHasNoMarginBottom: true, className: "block-editor-inserter__search", onChange: value => { @@ -29848,9 +47867,9 @@ function InserterMenu({ label: (0,external_wp_i18n_namespaceObject.__)('Search for blocks and patterns'), placeholder: (0,external_wp_i18n_namespaceObject.__)('Search'), ref: searchRef - }), !!delayedFilterValue && (0,external_wp_element_namespaceObject.createElement)("div", { + }), !!delayedFilterValue && (0,external_React_.createElement)("div", { className: "block-editor-inserter__no-tab-container" - }, (0,external_wp_element_namespaceObject.createElement)(search_results, { + }, (0,external_React_.createElement)(search_results, { filterValue: delayedFilterValue, onSelect: onSelect, onHover: onHover, @@ -29861,21 +47880,26 @@ function InserterMenu({ __experimentalInsertionIndex: __experimentalInsertionIndex, showBlockDirectory: true, shouldFocusBlock: shouldFocusBlock - })), showAsTabs && (0,external_wp_element_namespaceObject.createElement)(tabs, { + })), showAsTabs && (0,external_React_.createElement)(tabs, { showPatterns: showPatterns, - showReusableBlocks: hasReusableBlocks, showMedia: showMedia, - prioritizePatterns: prioritizePatterns, - onSelect: handleSetSelectedTab - }, getCurrentTab), !delayedFilterValue && !showAsTabs && (0,external_wp_element_namespaceObject.createElement)("div", { + onSelect: handleSetSelectedTab, + tabsContents: inserterTabsContents + }), !delayedFilterValue && !showAsTabs && (0,external_React_.createElement)("div", { className: "block-editor-inserter__no-tab-container" - }, blocksTab)), showMediaPanel && (0,external_wp_element_namespaceObject.createElement)(MediaCategoryDialog, { + }, blocksTab)), showMediaPanel && (0,external_React_.createElement)(MediaCategoryDialog, { rootClientId: destinationRootClientId, onInsert: onInsert, category: selectedMediaCategory - }), showInserterHelpPanel && hoveredItem && (0,external_wp_element_namespaceObject.createElement)(preview_panel, { + }), showInserterHelpPanel && hoveredItem && (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover, { + className: "block-editor-inserter__preview-container__popover", + placement: "right-start", + offset: 16, + focusOnMount: false, + animate: false + }, (0,external_React_.createElement)(preview_panel, { item: hoveredItem - }), showPatternPanel && (0,external_wp_element_namespaceObject.createElement)(BlockPatternsCategoryDialog, { + })), showPatternPanel && (0,external_React_.createElement)(PatternCategoryPreviewPanel, { rootClientId: destinationRootClientId, onInsert: onInsertPattern, onHover: onHoverPattern, @@ -29910,7 +47934,7 @@ function InserterMenu({ const SEARCH_THRESHOLD = 6; -const SHOWN_BLOCK_TYPES = 6; +const quick_inserter_SHOWN_BLOCK_TYPES = 6; const SHOWN_BLOCK_PATTERNS = 2; const SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION = 4; function QuickInserter({ @@ -29969,12 +47993,12 @@ function QuickInserter({ if (showPatterns) { maxBlockPatterns = prioritizePatterns ? SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION : SHOWN_BLOCK_PATTERNS; } - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: classnames_default()('block-editor-inserter__quick-inserter', { 'has-search': showSearch, 'has-expand': setInserterIsOpened }) - }, showSearch && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SearchControl, { + }, showSearch && (0,external_React_.createElement)(external_wp_components_namespaceObject.SearchControl, { __nextHasNoMarginBottom: true, className: "block-editor-inserter__search", value: filterValue, @@ -29983,20 +48007,20 @@ function QuickInserter({ }, label: (0,external_wp_i18n_namespaceObject.__)('Search for blocks and patterns'), placeholder: (0,external_wp_i18n_namespaceObject.__)('Search') - }), (0,external_wp_element_namespaceObject.createElement)("div", { + }), (0,external_React_.createElement)("div", { className: "block-editor-inserter__quick-inserter-results" - }, (0,external_wp_element_namespaceObject.createElement)(search_results, { + }, (0,external_React_.createElement)(search_results, { filterValue: filterValue, onSelect: onSelect, rootClientId: rootClientId, clientId: clientId, isAppender: isAppender, maxBlockPatterns: maxBlockPatterns, - maxBlockTypes: SHOWN_BLOCK_TYPES, + maxBlockTypes: quick_inserter_SHOWN_BLOCK_TYPES, isDraggable: false, prioritizePatterns: prioritizePatterns, selectBlockOnInsert: selectBlockOnInsert - })), setInserterIsOpened && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + })), setInserterIsOpened && (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { className: "block-editor-inserter__quick-inserter-expand", onClick: onBrowseAll, "aria-label": (0,external_wp_i18n_namespaceObject.__)('Browse all. This will open the main inserter panel in the editor toolbar.') @@ -30063,7 +48087,7 @@ const defaultRenderToggle = ({ onClick(event); } } - return (0,external_wp_element_namespaceObject.createElement)(Wrapper, { + return (0,external_React_.createElement)(Wrapper, { icon: library_plus, label: label, tooltipPosition: "bottom", @@ -30101,7 +48125,7 @@ class PrivateInserter extends external_wp_element_namespaceObject.Component { * pressed. * @param {boolean} options.isOpen Whether dropdown is currently open. * - * @return {WPElement} Dropdown toggle element. + * @return {Element} Dropdown toggle element. */ renderToggle({ onToggle, @@ -30136,7 +48160,7 @@ class PrivateInserter extends external_wp_element_namespaceObject.Component { * @param {Function} options.onClose Callback to invoke when dropdown is * closed. * - * @return {WPElement} Dropdown content element. + * @return {Element} Dropdown content element. */ renderContent({ onClose @@ -30154,7 +48178,7 @@ class PrivateInserter extends external_wp_element_namespaceObject.Component { selectBlockOnInsert } = this.props; if (isQuick) { - return (0,external_wp_element_namespaceObject.createElement)(QuickInserter, { + return (0,external_React_.createElement)(QuickInserter, { onSelect: blocks => { const firstBlock = Array.isArray(blocks) && blocks?.length ? blocks[0] : blocks; if (onSelectOrClose && typeof onSelectOrClose === 'function') { @@ -30169,15 +48193,14 @@ class PrivateInserter extends external_wp_element_namespaceObject.Component { selectBlockOnInsert: selectBlockOnInsert }); } - return (0,external_wp_element_namespaceObject.createElement)(menu, { + return (0,external_React_.createElement)(menu, { onSelect: () => { onClose(); }, rootClientId: rootClientId, clientId: clientId, isAppender: isAppender, - showInserterHelpPanel: showInserterHelpPanel, - prioritizePatterns: prioritizePatterns + showInserterHelpPanel: showInserterHelpPanel }); } render() { @@ -30194,7 +48217,7 @@ class PrivateInserter extends external_wp_element_namespaceObject.Component { onToggle: insertOnlyAllowedBlock }); } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Dropdown, { className: "block-editor-inserter", contentClassName: classnames_default()('block-editor-inserter__popover', { 'is-quick': isQuick @@ -30363,7 +48386,7 @@ const ComposedPrivateInserter = (0,external_wp_compose_namespaceObject.compose)( clientId }) => hasItems || !isAppender && !rootClientId && !clientId)])(PrivateInserter); const Inserter = (0,external_wp_element_namespaceObject.forwardRef)((props, ref) => { - return (0,external_wp_element_namespaceObject.createElement)(ComposedPrivateInserter, { + return (0,external_React_.createElement)(ComposedPrivateInserter, { ref: ref, ...props }); @@ -30408,12 +48431,12 @@ function DefaultBlockAppender({ return null; } const value = (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(placeholder) || (0,external_wp_i18n_namespaceObject.__)('Type / to choose a block'); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { "data-root-client-id": rootClientId || '', className: classnames_default()('block-editor-default-block-appender', { 'has-visible-prompt': showPrompt }) - }, (0,external_wp_element_namespaceObject.createElement)("p", { + }, (0,external_React_.createElement)("p", { tabIndex: "0" // We want this element to be styled as a paragraph by themes. // eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role @@ -30434,7 +48457,7 @@ function DefaultBlockAppender({ onAppend(); } } - }, showPrompt ? value : ZWNBSP), (0,external_wp_element_namespaceObject.createElement)(inserter, { + }, showPrompt ? value : ZWNBSP), (0,external_React_.createElement)(inserter, { rootClientId: rootClientId, position: "bottom right", isAppender: true, @@ -30498,7 +48521,7 @@ function ButtonBlockAppender({ onFocus, tabIndex }, ref) { - return (0,external_wp_element_namespaceObject.createElement)(inserter, { + return (0,external_React_.createElement)(inserter, { position: "bottom center", rootClientId: rootClientId, __experimentalIsQuick: true, @@ -30518,7 +48541,7 @@ function ButtonBlockAppender({ label = (0,external_wp_i18n_namespaceObject._x)('Add block', 'Generic label for block inserter button'); } const isToggleButton = !hasSingleBlockType; - let inserterButton = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + let inserterButton = (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { ref: ref, onFocus: onFocus, tabIndex: tabIndex, @@ -30528,13 +48551,13 @@ function ButtonBlockAppender({ "aria-expanded": isToggleButton ? isOpen : undefined, disabled: disabled, label: label - }, !hasSingleBlockType && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + }, !hasSingleBlockType && (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { as: "span" - }, label), (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { + }, label), (0,external_React_.createElement)(build_module_icon, { icon: library_plus })); if (isToggleButton || hasSingleBlockType) { - inserterButton = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Tooltip, { + inserterButton = (0,external_React_.createElement)(external_wp_components_namespaceObject.Tooltip, { text: label }, inserterButton); } @@ -30588,13 +48611,13 @@ function DefaultAppender({ if (canInsertDefaultBlock) { // Render the default block appender if the context supports use // of the default appender. - return (0,external_wp_element_namespaceObject.createElement)(default_block_appender, { + return (0,external_React_.createElement)(default_block_appender, { rootClientId: rootClientId }); } // Fallback in case the default block can't be inserted. - return (0,external_wp_element_namespaceObject.createElement)(button_block_appender, { + return (0,external_React_.createElement)(button_block_appender, { rootClientId: rootClientId, className: "block-list-appender__toggle" }); @@ -30607,9 +48630,6 @@ function useAppender(rootClientId, CustomAppender) { __unstableGetEditorMode, getBlockEditingMode } = select(store); - if (CustomAppender === false) { - return false; - } if (!CustomAppender) { const selectedBlockClientId = getSelectedBlockClientId(); const isParentSelected = rootClientId === selectedBlockClientId || !rootClientId && !selectedBlockClientId; @@ -30625,7 +48645,7 @@ function useAppender(rootClientId, CustomAppender) { if (!isVisible) { return null; } - return CustomAppender ? (0,external_wp_element_namespaceObject.createElement)(CustomAppender, null) : (0,external_wp_element_namespaceObject.createElement)(DefaultAppender, { + return CustomAppender ? (0,external_React_.createElement)(CustomAppender, null) : (0,external_React_.createElement)(DefaultAppender, { rootClientId: rootClientId }); } @@ -30634,6 +48654,22 @@ function BlockListAppender({ renderAppender, className, tagName: TagName = 'div' +}) { + if (renderAppender === false) { + return null; + } + return (0,external_React_.createElement)(BlockListAppenderInner, { + rootClientId: rootClientId, + renderAppender: renderAppender, + className: className, + tagName: TagName + }); +} +function BlockListAppenderInner({ + rootClientId, + renderAppender, + className, + tagName: TagName }) { const appender = useAppender(rootClientId, renderAppender); const isDragOver = (0,external_wp_data_namespaceObject.useSelect)(select => { @@ -30651,7 +48687,7 @@ function BlockListAppender({ if (!appender) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(TagName + return (0,external_React_.createElement)(TagName // A `tabIndex` is used on the wrapping `div` element in order to // force a focus event to occur when an appender `button` element // is clicked. In some browsers (Firefox, Safari), button clicks do @@ -30684,44 +48720,6 @@ function BlockListAppender({ } /* harmony default export */ var block_list_appender = (BlockListAppender); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-popover/use-popover-scroll.js -/** - * WordPress dependencies - */ - - -/** - * Allow scrolling "through" popovers over the canvas. This is only called for - * as long as the pointer is over a popover. Do not use React events because it - * will bubble through portals. - * - * @param {Object} scrollableRef - */ -function usePopoverScroll(scrollableRef) { - return (0,external_wp_compose_namespaceObject.useRefEffect)(node => { - if (!scrollableRef) { - return; - } - function onWheel(event) { - const { - deltaX, - deltaY - } = event; - scrollableRef.current.scrollBy(deltaX, deltaY); - } - // Tell the browser that we do not call event.preventDefault - // See https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#improving_scrolling_performance_with_passive_listeners - const options = { - passive: true - }; - node.addEventListener('wheel', onWheel, options); - return () => { - node.removeEventListener('wheel', onWheel, options); - }; - }, [scrollableRef]); -} -/* harmony default export */ var use_popover_scroll = (usePopoverScroll); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-popover/inbetween.js /** @@ -30743,7 +48741,7 @@ function usePopoverScroll(scrollableRef) { -const MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER; +const inbetween_MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER; const InsertionPointOpenRef = (0,external_wp_element_namespaceObject.createContext)(); function BlockPopoverInbetween({ previousClientId, @@ -30751,12 +48749,14 @@ function BlockPopoverInbetween({ children, __unstablePopoverSlot, __unstableContentRef, + operation = 'insert', + nearestSide = 'right', ...props }) { // This is a temporary hack to get the inbetween inserter to recompute properly. const [popoverRecomputeCounter, forcePopoverRecompute] = (0,external_wp_element_namespaceObject.useReducer)( // Module is there to make sure that the counter doesn't overflow. - s => (s + 1) % MAX_POPOVER_RECOMPUTE_COUNTER, 0); + s => (s + 1) % inbetween_MAX_POPOVER_RECOMPUTE_COUNTER, 0); const { orientation, rootClientId, @@ -30785,7 +48785,7 @@ function BlockPopoverInbetween({ popoverRecomputeCounter < 0 || !previousElement && !nextElement || !isVisible) { return undefined; } - const contextElement = previousElement || nextElement; + const contextElement = operation === 'group' ? nextElement || previousElement : previousElement || nextElement; return { contextElement, getBoundingClientRect() { @@ -30795,7 +48795,17 @@ function BlockPopoverInbetween({ let top = 0; let width = 0; let height = 0; - if (isVertical) { + if (operation === 'group') { + const targetRect = nextRect || previousRect; + top = targetRect.top; + // No spacing is likely around blocks in this operation. + // So width of the inserter containing rect is set to 0. + width = 0; + height = targetRect.bottom - targetRect.top; + // Popover calculates its distance from mid-block so some + // adjustments are needed to make it appear in the right place. + left = nearestSide === 'left' ? targetRect.left - 2 : targetRect.right - 2; + } else if (isVertical) { // vertical top = previousRect ? previousRect.bottom : nextRect.top; width = previousRect ? previousRect.width : nextRect.width; @@ -30817,7 +48827,7 @@ function BlockPopoverInbetween({ return new window.DOMRect(left, top, width, height); } }; - }, [previousElement, nextElement, popoverRecomputeCounter, isVertical, isVisible]); + }, [previousElement, nextElement, popoverRecomputeCounter, isVertical, isVisible, operation, nearestSide]); const popoverScrollRef = use_popover_scroll(__unstableContentRef); // This is only needed for a smooth transition when moving blocks. @@ -30876,7 +48886,7 @@ function BlockPopoverInbetween({ // Firefox and Safari, it is not reliable. // // See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover, { ref: popoverScrollRef, animate: false, anchor: popoverAnchor, @@ -30896,7 +48906,7 @@ function BlockPopoverInbetween({ flip: false, placement: "overlay", variant: "unstyled" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-block-popover__inbetween-container" }, children)); /* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */ @@ -30904,132 +48914,6 @@ function BlockPopoverInbetween({ /* harmony default export */ var inbetween = (BlockPopoverInbetween); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-popover/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -const block_popover_MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER; -function BlockPopover({ - clientId, - bottomClientId, - children, - __unstableRefreshSize, - __unstableCoverTarget = false, - __unstablePopoverSlot, - __unstableContentRef, - shift = true, - ...props -}, ref) { - const selectedElement = useBlockElement(clientId); - const lastSelectedElement = useBlockElement(bottomClientId !== null && bottomClientId !== void 0 ? bottomClientId : clientId); - const mergedRefs = (0,external_wp_compose_namespaceObject.useMergeRefs)([ref, use_popover_scroll(__unstableContentRef)]); - const [popoverDimensionsRecomputeCounter, forceRecomputePopoverDimensions] = (0,external_wp_element_namespaceObject.useReducer)( - // Module is there to make sure that the counter doesn't overflow. - s => (s + 1) % block_popover_MAX_POPOVER_RECOMPUTE_COUNTER, 0); - - // When blocks are moved up/down, they are animated to their new position by - // updating the `transform` property manually (i.e. without using CSS - // transitions or animations). The animation, which can also scroll the block - // editor, can sometimes cause the position of the Popover to get out of sync. - // A MutationObserver is therefore used to make sure that changes to the - // selectedElement's attribute (i.e. `transform`) can be tracked and used to - // trigger the Popover to rerender. - (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { - if (!selectedElement) { - return; - } - const observer = new window.MutationObserver(forceRecomputePopoverDimensions); - observer.observe(selectedElement, { - attributes: true - }); - return () => { - observer.disconnect(); - }; - }, [selectedElement]); - const style = (0,external_wp_element_namespaceObject.useMemo)(() => { - if ( - // popoverDimensionsRecomputeCounter is by definition always equal or greater - // than 0. This check is only there to satisfy the correctness of the - // exhaustive-deps rule for the `useMemo` hook. - popoverDimensionsRecomputeCounter < 0 || !selectedElement || lastSelectedElement !== selectedElement) { - return {}; - } - return { - position: 'absolute', - width: selectedElement.offsetWidth, - height: selectedElement.offsetHeight - }; - }, [selectedElement, lastSelectedElement, __unstableRefreshSize, popoverDimensionsRecomputeCounter]); - const popoverAnchor = (0,external_wp_element_namespaceObject.useMemo)(() => { - if ( - // popoverDimensionsRecomputeCounter is by definition always equal or greater - // than 0. This check is only there to satisfy the correctness of the - // exhaustive-deps rule for the `useMemo` hook. - popoverDimensionsRecomputeCounter < 0 || !selectedElement || bottomClientId && !lastSelectedElement) { - return undefined; - } - return { - getBoundingClientRect() { - var _lastSelectedBCR$left, _lastSelectedBCR$top, _lastSelectedBCR$righ, _lastSelectedBCR$bott; - const selectedBCR = selectedElement.getBoundingClientRect(); - const lastSelectedBCR = lastSelectedElement?.getBoundingClientRect(); - - // Get the biggest rectangle that encompasses completely the currently - // selected element and the last selected element: - // - for top/left coordinates, use the smaller numbers - // - for the bottom/right coordinates, use the largest numbers - const left = Math.min(selectedBCR.left, (_lastSelectedBCR$left = lastSelectedBCR?.left) !== null && _lastSelectedBCR$left !== void 0 ? _lastSelectedBCR$left : Infinity); - const top = Math.min(selectedBCR.top, (_lastSelectedBCR$top = lastSelectedBCR?.top) !== null && _lastSelectedBCR$top !== void 0 ? _lastSelectedBCR$top : Infinity); - const right = Math.max(selectedBCR.right, (_lastSelectedBCR$righ = lastSelectedBCR.right) !== null && _lastSelectedBCR$righ !== void 0 ? _lastSelectedBCR$righ : -Infinity); - const bottom = Math.max(selectedBCR.bottom, (_lastSelectedBCR$bott = lastSelectedBCR.bottom) !== null && _lastSelectedBCR$bott !== void 0 ? _lastSelectedBCR$bott : -Infinity); - const width = right - left; - const height = bottom - top; - return new window.DOMRect(left, top, width, height); - }, - contextElement: selectedElement - }; - }, [bottomClientId, lastSelectedElement, selectedElement, popoverDimensionsRecomputeCounter]); - if (!selectedElement || bottomClientId && !lastSelectedElement) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { - ref: mergedRefs, - animate: false, - focusOnMount: false, - anchor: popoverAnchor - // Render in the old slot if needed for backward compatibility, - // otherwise render in place (not in the default popover slot). - , - __unstableSlotName: __unstablePopoverSlot, - inline: !__unstablePopoverSlot, - placement: "top-start", - resize: false, - flip: false, - shift: shift, - ...props, - className: classnames_default()('block-editor-block-popover', props.className), - variant: "unstyled" - }, __unstableCoverTarget && (0,external_wp_element_namespaceObject.createElement)("div", { - style: style - }, children), !__unstableCoverTarget && children); -} -/* harmony default export */ var block_popover = ((0,external_wp_element_namespaceObject.forwardRef)(BlockPopover)); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-popover/drop-zone.js /** @@ -31079,13 +48963,13 @@ function BlockDropZonePopover({ }; }, []); const reducedMotion = (0,external_wp_compose_namespaceObject.useReducedMotion)(); - return (0,external_wp_element_namespaceObject.createElement)(block_popover, { + return (0,external_React_.createElement)(block_popover, { clientId: clientId, __unstableCoverTarget: true, __unstablePopoverSlot: __unstablePopoverSlot, __unstableContentRef: __unstableContentRef, className: "block-editor-block-popover__drop-zone" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { "data-testid": "block-popover-drop-zone", initial: reducedMotion ? animateVariants.show : animateVariants.hide, animate: animateVariants.show, @@ -31120,7 +49004,9 @@ function BlockDropZonePopover({ const insertion_point_InsertionPointOpenRef = (0,external_wp_element_namespaceObject.createContext)(); function InbetweenInsertionPointPopover({ __unstablePopoverSlot, - __unstableContentRef + __unstableContentRef, + operation = 'insert', + nearestSide = 'right' }) { const { selectBlock, @@ -31231,13 +49117,16 @@ function InbetweenInsertionPointPopover({ if (isDistractionFree && !isNavigationMode) { return null; } - const className = classnames_default()('block-editor-block-list__insertion-point', 'is-' + orientation); - return (0,external_wp_element_namespaceObject.createElement)(inbetween, { + const orientationClassname = orientation === 'horizontal' || operation === 'group' ? 'is-horizontal' : 'is-vertical'; + const className = classnames_default()('block-editor-block-list__insertion-point', orientationClassname); + return (0,external_React_.createElement)(inbetween, { previousClientId: previousClientId, nextClientId: nextClientId, __unstablePopoverSlot: __unstablePopoverSlot, - __unstableContentRef: __unstableContentRef - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { + __unstableContentRef: __unstableContentRef, + operation: operation, + nearestSide: nearestSide + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { layout: !disableMotion, initial: disableMotion ? 'rest' : 'start', animate: "rest", @@ -31252,14 +49141,14 @@ function InbetweenInsertionPointPopover({ 'is-with-inserter': isInserterShown }), onHoverEnd: maybeHideInserterPoint - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { variants: lineVariants, className: "block-editor-block-list__insertion-point-indicator", "data-testid": "block-list-insertion-point-indicator" - }), isInserterShown && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { + }), isInserterShown && (0,external_React_.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { variants: inserterVariants, className: classnames_default()('block-editor-block-list__insertion-point-inserter') - }, (0,external_wp_element_namespaceObject.createElement)(inserter, { + }, (0,external_React_.createElement)(inserter, { position: "bottom center", clientId: nextClientId, rootClientId: rootClientId, @@ -31301,12 +49190,14 @@ function InsertionPoint(props) { * Render a popover that overlays the block when the desired operation is to replace it. * Otherwise, render a popover in between blocks for the indication of inserting between them. */ - return insertionPoint.operation === 'replace' ? (0,external_wp_element_namespaceObject.createElement)(drop_zone + return insertionPoint.operation === 'replace' ? (0,external_React_.createElement)(drop_zone // Force remount to trigger the animation. , { key: `${insertionPoint.rootClientId}-${insertionPoint.index}`, ...props - }) : (0,external_wp_element_namespaceObject.createElement)(InbetweenInsertionPointPopover, { + }) : (0,external_React_.createElement)(InbetweenInsertionPointPopover, { + operation: insertionPoint.operation, + nearestSide: insertionPoint.nearestSide, ...props }); } @@ -31335,7 +49226,8 @@ function useInBetweenInserter() { getSelectedBlockClientIds, getTemplateLock, __unstableIsWithinBlockOverlay, - getBlockEditingMode + getBlockEditingMode, + getBlockName } = (0,external_wp_data_namespaceObject.useSelect)(store); const { showInsertionPoint, @@ -31366,7 +49258,7 @@ function useInBetweenInserter() { const blockElement = !!event.target.getAttribute('data-block') ? event.target : event.target.closest('[data-block]'); rootClientId = blockElement.getAttribute('data-block'); } - if (getTemplateLock(rootClientId) || getBlockEditingMode(rootClientId) === 'disabled') { + if (getTemplateLock(rootClientId) || getBlockEditingMode(rootClientId) === 'disabled' || getBlockName(rootClientId) === 'core/block') { return; } const orientation = getBlockListSettings(rootClientId)?.orientation || 'vertical'; @@ -31443,7 +49335,7 @@ const withClientId = (0,external_wp_compose_namespaceObject.createHigherOrderCom const { clientId } = useBlockEditContext(); - return (0,external_wp_element_namespaceObject.createElement)(WrappedComponent, { + return (0,external_React_.createElement)(WrappedComponent, { ...props, clientId: clientId }); @@ -31469,7 +49361,7 @@ const button_block_appender_ButtonBlockAppender = ({ onAddBlock, isToggle }) => { - return (0,external_wp_element_namespaceObject.createElement)(button_block_appender, { + return (0,external_React_.createElement)(button_block_appender, { className: classnames_default()({ 'block-list-appender__toggle': isToggle }), @@ -31498,7 +49390,7 @@ const button_block_appender_ButtonBlockAppender = ({ const default_block_appender_DefaultBlockAppender = ({ clientId }) => { - return (0,external_wp_element_namespaceObject.createElement)(default_block_appender, { + return (0,external_React_.createElement)(default_block_appender, { rootClientId: clientId }); }; @@ -31514,9 +49406,6 @@ const default_block_appender_DefaultBlockAppender = ({ }; })])(default_block_appender_DefaultBlockAppender)); -;// CONCATENATED MODULE: external ["wp","isShallowEqual"] -var external_wp_isShallowEqual_namespaceObject = window["wp"]["isShallowEqual"]; -var external_wp_isShallowEqual_default = /*#__PURE__*/__webpack_require__.n(external_wp_isShallowEqual_namespaceObject); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/use-nested-settings-update.js /** * WordPress dependencies @@ -31551,6 +49440,7 @@ function useShallowMemo(value) { * came from props. * * @param {string} clientId The client ID of the block to update. + * @param {string} parentLock * @param {string[]} allowedBlocks An array of block names which are permitted * in inner blocks. * @param {string[]} prioritizedInserterBlocks Block names and/or block variations to be prioritized in the inserter, in the format {blockName}/{variationName}. @@ -31570,19 +49460,14 @@ function useShallowMemo(value) { * should face. * @param {Object} layout The layout object for the block container. */ -function useNestedSettingsUpdate(clientId, allowedBlocks, prioritizedInserterBlocks, defaultBlock, directInsert, __experimentalDefaultBlock, __experimentalDirectInsert, templateLock, captureToolbars, orientation, layout) { +function useNestedSettingsUpdate(clientId, parentLock, allowedBlocks, prioritizedInserterBlocks, defaultBlock, directInsert, __experimentalDefaultBlock, __experimentalDirectInsert, templateLock, captureToolbars, orientation, layout) { + // Instead of adding a useSelect mapping here, please add to the useSelect + // mapping in InnerBlocks! Every subscription impacts performance. + const { updateBlockListSettings } = (0,external_wp_data_namespaceObject.useDispatch)(store); const registry = (0,external_wp_data_namespaceObject.useRegistry)(); - const { - parentLock - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const rootClientId = select(store).getBlockRootClientId(clientId); - return { - parentLock: select(store).getTemplateLock(rootClientId) - }; - }, [clientId]); // Implementors often pass a new array on every render, // and the contents of the arrays are just strings, so the entire array @@ -31687,6 +49572,7 @@ function useNestedSettingsUpdate(clientId, allowedBlocks, prioritizedInserterBlo * then we replace the inner blocks with the correct value after synchronizing it with the template. * * @param {string} clientId The block client ID. + * @param {Array} innerBlocks * @param {Object} template The template to match. * @param {string} templateLock The template lock state for the inner blocks. For * example, if the template lock is set to "all", @@ -31698,7 +49584,10 @@ function useNestedSettingsUpdate(clientId, allowedBlocks, prioritizedInserterBlo * block-editor selection state when inner blocks * are replaced after template synchronization. */ -function useInnerBlockTemplateSync(clientId, template, templateLock, templateInsertUpdatesSelection) { +function useInnerBlockTemplateSync(clientId, innerBlocks, template, templateLock, templateInsertUpdatesSelection) { + // Instead of adding a useSelect mapping here, please add to the useSelect + // mapping in InnerBlocks! Every subscription impacts performance. + const { getBlocks, getSelectedBlocksInitialCaretPosition, @@ -31708,11 +49597,6 @@ function useInnerBlockTemplateSync(clientId, template, templateLock, templateIns replaceInnerBlocks, __unstableMarkNextChangeAsNotPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const { - innerBlocks - } = (0,external_wp_data_namespaceObject.useSelect)(select => ({ - innerBlocks: select(store).getBlocks(clientId) - }), [clientId]); // Maintain a reference to the previous value so we can do a deep equality check. const existingTemplate = (0,external_wp_element_namespaceObject.useRef)(null); @@ -31804,13 +49688,13 @@ function useBlockContext(clientId) { */ -/** @typedef {import('@wordpress/element').WPSyntheticEvent} WPSyntheticEvent */ +/** @typedef {import('react').SyntheticEvent} SyntheticEvent */ /** @typedef {import('./types').WPDropOperation} WPDropOperation */ /** * Retrieve the data for a block drop event. * - * @param {WPSyntheticEvent} event The drop event. + * @param {SyntheticEvent} event The drop event. * * @return {Object} An object with block drag and drop data. */ @@ -31843,9 +49727,11 @@ function parseDropEvent(event) { * @param {Function} moveBlocks A function that moves blocks. * @param {Function} insertOrReplaceBlocks A function that inserts or replaces blocks. * @param {Function} clearSelectedBlock A function that clears block selection. + * @param {string} operation The type of operation to perform on drop. Could be `insert` or `replace` or `group`. + * @param {Function} getBlock A function that returns a block given its client id. * @return {Function} The event handler for a block drop event. */ -function onBlockDrop(targetRootClientId, targetBlockIndex, getBlockIndex, getClientIdsOfDescendants, moveBlocks, insertOrReplaceBlocks, clearSelectedBlock) { +function onBlockDrop(targetRootClientId, targetBlockIndex, getBlockIndex, getClientIdsOfDescendants, moveBlocks, insertOrReplaceBlocks, clearSelectedBlock, operation, getBlock) { return event => { const { srcRootClientId: sourceRootClientId, @@ -31876,6 +49762,14 @@ function onBlockDrop(targetRootClientId, targetBlockIndex, getBlockIndex, getCli if (sourceClientIds.includes(targetRootClientId) || getClientIdsOfDescendants(sourceClientIds).some(id => id === targetRootClientId)) { return; } + + // If the user is dropping a block over another block, replace both blocks + // with a group block containing them + if (operation === 'group') { + const blocksToInsert = sourceClientIds.map(clientId => getBlock(clientId)); + insertOrReplaceBlocks(blocksToInsert, true, null, sourceClientIds); + return; + } const isAtSameLevel = sourceRootClientId === targetRootClientId; const draggedBlockCount = sourceClientIds.length; @@ -31892,17 +49786,16 @@ function onBlockDrop(targetRootClientId, targetBlockIndex, getBlockIndex, getCli * A function that returns an event handler function for block-related file drop events. * * @param {string} targetRootClientId The root client id where the block(s) will be inserted. - * @param {number} targetBlockIndex The index where the block(s) will be inserted. - * @param {boolean} hasUploadPermissions Whether the user has upload permissions. + * @param {Function} getSettings A function that gets the block editor settings. * @param {Function} updateBlockAttributes A function that updates a block's attributes. * @param {Function} canInsertBlockType A function that returns checks whether a block type can be inserted. * @param {Function} insertOrReplaceBlocks A function that inserts or replaces blocks. * * @return {Function} The event handler for a block-related file drop event. */ -function onFilesDrop(targetRootClientId, targetBlockIndex, hasUploadPermissions, updateBlockAttributes, canInsertBlockType, insertOrReplaceBlocks) { +function onFilesDrop(targetRootClientId, getSettings, updateBlockAttributes, canInsertBlockType, insertOrReplaceBlocks) { return files => { - if (!hasUploadPermissions) { + if (!getSettings().mediaUpload) { return; } const transformation = (0,external_wp_blocks_namespaceObject.findTransform)((0,external_wp_blocks_namespaceObject.getBlockTransforms)('from'), transform => transform.type === 'files' && canInsertBlockType(transform.blockName, targetRootClientId) && transform.isMatch(files)); @@ -31916,13 +49809,11 @@ function onFilesDrop(targetRootClientId, targetBlockIndex, hasUploadPermissions, /** * A function that returns an event handler function for block-related HTML drop events. * - * @param {string} targetRootClientId The root client id where the block(s) will be inserted. - * @param {number} targetBlockIndex The index where the block(s) will be inserted. * @param {Function} insertOrReplaceBlocks A function that inserts or replaces blocks. * * @return {Function} The event handler for a block-related HTML drop event. */ -function onHTMLDrop(targetRootClientId, targetBlockIndex, insertOrReplaceBlocks) { +function onHTMLDrop(insertOrReplaceBlocks) { return HTML => { const blocks = (0,external_wp_blocks_namespaceObject.pasteHandler)({ HTML, @@ -31946,16 +49837,23 @@ function onHTMLDrop(targetRootClientId, targetBlockIndex, insertOrReplaceBlocks) */ function useOnBlockDrop(targetRootClientId, targetBlockIndex, options = {}) { const { - operation = 'insert' + operation = 'insert', + nearestSide = 'right' } = options; - const hasUploadPermissions = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getSettings().mediaUpload, []); const { canInsertBlockType, getBlockIndex, getClientIdsOfDescendants, getBlockOrder, - getBlocksByClientId + getBlocksByClientId, + getSettings, + getBlock, + isGroupable } = (0,external_wp_data_namespaceObject.useSelect)(store); + const { + getBlockType, + getGroupingBlockName + } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blocks_namespaceObject.store); const { insertBlocks, moveBlocksToPosition, @@ -31965,15 +49863,40 @@ function useOnBlockDrop(targetRootClientId, targetBlockIndex, options = {}) { removeBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(store); const registry = (0,external_wp_data_namespaceObject.useRegistry)(); - const insertOrReplaceBlocks = (0,external_wp_element_namespaceObject.useCallback)((blocks, updateSelection = true, initialPosition = 0) => { + const insertOrReplaceBlocks = (0,external_wp_element_namespaceObject.useCallback)((blocks, updateSelection = true, initialPosition = 0, clientIdsToReplace = []) => { + const clientIds = getBlockOrder(targetRootClientId); + const clientId = clientIds[targetBlockIndex]; + const blocksClientIds = blocks.map(block => block.clientId); + const areGroupableBlocks = isGroupable([...blocksClientIds, clientId]); if (operation === 'replace') { - const clientIds = getBlockOrder(targetRootClientId); - const clientId = clientIds[targetBlockIndex]; replaceBlocks(clientId, blocks, undefined, initialPosition); + } else if (operation === 'group' && areGroupableBlocks) { + const targetBlock = getBlock(clientId); + if (nearestSide === 'left') { + blocks.push(targetBlock); + } else { + blocks.unshift(targetBlock); + } + const groupInnerBlocks = blocks.map(block => { + return (0,external_wp_blocks_namespaceObject.createBlock)(block.name, block.attributes, block.innerBlocks); + }); + const areAllImages = blocks.every(block => { + return block.name === 'core/image'; + }); + const galleryBlock = !!getBlockType('core/gallery'); + const wrappedBlocks = (0,external_wp_blocks_namespaceObject.createBlock)(areAllImages && galleryBlock ? 'core/gallery' : getGroupingBlockName(), { + layout: { + type: 'flex', + flexWrap: areAllImages ? null : 'nowrap' + } + }, groupInnerBlocks); + // Need to make sure both the target block and the block being dragged are replaced + // otherwise the dragged block will be duplicated. + replaceBlocks([clientId, ...clientIdsToReplace], wrappedBlocks, undefined, initialPosition); } else { insertBlocks(blocks, targetBlockIndex, targetRootClientId, updateSelection, initialPosition); } - }, [operation, getBlockOrder, insertBlocks, replaceBlocks, targetBlockIndex, targetRootClientId]); + }, [getBlockOrder, targetRootClientId, targetBlockIndex, operation, replaceBlocks, getBlock, nearestSide, getBlockType, getGroupingBlockName, insertBlocks]); const moveBlocks = (0,external_wp_element_namespaceObject.useCallback)((sourceClientIds, sourceRootClientId, insertIndex) => { if (operation === 'replace') { const sourceBlocks = getBlocksByClientId(sourceClientIds); @@ -31988,10 +49911,10 @@ function useOnBlockDrop(targetRootClientId, targetBlockIndex, options = {}) { } else { moveBlocksToPosition(sourceClientIds, sourceRootClientId, targetRootClientId, insertIndex); } - }, [operation, getBlockOrder, getBlocksByClientId, insertBlocks, moveBlocksToPosition, removeBlocks, targetBlockIndex, targetRootClientId]); - const _onDrop = onBlockDrop(targetRootClientId, targetBlockIndex, getBlockIndex, getClientIdsOfDescendants, moveBlocks, insertOrReplaceBlocks, clearSelectedBlock); - const _onFilesDrop = onFilesDrop(targetRootClientId, targetBlockIndex, hasUploadPermissions, updateBlockAttributes, canInsertBlockType, insertOrReplaceBlocks); - const _onHTMLDrop = onHTMLDrop(targetRootClientId, targetBlockIndex, insertOrReplaceBlocks); + }, [operation, getBlockOrder, getBlocksByClientId, moveBlocksToPosition, registry, removeBlocks, replaceBlocks, targetBlockIndex, targetRootClientId]); + const _onDrop = onBlockDrop(targetRootClientId, targetBlockIndex, getBlockIndex, getClientIdsOfDescendants, moveBlocks, insertOrReplaceBlocks, clearSelectedBlock, operation, getBlock); + const _onFilesDrop = onFilesDrop(targetRootClientId, getSettings, updateBlockAttributes, canInsertBlockType, insertOrReplaceBlocks); + const _onHTMLDrop = onHTMLDrop(insertOrReplaceBlocks); return event => { const files = (0,external_wp_dom_namespaceObject.getFilesFromDataTransfer)(event.dataTransfer); const html = event.dataTransfer.getData('text/html'); @@ -32104,6 +50027,18 @@ function isPointContainedByRect(point, rect) { return rect.left <= point.x && rect.right >= point.x && rect.top <= point.y && rect.bottom >= point.y; } +/** + * Is the point within the top and bottom boundaries of the rectangle. + * + * @param {WPPoint} point The point. + * @param {DOMRect} rect The rectangle. + * + * @return {boolean} True if the point is within top and bottom of rectangle, false otherwise. + */ +function isPointWithinTopAndBottomBoundariesOfRect(point, rect) { + return rect.top <= point.y && rect.bottom >= point.y; +} + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-block-drop-zone/index.js /** * WordPress dependencies @@ -32120,6 +50055,9 @@ function isPointContainedByRect(point, rect) { +const THRESHOLD_DISTANCE = 30; +const MINIMUM_HEIGHT_FOR_THRESHOLD = 120; +const MINIMUM_WIDTH_FOR_THRESHOLD = 120; /** @typedef {import('../../utils/math').WPPoint} WPPoint */ /** @typedef {import('../use-on-block-drop/types').WPDropOperation} WPDropOperation */ @@ -32149,24 +50087,81 @@ function isPointContainedByRect(point, rect) { * @param {WPBlockData[]} blocksData The block data list. * @param {WPPoint} position The position of the item being dragged. * @param {WPBlockListOrientation} orientation The orientation of the block list. + * @param {Object} options Additional options. * @return {[number, WPDropOperation]} The drop target position. */ -function getDropTargetPosition(blocksData, position, orientation = 'vertical') { +function getDropTargetPosition(blocksData, position, orientation = 'vertical', options = {}) { const allowedEdges = orientation === 'horizontal' ? ['left', 'right'] : ['top', 'bottom']; - const isRightToLeft = (0,external_wp_i18n_namespaceObject.isRTL)(); let nearestIndex = 0; let insertPosition = 'before'; let minDistance = Infinity; + let targetBlockIndex = null; + let nearestSide = 'right'; + const { + dropZoneElement, + parentBlockOrientation, + rootBlockIndex = 0 + } = options; + + // Allow before/after when dragging over the top/bottom edges of the drop zone. + if (dropZoneElement && parentBlockOrientation !== 'horizontal') { + const rect = dropZoneElement.getBoundingClientRect(); + const [distance, edge] = getDistanceToNearestEdge(position, rect, ['top', 'bottom']); + + // If dragging over the top or bottom of the drop zone, insert the block + // before or after the parent block. This only applies to blocks that use + // a drop zone element, typically container blocks such as Group or Cover. + if (rect.height > MINIMUM_HEIGHT_FOR_THRESHOLD && distance < THRESHOLD_DISTANCE) { + if (edge === 'top') { + return [rootBlockIndex, 'before']; + } + if (edge === 'bottom') { + return [rootBlockIndex + 1, 'after']; + } + } + } + const isRightToLeft = (0,external_wp_i18n_namespaceObject.isRTL)(); + + // Allow before/after when dragging over the left/right edges of the drop zone. + if (dropZoneElement && parentBlockOrientation === 'horizontal') { + const rect = dropZoneElement.getBoundingClientRect(); + const [distance, edge] = getDistanceToNearestEdge(position, rect, ['left', 'right']); + + // If dragging over the left or right of the drop zone, insert the block + // before or after the parent block. This only applies to blocks that use + // a drop zone element, typically container blocks such as Group. + if (rect.width > MINIMUM_WIDTH_FOR_THRESHOLD && distance < THRESHOLD_DISTANCE) { + if (isRightToLeft && edge === 'right' || !isRightToLeft && edge === 'left') { + return [rootBlockIndex, 'before']; + } + if (isRightToLeft && edge === 'left' || !isRightToLeft && edge === 'right') { + return [rootBlockIndex + 1, 'after']; + } + } + } blocksData.forEach(({ isUnmodifiedDefaultBlock, getBoundingClientRect, - blockIndex + blockIndex, + blockOrientation }) => { const rect = getBoundingClientRect(); let [distance, edge] = getDistanceToNearestEdge(position, rect, allowedEdges); + // If the the point is close to a side, prioritize that side. + const [sideDistance, sideEdge] = getDistanceToNearestEdge(position, rect, ['left', 'right']); + const isPointInsideRect = isPointContainedByRect(position, rect); + // Prioritize the element if the point is inside of an unmodified default block. - if (isUnmodifiedDefaultBlock && isPointContainedByRect(position, rect)) { + if (isUnmodifiedDefaultBlock && isPointInsideRect) { distance = 0; + } else if (orientation === 'vertical' && blockOrientation !== 'horizontal' && (isPointInsideRect && sideDistance < THRESHOLD_DISTANCE || !isPointInsideRect && isPointWithinTopAndBottomBoundariesOfRect(position, rect))) { + /** + * This condition should only apply when the layout is vertical (otherwise there's + * no need to create a Row) and dropzones should only activate when the block is + * either within and close to the sides of the target block or on its outer sides. + */ + targetBlockIndex = blockIndex; + nearestSide = sideEdge; } if (distance < minDistance) { // Where the dropped block will be inserted on the nearest block. @@ -32181,6 +50176,10 @@ function getDropTargetPosition(blocksData, position, orientation = 'vertical') { const isNearestBlockUnmodifiedDefaultBlock = !!blocksData[nearestIndex]?.isUnmodifiedDefaultBlock; const isAdjacentBlockUnmodifiedDefaultBlock = !!blocksData[adjacentIndex]?.isUnmodifiedDefaultBlock; + // If the target index is set then group with the block at that index. + if (targetBlockIndex !== null) { + return [targetBlockIndex, 'group', nearestSide]; + } // If both blocks are not unmodified default blocks then just insert between them. if (!isNearestBlockUnmodifiedDefaultBlock && !isAdjacentBlockUnmodifiedDefaultBlock) { // If the user is dropping to the trailing edge of the block @@ -32193,9 +50192,42 @@ function getDropTargetPosition(blocksData, position, orientation = 'vertical') { return [isNearestBlockUnmodifiedDefaultBlock ? nearestIndex : adjacentIndex, 'replace']; } +/** + * Check if the dragged blocks can be dropped on the target. + * @param {Function} getBlockType + * @param {Object[]} allowedBlocks + * @param {string[]} draggedBlockNames + * @param {string} targetBlockName + * @return {boolean} Whether the dragged blocks can be dropped on the target. + */ +function isDropTargetValid(getBlockType, allowedBlocks, draggedBlockNames, targetBlockName) { + // At root level allowedBlocks is undefined and all blocks are allowed. + // Otherwise, check if all dragged blocks are allowed. + let areBlocksAllowed = true; + if (allowedBlocks) { + const allowedBlockNames = allowedBlocks?.map(({ + name + }) => name); + areBlocksAllowed = draggedBlockNames.every(name => allowedBlockNames?.includes(name)); + } + + // Work out if dragged blocks have an allowed parent and if so + // check target block matches the allowed parent. + const draggedBlockTypes = draggedBlockNames.map(name => getBlockType(name)); + const targetMatchesDraggedBlockParents = draggedBlockTypes.every(block => { + const [allowedParentName] = block?.parent || []; + if (!allowedParentName) { + return true; + } + return allowedParentName === targetBlockName; + }); + return areBlocksAllowed && targetMatchesDraggedBlockParents; +} + /** * @typedef {Object} WPBlockDropZoneConfig - * @property {string} rootClientId The root client id for the block list. + * @property {?HTMLElement} dropZoneElement Optional element to be used as the drop zone. + * @property {string} rootClientId The root client id for the block list. */ /** @@ -32204,39 +50236,47 @@ function getDropTargetPosition(blocksData, position, orientation = 'vertical') { * @param {WPBlockDropZoneConfig} dropZoneConfig configuration data for the drop zone. */ function useBlockDropZone({ + dropZoneElement, // An undefined value represents a top-level block. Default to an empty // string for this so that `targetRootClientId` can be easily compared to // values returned by the `getRootBlockClientId` selector, which also uses // an empty string to represent top-level blocks. - rootClientId: targetRootClientId = '' + rootClientId: targetRootClientId = '', + parentClientId: parentBlockClientId = '', + isDisabled = false } = {}) { const registry = (0,external_wp_data_namespaceObject.useRegistry)(); const [dropTarget, setDropTarget] = (0,external_wp_element_namespaceObject.useState)({ index: null, operation: 'insert' }); - const isDisabled = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - __unstableIsWithinBlockOverlay, - __unstableHasActiveBlockOverlayActive, - getBlockEditingMode - } = select(store); - const blockEditingMode = getBlockEditingMode(targetRootClientId); - return blockEditingMode !== 'default' || __unstableHasActiveBlockOverlayActive(targetRootClientId) || __unstableIsWithinBlockOverlay(targetRootClientId); - }, [targetRootClientId]); + const { + getBlockType + } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blocks_namespaceObject.store); const { getBlockListSettings, getBlocks, - getBlockIndex + getBlockIndex, + getDraggedBlockClientIds, + getBlockNamesByClientId, + getAllowedBlocks } = (0,external_wp_data_namespaceObject.useSelect)(store); const { showInsertionPoint, hideInsertionPoint } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const onBlockDrop = useOnBlockDrop(targetRootClientId, dropTarget.index, { - operation: dropTarget.operation + const onBlockDrop = useOnBlockDrop(dropTarget.operation === 'before' || dropTarget.operation === 'after' ? parentBlockClientId : targetRootClientId, dropTarget.index, { + operation: dropTarget.operation, + nearestSide: dropTarget.nearestSide }); const throttled = (0,external_wp_compose_namespaceObject.useThrottle)((0,external_wp_element_namespaceObject.useCallback)((event, ownerDocument) => { + const allowedBlocks = getAllowedBlocks(targetRootClientId); + const targetBlockName = getBlockNamesByClientId([targetRootClientId])[0]; + const draggedBlockNames = getBlockNamesByClientId(getDraggedBlockClientIds()); + const isBlockDroppingAllowed = isDropTargetValid(getBlockType, allowedBlocks, draggedBlockNames, targetBlockName); + if (!isBlockDroppingAllowed) { + return; + } const blocks = getBlocks(targetRootClientId); // The block list is empty, don't show the insertion point but still allow dropping. @@ -32257,24 +50297,34 @@ function useBlockDropZone({ return { isUnmodifiedDefaultBlock: (0,external_wp_blocks_namespaceObject.isUnmodifiedDefaultBlock)(block), getBoundingClientRect: () => ownerDocument.getElementById(`block-${clientId}`).getBoundingClientRect(), - blockIndex: getBlockIndex(clientId) + blockIndex: getBlockIndex(clientId), + blockOrientation: getBlockListSettings(clientId)?.orientation }; }); - const [targetIndex, operation] = getDropTargetPosition(blocksData, { + const [targetIndex, operation, nearestSide] = getDropTargetPosition(blocksData, { x: event.clientX, y: event.clientY - }, getBlockListSettings(targetRootClientId)?.orientation); + }, getBlockListSettings(targetRootClientId)?.orientation, { + dropZoneElement, + parentBlockClientId, + parentBlockOrientation: parentBlockClientId ? getBlockListSettings(parentBlockClientId)?.orientation : undefined, + rootBlockIndex: getBlockIndex(targetRootClientId) + }); registry.batch(() => { setDropTarget({ index: targetIndex, - operation + operation, + nearestSide }); - showInsertionPoint(targetRootClientId, targetIndex, { - operation + const insertionPointClientId = ['before', 'after'].includes(operation) ? parentBlockClientId : targetRootClientId; + showInsertionPoint(insertionPointClientId, targetIndex, { + operation, + nearestSide }); }); - }, [getBlocks, targetRootClientId, getBlockListSettings, registry, showInsertionPoint, getBlockIndex]), 200); + }, [getAllowedBlocks, targetRootClientId, getBlockNamesByClientId, getDraggedBlockClientIds, getBlockType, getBlocks, getBlockListSettings, dropZoneElement, parentBlockClientId, getBlockIndex, registry, showInsertionPoint]), 200); return (0,external_wp_compose_namespaceObject.__experimentalUseDropZone)({ + dropZoneElement, isDisabled, onDrop: onBlockDrop, onDragOver(event) { @@ -32324,7 +50374,16 @@ function useBlockDropZone({ -const EMPTY_OBJECT = {}; +const inner_blocks_EMPTY_OBJECT = {}; +function BlockContext({ + children, + clientId +}) { + const context = useBlockContext(clientId); + return (0,external_React_.createElement)(BlockContextProvider, { + value: context + }, children); +} /** * InnerBlocks is a component which allows a single block to have multiple blocks @@ -32352,19 +50411,19 @@ function UncontrolledInnerBlocks(props) { renderAppender, orientation, placeholder, - layout + layout, + name, + blockType, + innerBlocks, + parentLock } = props; - useNestedSettingsUpdate(clientId, allowedBlocks, prioritizedInserterBlocks, defaultBlock, directInsert, __experimentalDefaultBlock, __experimentalDirectInsert, templateLock, captureToolbars, orientation, layout); - useInnerBlockTemplateSync(clientId, template, templateLock, templateInsertUpdatesSelection); - const context = useBlockContext(clientId); - const name = (0,external_wp_data_namespaceObject.useSelect)(select => { - return select(store).getBlock(clientId)?.name; - }, [clientId]); - const defaultLayoutBlockSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, 'layout') || (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, '__experimentalLayout') || EMPTY_OBJECT; + useNestedSettingsUpdate(clientId, parentLock, allowedBlocks, prioritizedInserterBlocks, defaultBlock, directInsert, __experimentalDefaultBlock, __experimentalDirectInsert, templateLock, captureToolbars, orientation, layout); + useInnerBlockTemplateSync(clientId, innerBlocks, template, templateLock, templateInsertUpdatesSelection); + const defaultLayoutBlockSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, 'layout') || (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, '__experimentalLayout') || inner_blocks_EMPTY_OBJECT; const { allowSizingOnChildren = false } = defaultLayoutBlockSupport; - const defaultLayout = use_setting_useSetting('layout') || EMPTY_OBJECT; + const [defaultLayout] = use_settings_useSettings('layout'); const usedLayout = layout || defaultLayoutBlockSupport; const memoedLayout = (0,external_wp_element_namespaceObject.useMemo)(() => ({ // Default layout will know about any content/wide size defined by the theme. @@ -32374,19 +50433,20 @@ function UncontrolledInnerBlocks(props) { allowSizingOnChildren: true }) }), [defaultLayout, usedLayout, allowSizingOnChildren]); - - // This component needs to always be synchronous as it's the one changing - // the async mode depending on the block selection. - return (0,external_wp_element_namespaceObject.createElement)(BlockContextProvider, { - value: context - }, (0,external_wp_element_namespaceObject.createElement)(BlockListItems, { + const items = (0,external_React_.createElement)(BlockListItems, { rootClientId: clientId, renderAppender: renderAppender, __experimentalAppenderTagName: __experimentalAppenderTagName, layout: memoedLayout, wrapperRef: wrapperRef, placeholder: placeholder - })); + }); + if (Object.keys(blockType.providesContext).length === 0) { + return items; + } + return (0,external_React_.createElement)(BlockContext, { + clientId: clientId + }, items); } /** @@ -32400,7 +50460,7 @@ function UncontrolledInnerBlocks(props) { */ function ControlledInnerBlocks(props) { useBlockSync(props); - return (0,external_wp_element_namespaceObject.createElement)(UncontrolledInnerBlocks, { + return (0,external_React_.createElement)(UncontrolledInnerBlocks, { ...props }); } @@ -32408,9 +50468,9 @@ const ForwardedInnerBlocks = (0,external_wp_element_namespaceObject.forwardRef)( const innerBlocksProps = useInnerBlocksProps({ ref }, props); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-inner-blocks" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { ...innerBlocksProps })); }); @@ -32433,17 +50493,23 @@ const ForwardedInnerBlocks = (0,external_wp_element_namespaceObject.forwardRef)( function useInnerBlocksProps(props = {}, options = {}) { const { __unstableDisableLayoutClassNames, - __unstableDisableDropZone + __unstableDisableDropZone, + dropZoneElement } = options; const { clientId, layout = null, __unstableLayoutClassNames: layoutClassNames = '' } = useBlockEditContext(); - const isSmallScreen = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium', '<'); const { __experimentalCaptureToolbars, - hasOverlay + hasOverlay, + name, + blockType, + innerBlocks, + parentLock, + parentClientId, + isDropZoneDisabled } = (0,external_wp_data_namespaceObject.useSelect)(select => { if (!clientId) { return {}; @@ -32452,22 +50518,47 @@ function useInnerBlocksProps(props = {}, options = {}) { getBlockName, isBlockSelected, hasSelectedInnerBlock, - __unstableGetEditorMode + __unstableGetEditorMode, + getBlocks, + getTemplateLock, + getBlockRootClientId, + __unstableIsWithinBlockOverlay, + __unstableHasActiveBlockOverlayActive, + getBlockEditingMode } = select(store); + const { + hasBlockSupport, + getBlockType + } = select(external_wp_blocks_namespaceObject.store); const blockName = getBlockName(clientId); - const enableClickThrough = __unstableGetEditorMode() === 'navigation' || isSmallScreen; + const enableClickThrough = __unstableGetEditorMode() === 'navigation'; + const blockEditingMode = getBlockEditingMode(clientId); + const _parentClientId = getBlockRootClientId(clientId); return { - __experimentalCaptureToolbars: select(external_wp_blocks_namespaceObject.store).hasBlockSupport(blockName, '__experimentalExposeControlsToChildren', false), - hasOverlay: blockName !== 'core/template' && !isBlockSelected(clientId) && !hasSelectedInnerBlock(clientId, true) && enableClickThrough + __experimentalCaptureToolbars: hasBlockSupport(blockName, '__experimentalExposeControlsToChildren', false), + hasOverlay: blockName !== 'core/template' && !isBlockSelected(clientId) && !hasSelectedInnerBlock(clientId, true) && enableClickThrough, + name: blockName, + blockType: getBlockType(blockName), + innerBlocks: getBlocks(clientId), + parentLock: getTemplateLock(_parentClientId), + parentClientId: _parentClientId, + isDropZoneDisabled: blockEditingMode !== 'default' || __unstableHasActiveBlockOverlayActive(clientId) || __unstableIsWithinBlockOverlay(clientId) }; - }, [clientId, isSmallScreen]); + }, [clientId]); const blockDropZoneRef = useBlockDropZone({ - rootClientId: clientId + dropZoneElement, + rootClientId: clientId, + parentClientId, + isDisabled: isDropZoneDisabled }); const ref = (0,external_wp_compose_namespaceObject.useMergeRefs)([props.ref, __unstableDisableDropZone ? null : blockDropZoneRef]); const innerBlocksProps = { __experimentalCaptureToolbars, layout, + name, + blockType, + innerBlocks, + parentLock, ...options }; const InnerBlocks = innerBlocksProps.value && innerBlocksProps.onChange ? ControlledInnerBlocks : UncontrolledInnerBlocks; @@ -32477,10 +50568,10 @@ function useInnerBlocksProps(props = {}, options = {}) { className: classnames_default()(props.className, 'block-editor-block-list__layout', __unstableDisableLayoutClassNames ? '' : layoutClassNames, { 'has-overlay': hasOverlay }), - children: clientId ? (0,external_wp_element_namespaceObject.createElement)(InnerBlocks, { + children: clientId ? (0,external_React_.createElement)(InnerBlocks, { ...innerBlocksProps, clientId: clientId - }) : (0,external_wp_element_namespaceObject.createElement)(BlockListItems, { + }) : (0,external_React_.createElement)(BlockListItems, { ...options }) }; @@ -32720,7 +50811,7 @@ function useTypingObserver() { function ObserveTyping({ children }) { - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { ref: useTypingObserver() }, children); } @@ -32756,14 +50847,13 @@ function ObserveTyping({ -const elementContext = (0,external_wp_element_namespaceObject.createContext)(); + const block_list_IntersectionObserver = (0,external_wp_element_namespaceObject.createContext)(); const pendingBlockVisibilityUpdatesPerRegistry = new WeakMap(); -function Root({ +function block_list_Root({ className, ...settings }) { - const [element, setElement] = (0,external_wp_element_namespaceObject.useState)(); const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium'); const { isOutlineMode, @@ -32823,24 +50913,39 @@ function Root({ 'is-navigate-mode': editorMode === 'navigation' }) }, settings); - return (0,external_wp_element_namespaceObject.createElement)(elementContext.Provider, { - value: element - }, (0,external_wp_element_namespaceObject.createElement)(block_list_IntersectionObserver.Provider, { + return (0,external_React_.createElement)(block_list_IntersectionObserver.Provider, { value: intersectionObserver - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { ...innerBlocksProps - }), (0,external_wp_element_namespaceObject.createElement)("div", { - ref: setElement - }))); + })); +} +function StopEditingAsBlocksOnOutsideSelect({ + clientId +}) { + const { + stopEditingAsBlocks + } = unlock((0,external_wp_data_namespaceObject.useDispatch)(store)); + const isBlockOrDescendantSelected = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + isBlockSelected, + hasSelectedInnerBlock + } = select(store); + return isBlockSelected(clientId) || hasSelectedInnerBlock(clientId, true); + }, [clientId]); + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (!isBlockOrDescendantSelected) { + stopEditingAsBlocks(clientId); + } + }, [isBlockOrDescendantSelected, clientId, stopEditingAsBlocks]); + return null; } function BlockList(settings) { - return (0,external_wp_element_namespaceObject.createElement)(Provider, { + return (0,external_React_.createElement)(Provider, { value: DEFAULT_BLOCK_EDIT_CONTEXT - }, (0,external_wp_element_namespaceObject.createElement)(Root, { + }, (0,external_React_.createElement)(block_list_Root, { ...settings })); } -BlockList.__unstableElementContext = elementContext; function Items({ placeholder, rootClientId, @@ -32851,31 +50956,36 @@ function Items({ const { order, selectedBlocks, - visibleBlocks + visibleBlocks, + temporarilyEditingAsBlocks } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { getBlockOrder, getSelectedBlockClientIds, - __unstableGetVisibleBlocks + __unstableGetVisibleBlocks, + __unstableGetTemporarilyEditingAsBlocks } = select(store); return { order: getBlockOrder(rootClientId), selectedBlocks: getSelectedBlockClientIds(), - visibleBlocks: __unstableGetVisibleBlocks() + visibleBlocks: __unstableGetVisibleBlocks(), + temporarilyEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks() }; }, [rootClientId]); - return (0,external_wp_element_namespaceObject.createElement)(LayoutProvider, { + return (0,external_React_.createElement)(LayoutProvider, { value: layout - }, order.map(clientId => (0,external_wp_element_namespaceObject.createElement)(external_wp_data_namespaceObject.AsyncModeProvider, { + }, order.map(clientId => (0,external_React_.createElement)(external_wp_data_namespaceObject.AsyncModeProvider, { key: clientId, value: // Only provide data asynchronously if the block is // not visible and not selected. !visibleBlocks.has(clientId) && !selectedBlocks.includes(clientId) - }, (0,external_wp_element_namespaceObject.createElement)(block, { + }, (0,external_React_.createElement)(block_list_block, { rootClientId: rootClientId, clientId: clientId - }))), order.length < 1 && placeholder, (0,external_wp_element_namespaceObject.createElement)(block_list_appender, { + }))), order.length < 1 && placeholder, !!temporarilyEditingAsBlocks && (0,external_React_.createElement)(StopEditingAsBlocksOnOutsideSelect, { + clientId: temporarilyEditingAsBlocks + }), (0,external_React_.createElement)(block_list_appender, { tagName: __experimentalAppenderTagName, rootClientId: rootClientId, renderAppender: renderAppender @@ -32884,1725 +50994,18 @@ function Items({ function BlockListItems(props) { // This component needs to always be synchronous as it's the one changing // the async mode depending on the block selection. - return (0,external_wp_element_namespaceObject.createElement)(external_wp_data_namespaceObject.AsyncModeProvider, { + return (0,external_React_.createElement)(external_wp_data_namespaceObject.AsyncModeProvider, { value: false - }, (0,external_wp_element_namespaceObject.createElement)(Items, { + }, (0,external_React_.createElement)(Items, { ...props })); } -;// CONCATENATED MODULE: external ["wp","url"] -var external_wp_url_namespaceObject = window["wp"]["url"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/media.js - +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/use-block-toolbar-popover-props.js /** * WordPress dependencies */ -const media = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "m7 6.5 4 2.5-4 2.5z" -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - fillRule: "evenodd", - clipRule: "evenodd", - d: "m5 3c-1.10457 0-2 .89543-2 2v14c0 1.1046.89543 2 2 2h14c1.1046 0 2-.8954 2-2v-14c0-1.10457-.8954-2-2-2zm14 1.5h-14c-.27614 0-.5.22386-.5.5v10.7072l3.62953-2.6465c.25108-.1831.58905-.1924.84981-.0234l2.92666 1.8969 3.5712-3.4719c.2911-.2831.7545-.2831 1.0456 0l2.9772 2.8945v-9.3568c0-.27614-.2239-.5-.5-.5zm-14.5 14.5v-1.4364l4.09643-2.987 2.99567 1.9417c.2936.1903.6798.1523.9307-.0917l3.4772-3.3806 3.4772 3.3806.0228-.0234v2.5968c0 .2761-.2239.5-.5.5h-14c-.27614 0-.5-.2239-.5-.5z" -})); -/* harmony default export */ var library_media = (media); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/upload.js - -/** - * WordPress dependencies - */ - -const upload = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M18.5 15v3.5H13V6.7l4.5 4.1 1-1.1-6.2-5.8-5.8 5.8 1 1.1 4-4v11.7h-6V15H4v5h16v-5z" -})); -/* harmony default export */ var library_upload = (upload); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-featured-image.js - -/** - * WordPress dependencies - */ - -const postFeaturedImage = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M19 3H5c-.6 0-1 .4-1 1v7c0 .5.4 1 1 1h14c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1zM5.5 10.5v-.4l1.8-1.3 1.3.8c.3.2.7.2.9-.1L11 8.1l2.4 2.4H5.5zm13 0h-2.9l-4-4c-.3-.3-.8-.3-1.1 0L8.9 8l-1.2-.8c-.3-.2-.6-.2-.9 0l-1.3 1V4.5h13v6zM4 20h9v-1.5H4V20zm0-4h16v-1.5H4V16z" -})); -/* harmony default export */ var post_featured_image = (postFeaturedImage); - -;// CONCATENATED MODULE: external ["wp","preferences"] -var external_wp_preferences_namespaceObject = window["wp"]["preferences"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/keyboard-return.js - -/** - * WordPress dependencies - */ - -const keyboardReturn = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "-2 -2 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M6.734 16.106l2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.157 1.093-1.027-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734z" -})); -/* harmony default export */ var keyboard_return = (keyboardReturn); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left-small.js - -/** - * WordPress dependencies - */ - -const chevronLeftSmall = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "m13.1 16-3.4-4 3.4-4 1.1 1-2.6 3 2.6 3-1.1 1z" -})); -/* harmony default export */ var chevron_left_small = (chevronLeftSmall); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-right-small.js - -/** - * WordPress dependencies - */ - -const chevronRightSmall = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M10.8622 8.04053L14.2805 12.0286L10.8622 16.0167L9.72327 15.0405L12.3049 12.0286L9.72327 9.01672L10.8622 8.04053Z" -})); -/* harmony default export */ var chevron_right_small = (chevronRightSmall); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/settings-drawer.js - -/** - * WordPress dependencies - */ - - - - - -function LinkSettingsDrawer({ - children, - settingsOpen, - setSettingsOpen -}) { - const prefersReducedMotion = (0,external_wp_compose_namespaceObject.useReducedMotion)(); - const MaybeAnimatePresence = prefersReducedMotion ? external_wp_element_namespaceObject.Fragment : external_wp_components_namespaceObject.__unstableAnimatePresence; - const MaybeMotionDiv = prefersReducedMotion ? 'div' : external_wp_components_namespaceObject.__unstableMotion.div; - const id = (0,external_wp_compose_namespaceObject.useInstanceId)(LinkSettingsDrawer); - const settingsDrawerId = `link-control-settings-drawer-${id}`; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - className: "block-editor-link-control__drawer-toggle", - "aria-expanded": settingsOpen, - onClick: () => setSettingsOpen(!settingsOpen), - icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? chevron_left_small : chevron_right_small, - "aria-controls": settingsDrawerId - }, (0,external_wp_i18n_namespaceObject._x)('Advanced', 'Additional link settings')), (0,external_wp_element_namespaceObject.createElement)(MaybeAnimatePresence, null, settingsOpen && (0,external_wp_element_namespaceObject.createElement)(MaybeMotionDiv, { - className: "block-editor-link-control__drawer", - hidden: !settingsOpen, - id: settingsDrawerId, - initial: "collapsed", - animate: "open", - exit: "collapsed", - variants: { - open: { - opacity: 1, - height: 'auto' - }, - collapsed: { - opacity: 0, - height: 0 - } - }, - transition: { - duration: 0.1 - } - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-link-control__drawer-inner" - }, children)))); -} -/* harmony default export */ var settings_drawer = (LinkSettingsDrawer); - -// EXTERNAL MODULE: ./node_modules/dom-scroll-into-view/lib/index.js -var dom_scroll_into_view_lib = __webpack_require__(5425); -var lib_default = /*#__PURE__*/__webpack_require__.n(dom_scroll_into_view_lib); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-input/index.js - -/** - * External dependencies - */ - - - -/** - * WordPress dependencies - */ - - - - - - - - - -/** - * Internal dependencies - */ - - -/** - * Whether the argument is a function. - * - * @param {*} maybeFunc The argument to check. - * @return {boolean} True if the argument is a function, false otherwise. - */ -function isFunction(maybeFunc) { - return typeof maybeFunc === 'function'; -} -class URLInput extends external_wp_element_namespaceObject.Component { - constructor(props) { - super(props); - this.onChange = this.onChange.bind(this); - this.onFocus = this.onFocus.bind(this); - this.onKeyDown = this.onKeyDown.bind(this); - this.selectLink = this.selectLink.bind(this); - this.handleOnClick = this.handleOnClick.bind(this); - this.bindSuggestionNode = this.bindSuggestionNode.bind(this); - this.autocompleteRef = props.autocompleteRef || (0,external_wp_element_namespaceObject.createRef)(); - this.inputRef = (0,external_wp_element_namespaceObject.createRef)(); - this.updateSuggestions = (0,external_wp_compose_namespaceObject.debounce)(this.updateSuggestions.bind(this), 200); - this.suggestionNodes = []; - this.suggestionsRequest = null; - this.state = { - suggestions: [], - showSuggestions: false, - isUpdatingSuggestions: false, - suggestionsValue: null, - selectedSuggestion: null, - suggestionsListboxId: '', - suggestionOptionIdPrefix: '' - }; - } - componentDidUpdate(prevProps) { - const { - showSuggestions, - selectedSuggestion - } = this.state; - const { - value, - __experimentalShowInitialSuggestions = false - } = this.props; - - // Only have to worry about scrolling selected suggestion into view - // when already expanded. - if (showSuggestions && selectedSuggestion !== null && this.suggestionNodes[selectedSuggestion] && !this.scrollingIntoView) { - this.scrollingIntoView = true; - lib_default()(this.suggestionNodes[selectedSuggestion], this.autocompleteRef.current, { - onlyScrollIfNeeded: true - }); - this.props.setTimeout(() => { - this.scrollingIntoView = false; - }, 100); - } - - // Update suggestions when the value changes. - if (prevProps.value !== value && !this.props.disableSuggestions && !this.state.isUpdatingSuggestions) { - if (value?.length) { - // If the new value is not empty we need to update with suggestions for it. - this.updateSuggestions(value); - } else if (__experimentalShowInitialSuggestions) { - // If the new value is empty and we can show initial suggestions, then show initial suggestions. - this.updateSuggestions(); - } - } - } - componentDidMount() { - if (this.shouldShowInitialSuggestions()) { - this.updateSuggestions(); - } - } - componentWillUnmount() { - this.suggestionsRequest?.cancel?.(); - this.suggestionsRequest = null; - } - bindSuggestionNode(index) { - return ref => { - this.suggestionNodes[index] = ref; - }; - } - shouldShowInitialSuggestions() { - const { - __experimentalShowInitialSuggestions = false, - value - } = this.props; - return __experimentalShowInitialSuggestions && !(value && value.length); - } - updateSuggestions(value = '') { - const { - __experimentalFetchLinkSuggestions: fetchLinkSuggestions, - __experimentalHandleURLSuggestions: handleURLSuggestions - } = this.props; - if (!fetchLinkSuggestions) { - return; - } - - // Initial suggestions may only show if there is no value - // (note: this includes whitespace). - const isInitialSuggestions = !value?.length; - - // Trim only now we've determined whether or not it originally had a "length" - // (even if that value was all whitespace). - value = value.trim(); - - // Allow a suggestions request if: - // - there are at least 2 characters in the search input (except manual searches where - // search input length is not required to trigger a fetch) - // - this is a direct entry (eg: a URL) - if (!isInitialSuggestions && (value.length < 2 || !handleURLSuggestions && (0,external_wp_url_namespaceObject.isURL)(value))) { - this.suggestionsRequest?.cancel?.(); - this.suggestionsRequest = null; - this.setState({ - suggestions: [], - showSuggestions: false, - suggestionsValue: value, - selectedSuggestion: null, - loading: false - }); - return; - } - this.setState({ - isUpdatingSuggestions: true, - selectedSuggestion: null, - loading: true - }); - const request = fetchLinkSuggestions(value, { - isInitialSuggestions - }); - request.then(suggestions => { - // A fetch Promise doesn't have an abort option. It's mimicked by - // comparing the request reference in on the instance, which is - // reset or deleted on subsequent requests or unmounting. - if (this.suggestionsRequest !== request) { - return; - } - this.setState({ - suggestions, - isUpdatingSuggestions: false, - suggestionsValue: value, - loading: false, - showSuggestions: !!suggestions.length - }); - if (!!suggestions.length) { - this.props.debouncedSpeak((0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: number of results. */ - (0,external_wp_i18n_namespaceObject._n)('%d result found, use up and down arrow keys to navigate.', '%d results found, use up and down arrow keys to navigate.', suggestions.length), suggestions.length), 'assertive'); - } else { - this.props.debouncedSpeak((0,external_wp_i18n_namespaceObject.__)('No results.'), 'assertive'); - } - }).catch(() => { - if (this.suggestionsRequest !== request) { - return; - } - this.setState({ - isUpdatingSuggestions: false, - loading: false - }); - }); - - // Note that this assignment is handled *before* the async search request - // as a Promise always resolves on the next tick of the event loop. - this.suggestionsRequest = request; - } - onChange(event) { - this.props.onChange(event.target.value); - } - onFocus() { - const { - suggestions - } = this.state; - const { - disableSuggestions, - value - } = this.props; - - // When opening the link editor, if there's a value present, we want to load the suggestions pane with the results for this input search value - // Don't re-run the suggestions on focus if there are already suggestions present (prevents searching again when tabbing between the input and buttons) - if (value && !disableSuggestions && !this.state.isUpdatingSuggestions && !(suggestions && suggestions.length)) { - // Ensure the suggestions are updated with the current input value. - this.updateSuggestions(value); - } - } - onKeyDown(event) { - this.props.onKeyDown?.(event); - const { - showSuggestions, - selectedSuggestion, - suggestions, - loading - } = this.state; - - // If the suggestions are not shown or loading, we shouldn't handle the arrow keys - // We shouldn't preventDefault to allow block arrow keys navigation. - if (!showSuggestions || !suggestions.length || loading) { - // In the Windows version of Firefox the up and down arrows don't move the caret - // within an input field like they do for Mac Firefox/Chrome/Safari. This causes - // a form of focus trapping that is disruptive to the user experience. This disruption - // only happens if the caret is not in the first or last position in the text input. - // See: https://github.com/WordPress/gutenberg/issues/5693#issuecomment-436684747 - switch (event.keyCode) { - // When UP is pressed, if the caret is at the start of the text, move it to the 0 - // position. - case external_wp_keycodes_namespaceObject.UP: - { - if (0 !== event.target.selectionStart) { - event.preventDefault(); - - // Set the input caret to position 0. - event.target.setSelectionRange(0, 0); - } - break; - } - // When DOWN is pressed, if the caret is not at the end of the text, move it to the - // last position. - case external_wp_keycodes_namespaceObject.DOWN: - { - if (this.props.value.length !== event.target.selectionStart) { - event.preventDefault(); - - // Set the input caret to the last position. - event.target.setSelectionRange(this.props.value.length, this.props.value.length); - } - break; - } - - // Submitting while loading should trigger onSubmit. - case external_wp_keycodes_namespaceObject.ENTER: - { - if (this.props.onSubmit) { - event.preventDefault(); - this.props.onSubmit(null, event); - } - break; - } - } - return; - } - const suggestion = this.state.suggestions[this.state.selectedSuggestion]; - switch (event.keyCode) { - case external_wp_keycodes_namespaceObject.UP: - { - event.preventDefault(); - const previousIndex = !selectedSuggestion ? suggestions.length - 1 : selectedSuggestion - 1; - this.setState({ - selectedSuggestion: previousIndex - }); - break; - } - case external_wp_keycodes_namespaceObject.DOWN: - { - event.preventDefault(); - const nextIndex = selectedSuggestion === null || selectedSuggestion === suggestions.length - 1 ? 0 : selectedSuggestion + 1; - this.setState({ - selectedSuggestion: nextIndex - }); - break; - } - case external_wp_keycodes_namespaceObject.TAB: - { - if (this.state.selectedSuggestion !== null) { - this.selectLink(suggestion); - // Announce a link has been selected when tabbing away from the input field. - this.props.speak((0,external_wp_i18n_namespaceObject.__)('Link selected.')); - } - break; - } - case external_wp_keycodes_namespaceObject.ENTER: - { - event.preventDefault(); - if (this.state.selectedSuggestion !== null) { - this.selectLink(suggestion); - if (this.props.onSubmit) { - this.props.onSubmit(suggestion, event); - } - } else if (this.props.onSubmit) { - this.props.onSubmit(null, event); - } - break; - } - } - } - selectLink(suggestion) { - this.props.onChange(suggestion.url, suggestion); - this.setState({ - selectedSuggestion: null, - showSuggestions: false - }); - } - handleOnClick(suggestion) { - this.selectLink(suggestion); - // Move focus to the input field when a link suggestion is clicked. - this.inputRef.current.focus(); - } - static getDerivedStateFromProps({ - value, - instanceId, - disableSuggestions, - __experimentalShowInitialSuggestions = false - }, { - showSuggestions - }) { - let shouldShowSuggestions = showSuggestions; - const hasValue = value && value.length; - if (!__experimentalShowInitialSuggestions && !hasValue) { - shouldShowSuggestions = false; - } - if (disableSuggestions === true) { - shouldShowSuggestions = false; - } - return { - showSuggestions: shouldShowSuggestions, - suggestionsListboxId: `block-editor-url-input-suggestions-${instanceId}`, - suggestionOptionIdPrefix: `block-editor-url-input-suggestion-${instanceId}` - }; - } - render() { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, this.renderControl(), this.renderSuggestions()); - } - renderControl() { - const { - /** Start opting into the new margin-free styles that will become the default in a future version. */ - __nextHasNoMarginBottom = false, - label = null, - className, - isFullWidth, - instanceId, - placeholder = (0,external_wp_i18n_namespaceObject.__)('Paste URL or type to search'), - __experimentalRenderControl: renderControl, - value = '', - hideLabelFromVision = false - } = this.props; - const { - loading, - showSuggestions, - selectedSuggestion, - suggestionsListboxId, - suggestionOptionIdPrefix - } = this.state; - const inputId = `url-input-control-${instanceId}`; - const controlProps = { - id: inputId, - // Passes attribute to label for the for attribute - label, - className: classnames_default()('block-editor-url-input', className, { - 'is-full-width': isFullWidth - }), - hideLabelFromVision - }; - const inputProps = { - id: inputId, - value, - required: true, - className: 'block-editor-url-input__input', - type: 'text', - onChange: this.onChange, - onFocus: this.onFocus, - placeholder, - onKeyDown: this.onKeyDown, - role: 'combobox', - 'aria-label': label ? undefined : (0,external_wp_i18n_namespaceObject.__)('URL'), - // Ensure input always has an accessible label - 'aria-expanded': showSuggestions, - 'aria-autocomplete': 'list', - 'aria-owns': suggestionsListboxId, - 'aria-activedescendant': selectedSuggestion !== null ? `${suggestionOptionIdPrefix}-${selectedSuggestion}` : undefined, - ref: this.inputRef - }; - if (renderControl) { - return renderControl(controlProps, inputProps, loading); - } - if (!__nextHasNoMarginBottom) { - external_wp_deprecated_default()('Bottom margin styles for wp.blockEditor.URLInput', { - since: '6.2', - version: '6.5', - hint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version' - }); - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.BaseControl, { - __nextHasNoMarginBottom: __nextHasNoMarginBottom, - ...controlProps - }, (0,external_wp_element_namespaceObject.createElement)("input", { - ...inputProps - }), loading && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null)); - } - renderSuggestions() { - const { - className, - __experimentalRenderSuggestions: renderSuggestions - } = this.props; - const { - showSuggestions, - suggestions, - suggestionsValue, - selectedSuggestion, - suggestionsListboxId, - suggestionOptionIdPrefix, - loading - } = this.state; - if (!showSuggestions || suggestions.length === 0) { - return null; - } - const suggestionsListProps = { - id: suggestionsListboxId, - ref: this.autocompleteRef, - role: 'listbox' - }; - const buildSuggestionItemProps = (suggestion, index) => { - return { - role: 'option', - tabIndex: '-1', - id: `${suggestionOptionIdPrefix}-${index}`, - ref: this.bindSuggestionNode(index), - 'aria-selected': index === selectedSuggestion ? true : undefined - }; - }; - if (isFunction(renderSuggestions)) { - return renderSuggestions({ - suggestions, - selectedSuggestion, - suggestionsListProps, - buildSuggestionItemProps, - isLoading: loading, - handleSuggestionClick: this.handleOnClick, - isInitialSuggestions: !suggestionsValue?.length, - currentInputValue: suggestionsValue - }); - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { - placement: "bottom", - focusOnMount: false - }, (0,external_wp_element_namespaceObject.createElement)("div", { - ...suggestionsListProps, - className: classnames_default()('block-editor-url-input__suggestions', `${className}__suggestions`) - }, suggestions.map((suggestion, index) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - ...buildSuggestionItemProps(suggestion, index), - key: suggestion.id, - className: classnames_default()('block-editor-url-input__suggestion', { - 'is-selected': index === selectedSuggestion - }), - onClick: () => this.handleOnClick(suggestion) - }, suggestion.title)))); - } -} - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-input/README.md - */ -/* harmony default export */ var url_input = ((0,external_wp_compose_namespaceObject.compose)(external_wp_compose_namespaceObject.withSafeTimeout, external_wp_components_namespaceObject.withSpokenMessages, external_wp_compose_namespaceObject.withInstanceId, (0,external_wp_data_namespaceObject.withSelect)((select, props) => { - // If a link suggestions handler is already provided then - // bail. - if (isFunction(props.__experimentalFetchLinkSuggestions)) { - return; - } - const { - getSettings - } = select(store); - return { - __experimentalFetchLinkSuggestions: getSettings().__experimentalFetchLinkSuggestions - }; -}))(URLInput)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/search-create-button.js - -/** - * WordPress dependencies - */ - - - - -const LinkControlSearchCreate = ({ - searchTerm, - onClick, - itemProps, - buttonText -}) => { - if (!searchTerm) { - return null; - } - let text; - if (buttonText) { - text = typeof buttonText === 'function' ? buttonText(searchTerm) : buttonText; - } else { - text = (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: search term. */ - (0,external_wp_i18n_namespaceObject.__)('Create: %s'), searchTerm), { - mark: (0,external_wp_element_namespaceObject.createElement)("mark", null) - }); - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - ...itemProps, - iconPosition: "left", - icon: library_plus, - className: "block-editor-link-control__search-item", - onClick: onClick - }, text); -}; -/* harmony default export */ var search_create_button = (LinkControlSearchCreate); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-list.js - -/** - * WordPress dependencies - */ - -const postList = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12zM7 11h2V9H7v2zm0 4h2v-2H7v2zm3-4h7V9h-7v2zm0 4h7v-2h-7v2z" -})); -/* harmony default export */ var post_list = (postList); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/page.js - -/** - * WordPress dependencies - */ - -const page = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M7 5.5h10a.5.5 0 01.5.5v12a.5.5 0 01-.5.5H7a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM17 4H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V6a2 2 0 00-2-2zm-1 3.75H8v1.5h8v-1.5zM8 11h8v1.5H8V11zm6 3.25H8v1.5h6v-1.5z" -})); -/* harmony default export */ var library_page = (page); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/tag.js - -/** - * WordPress dependencies - */ - -const tag = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M20.1 11.2l-6.7-6.7c-.1-.1-.3-.2-.5-.2H5c-.4-.1-.8.3-.8.7v7.8c0 .2.1.4.2.5l6.7 6.7c.2.2.5.4.7.5s.6.2.9.2c.3 0 .6-.1.9-.2.3-.1.5-.3.8-.5l5.6-5.6c.4-.4.7-1 .7-1.6.1-.6-.2-1.2-.6-1.6zM19 13.4L13.4 19c-.1.1-.2.1-.3.2-.2.1-.4.1-.6 0-.1 0-.2-.1-.3-.2l-6.5-6.5V5.8h6.8l6.5 6.5c.2.2.2.4.2.6 0 .1 0 .3-.2.5zM9 8c-.6 0-1 .4-1 1s.4 1 1 1 1-.4 1-1-.4-1-1-1z" -})); -/* harmony default export */ var library_tag = (tag); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/category.js - -/** - * WordPress dependencies - */ - -const category = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z", - fillRule: "evenodd", - clipRule: "evenodd" -})); -/* harmony default export */ var library_category = (category); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/file.js - -/** - * WordPress dependencies - */ - -const file = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M19 6.2h-5.9l-.6-1.1c-.3-.7-1-1.1-1.8-1.1H5c-1.1 0-2 .9-2 2v11.8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V8.2c0-1.1-.9-2-2-2zm.5 11.6c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h5.8c.2 0 .4.1.4.3l1 2H19c.3 0 .5.2.5.5v9.5z" -})); -/* harmony default export */ var library_file = (file); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/globe.js - -/** - * WordPress dependencies - */ - -const globe = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M12 3.3c-4.8 0-8.8 3.9-8.8 8.8 0 4.8 3.9 8.8 8.8 8.8 4.8 0 8.8-3.9 8.8-8.8s-4-8.8-8.8-8.8zm6.5 5.5h-2.6C15.4 7.3 14.8 6 14 5c2 .6 3.6 2 4.5 3.8zm.7 3.2c0 .6-.1 1.2-.2 1.8h-2.9c.1-.6.1-1.2.1-1.8s-.1-1.2-.1-1.8H19c.2.6.2 1.2.2 1.8zM12 18.7c-1-.7-1.8-1.9-2.3-3.5h4.6c-.5 1.6-1.3 2.9-2.3 3.5zm-2.6-4.9c-.1-.6-.1-1.1-.1-1.8 0-.6.1-1.2.1-1.8h5.2c.1.6.1 1.1.1 1.8s-.1 1.2-.1 1.8H9.4zM4.8 12c0-.6.1-1.2.2-1.8h2.9c-.1.6-.1 1.2-.1 1.8 0 .6.1 1.2.1 1.8H5c-.2-.6-.2-1.2-.2-1.8zM12 5.3c1 .7 1.8 1.9 2.3 3.5H9.7c.5-1.6 1.3-2.9 2.3-3.5zM10 5c-.8 1-1.4 2.3-1.8 3.8H5.5C6.4 7 8 5.6 10 5zM5.5 15.3h2.6c.4 1.5 1 2.8 1.8 3.7-1.8-.6-3.5-2-4.4-3.7zM14 19c.8-1 1.4-2.2 1.8-3.7h2.6C17.6 17 16 18.4 14 19z" -})); -/* harmony default export */ var library_globe = (globe); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/search-item.js - -/** - * WordPress dependencies - */ - - - - - - -const ICONS_MAP = { - post: post_list, - page: library_page, - post_tag: library_tag, - category: library_category, - attachment: library_file -}; -function SearchItemIcon({ - isURL, - suggestion -}) { - let icon = null; - if (isURL) { - icon = library_globe; - } else if (suggestion.type in ICONS_MAP) { - icon = ICONS_MAP[suggestion.type]; - } - if (icon) { - return (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - className: "block-editor-link-control__search-item-icon", - icon: icon - }); - } - return null; -} - -/** - * Adds a leading slash to a url if it doesn't already have one. - * @param {string} url the url to add a leading slash to. - * @return {string} the url with a leading slash. - */ -function addLeadingSlash(url) { - const trimmedURL = url?.trim(); - if (!trimmedURL?.length) return url; - return url?.replace(/^\/?/, '/'); -} -function removeTrailingSlash(url) { - const trimmedURL = url?.trim(); - if (!trimmedURL?.length) return url; - return url?.replace(/\/$/, ''); -} -const partialRight = (fn, ...partialArgs) => (...args) => fn(...args, ...partialArgs); -const defaultTo = d => v => { - return v === null || v === undefined || v !== v ? d : v; -}; - -/** - * Prepares a URL for display in the UI. - * - decodes the URL. - * - filters it (removes protocol, www, etc.). - * - truncates it if necessary. - * - adds a leading slash. - * @param {string} url the url. - * @return {string} the processed url to display. - */ -function getURLForDisplay(url) { - if (!url) return url; - return (0,external_wp_compose_namespaceObject.pipe)(external_wp_url_namespaceObject.safeDecodeURI, external_wp_url_namespaceObject.getPath, defaultTo(''), partialRight(external_wp_url_namespaceObject.filterURLForDisplay, 24), removeTrailingSlash, addLeadingSlash)(url); -} -const LinkControlSearchItem = ({ - itemProps, - suggestion, - searchTerm, - onClick, - isURL = false, - shouldShowType = false -}) => { - const info = isURL ? (0,external_wp_i18n_namespaceObject.__)('Press ENTER to add this link') : getURLForDisplay(suggestion.url); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - ...itemProps, - info: info, - iconPosition: "left", - icon: (0,external_wp_element_namespaceObject.createElement)(SearchItemIcon, { - suggestion: suggestion, - isURL: isURL - }), - onClick: onClick, - shortcut: shouldShowType && getVisualTypeName(suggestion), - className: "block-editor-link-control__search-item" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextHighlight - // The component expects a plain text string. - , { - text: (0,external_wp_dom_namespaceObject.__unstableStripHTML)(suggestion.title), - highlight: searchTerm - })); -}; -function getVisualTypeName(suggestion) { - if (suggestion.isFrontPage) { - return 'front page'; - } - - // Rename 'post_tag' to 'tag'. Ideally, the API would return the localised CPT or taxonomy label. - return suggestion.type === 'post_tag' ? 'tag' : suggestion.type; -} -/* harmony default export */ var search_item = (LinkControlSearchItem); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/constants.js -/** - * WordPress dependencies - */ - - -// Used as a unique identifier for the "Create" option within search results. -// Used to help distinguish the "Create" suggestion within the search results in -// order to handle it as a unique case. -const CREATE_TYPE = '__CREATE__'; -const TEL_TYPE = 'tel'; -const URL_TYPE = 'link'; -const MAILTO_TYPE = 'mailto'; -const INTERNAL_TYPE = 'internal'; -const LINK_ENTRY_TYPES = [URL_TYPE, MAILTO_TYPE, TEL_TYPE, INTERNAL_TYPE]; -const DEFAULT_LINK_SETTINGS = [{ - id: 'opensInNewTab', - title: (0,external_wp_i18n_namespaceObject.__)('Open in new tab') -}]; - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/search-results.js - -/** - * WordPress dependencies - */ - - - -/** - * External dependencies - */ - - -/** - * Internal dependencies - */ - - - -function LinkControlSearchResults({ - instanceId, - withCreateSuggestion, - currentInputValue, - handleSuggestionClick, - suggestionsListProps, - buildSuggestionItemProps, - suggestions, - selectedSuggestion, - isLoading, - isInitialSuggestions, - createSuggestionButtonText, - suggestionsQuery -}) { - const resultsListClasses = classnames_default()('block-editor-link-control__search-results', { - 'is-loading': isLoading - }); - const isSingleDirectEntryResult = suggestions.length === 1 && LINK_ENTRY_TYPES.includes(suggestions[0].type); - const shouldShowCreateSuggestion = withCreateSuggestion && !isSingleDirectEntryResult && !isInitialSuggestions; - // If the query has a specified type, then we can skip showing them in the result. See #24839. - const shouldShowSuggestionsTypes = !suggestionsQuery?.type; - - // According to guidelines aria-label should be added if the label - // itself is not visible. - // See: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role - const searchResultsLabelId = `block-editor-link-control-search-results-label-${instanceId}`; - const labelText = isInitialSuggestions ? (0,external_wp_i18n_namespaceObject.__)('Suggestions') : (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: search term. */ - (0,external_wp_i18n_namespaceObject.__)('Search results for "%s"'), currentInputValue); - const searchResultsLabel = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { - id: searchResultsLabelId - }, labelText); - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-link-control__search-results-wrapper" - }, searchResultsLabel, (0,external_wp_element_namespaceObject.createElement)("div", { - ...suggestionsListProps, - className: resultsListClasses, - "aria-labelledby": searchResultsLabelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, null, suggestions.map((suggestion, index) => { - if (shouldShowCreateSuggestion && CREATE_TYPE === suggestion.type) { - return (0,external_wp_element_namespaceObject.createElement)(search_create_button, { - searchTerm: currentInputValue, - buttonText: createSuggestionButtonText, - onClick: () => handleSuggestionClick(suggestion) - // Intentionally only using `type` here as - // the constant is enough to uniquely - // identify the single "CREATE" suggestion. - , - key: suggestion.type, - itemProps: buildSuggestionItemProps(suggestion, index), - isSelected: index === selectedSuggestion - }); - } - - // If we're not handling "Create" suggestions above then - // we don't want them in the main results so exit early. - if (CREATE_TYPE === suggestion.type) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(search_item, { - key: `${suggestion.id}-${suggestion.type}`, - itemProps: buildSuggestionItemProps(suggestion, index), - suggestion: suggestion, - index: index, - onClick: () => { - handleSuggestionClick(suggestion); - }, - isSelected: index === selectedSuggestion, - isURL: LINK_ENTRY_TYPES.includes(suggestion.type), - searchTerm: currentInputValue, - shouldShowType: shouldShowSuggestionsTypes, - isFrontPage: suggestion?.isFrontPage - }); - })))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/is-url-like.js -/** - * WordPress dependencies - */ - - -/** - * Determines whether a given value could be a URL. Note this does not - * guarantee the value is a URL only that it looks like it might be one. For - * example, just because a string has `www.` in it doesn't make it a URL, - * but it does make it highly likely that it will be so in the context of - * creating a link it makes sense to treat it like one. - * - * @param {string} val the candidate for being URL-like (or not). - * - * @return {boolean} whether or not the value is potentially a URL. - */ -function isURLLike(val) { - const hasSpaces = val.includes(' '); - if (hasSpaces) { - return false; - } - const protocol = (0,external_wp_url_namespaceObject.getProtocol)(val); - const protocolIsValid = (0,external_wp_url_namespaceObject.isValidProtocol)(protocol); - const mayBeTLD = hasPossibleTLD(val); - const isWWW = val?.startsWith('www.'); - const isInternal = val?.startsWith('#') && (0,external_wp_url_namespaceObject.isValidFragment)(val); - return protocolIsValid || isWWW || isInternal || mayBeTLD; -} - -/** - * Checks if a given URL has a valid Top-Level Domain (TLD). - * - * @param {string} url - The URL to check. - * @param {number} maxLength - The maximum length of the TLD. - * @return {boolean} Returns true if the URL has a valid TLD, false otherwise. - */ -function hasPossibleTLD(url, maxLength = 6) { - // Clean the URL by removing anything after the first occurrence of "?" or "#". - const cleanedURL = url.split(/[?#]/)[0]; - - // Regular expression explanation: - // - (?<=\S) : Positive lookbehind assertion to ensure there is at least one non-whitespace character before the TLD - // - \. : Matches a literal dot (.) - // - [a-zA-Z_]{2,maxLength} : Matches 2 to maxLength letters or underscores, representing the TLD - // - (?:\/|$) : Non-capturing group that matches either a forward slash (/) or the end of the string - const regex = new RegExp(`(?<=\\S)\\.(?:[a-zA-Z_]{2,${maxLength}})(?:\\/|$)`); - return regex.test(cleanedURL); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-search-handler.js -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -const handleNoop = () => Promise.resolve([]); -const handleDirectEntry = val => { - let type = URL_TYPE; - const protocol = (0,external_wp_url_namespaceObject.getProtocol)(val) || ''; - if (protocol.includes('mailto')) { - type = MAILTO_TYPE; - } - if (protocol.includes('tel')) { - type = TEL_TYPE; - } - if (val?.startsWith('#')) { - type = INTERNAL_TYPE; - } - return Promise.resolve([{ - id: val, - title: val, - url: type === 'URL' ? (0,external_wp_url_namespaceObject.prependHTTP)(val) : val, - type - }]); -}; -const handleEntitySearch = async (val, suggestionsQuery, fetchSearchSuggestions, withCreateSuggestion, pageOnFront) => { - const { - isInitialSuggestions - } = suggestionsQuery; - const results = await fetchSearchSuggestions(val, suggestionsQuery); - - // Identify front page and update type to match. - results.map(result => { - if (Number(result.id) === pageOnFront) { - result.isFrontPage = true; - return result; - } - return result; - }); - - // If displaying initial suggestions just return plain results. - if (isInitialSuggestions) { - return results; - } - - // Here we append a faux suggestion to represent a "CREATE" option. This - // is detected in the rendering of the search results and handled as a - // special case. This is currently necessary because the suggestions - // dropdown will only appear if there are valid suggestions and - // therefore unless the create option is a suggestion it will not - // display in scenarios where there are no results returned from the - // API. In addition promoting CREATE to a first class suggestion affords - // the a11y benefits afforded by `URLInput` to all suggestions (eg: - // keyboard handling, ARIA roles...etc). - // - // Note also that the value of the `title` and `url` properties must correspond - // to the text value of the ``. This is because `title` is used - // when creating the suggestion. Similarly `url` is used when using keyboard to select - // the suggestion (the `onSubmit` handler falls-back to `url`). - return isURLLike(val) || !withCreateSuggestion ? results : results.concat({ - // the `id` prop is intentionally ommitted here because it - // is never exposed as part of the component's public API. - // see: https://github.com/WordPress/gutenberg/pull/19775#discussion_r378931316. - title: val, - // Must match the existing ``s text value. - url: val, - // Must match the existing ``s text value. - type: CREATE_TYPE - }); -}; -function useSearchHandler(suggestionsQuery, allowDirectEntry, withCreateSuggestion, withURLSuggestion) { - const { - fetchSearchSuggestions, - pageOnFront - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSettings - } = select(store); - return { - pageOnFront: getSettings().pageOnFront, - fetchSearchSuggestions: getSettings().__experimentalFetchLinkSuggestions - }; - }, []); - const directEntryHandler = allowDirectEntry ? handleDirectEntry : handleNoop; - return (0,external_wp_element_namespaceObject.useCallback)((val, { - isInitialSuggestions - }) => { - return isURLLike(val) ? directEntryHandler(val, { - isInitialSuggestions - }) : handleEntitySearch(val, { - ...suggestionsQuery, - isInitialSuggestions - }, fetchSearchSuggestions, withCreateSuggestion, withURLSuggestion, pageOnFront); - }, [directEntryHandler, fetchSearchSuggestions, pageOnFront, suggestionsQuery, withCreateSuggestion, withURLSuggestion]); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/search-input.js - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - -// Must be a function as otherwise URLInput will default -// to the fetchLinkSuggestions passed in block editor settings -// which will cause an unintended http request. -const noopSearchHandler = () => Promise.resolve([]); -const search_input_noop = () => {}; -const LinkControlSearchInput = (0,external_wp_element_namespaceObject.forwardRef)(({ - value, - children, - currentLink = {}, - className = null, - placeholder = null, - withCreateSuggestion = false, - onCreateSuggestion = search_input_noop, - onChange = search_input_noop, - onSelect = search_input_noop, - showSuggestions = true, - renderSuggestions = props => (0,external_wp_element_namespaceObject.createElement)(LinkControlSearchResults, { - ...props - }), - fetchSuggestions = null, - allowDirectEntry = true, - showInitialSuggestions = false, - suggestionsQuery = {}, - withURLSuggestion = true, - createSuggestionButtonText, - hideLabelFromVision = false -}, ref) => { - const genericSearchHandler = useSearchHandler(suggestionsQuery, allowDirectEntry, withCreateSuggestion, withURLSuggestion); - const searchHandler = showSuggestions ? fetchSuggestions || genericSearchHandler : noopSearchHandler; - const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(LinkControlSearchInput); - const [focusedSuggestion, setFocusedSuggestion] = (0,external_wp_element_namespaceObject.useState)(); - - /** - * Handles the user moving between different suggestions. Does not handle - * choosing an individual item. - * - * @param {string} selection the url of the selected suggestion. - * @param {Object} suggestion the suggestion object. - */ - const onInputChange = (selection, suggestion) => { - onChange(selection); - setFocusedSuggestion(suggestion); - }; - const handleRenderSuggestions = props => renderSuggestions({ - ...props, - instanceId, - withCreateSuggestion, - createSuggestionButtonText, - suggestionsQuery, - handleSuggestionClick: suggestion => { - if (props.handleSuggestionClick) { - props.handleSuggestionClick(suggestion); - } - onSuggestionSelected(suggestion); - } - }); - const onSuggestionSelected = async selectedSuggestion => { - let suggestion = selectedSuggestion; - if (CREATE_TYPE === selectedSuggestion.type) { - // Create a new page and call onSelect with the output from the onCreateSuggestion callback. - try { - suggestion = await onCreateSuggestion(selectedSuggestion.title); - if (suggestion?.url) { - onSelect(suggestion); - } - } catch (e) {} - return; - } - if (allowDirectEntry || suggestion && Object.keys(suggestion).length >= 1) { - const { - id, - url, - ...restLinkProps - } = currentLink !== null && currentLink !== void 0 ? currentLink : {}; - onSelect( - // Some direct entries don't have types or IDs, and we still need to clear the previous ones. - { - ...restLinkProps, - ...suggestion - }, suggestion); - } - }; - const inputClasses = classnames_default()(className, { - // 'has-no-label': ! hideLabelFromVision, - }); - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-link-control__search-input-container" - }, (0,external_wp_element_namespaceObject.createElement)(url_input, { - disableSuggestions: currentLink?.url === value, - __nextHasNoMarginBottom: true, - label: (0,external_wp_i18n_namespaceObject.__)('Link'), - hideLabelFromVision: hideLabelFromVision, - className: inputClasses, - value: value, - onChange: onInputChange, - placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : (0,external_wp_i18n_namespaceObject.__)('Search or type url'), - __experimentalRenderSuggestions: showSuggestions ? handleRenderSuggestions : null, - __experimentalFetchLinkSuggestions: searchHandler, - __experimentalHandleURLSuggestions: true, - __experimentalShowInitialSuggestions: showInitialSuggestions, - onSubmit: (suggestion, event) => { - const hasSuggestion = suggestion || focusedSuggestion; - - // If there is no suggestion and the value (ie: any manually entered URL) is empty - // then don't allow submission otherwise we get empty links. - if (!hasSuggestion && !value?.trim()?.length) { - event.preventDefault(); - } else { - onSuggestionSelected(hasSuggestion || { - url: value - }); - } - }, - ref: ref - }), children); -}); -/* harmony default export */ var search_input = (LinkControlSearchInput); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/info.js - -/** - * WordPress dependencies - */ - -const info = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M12 3.2c-4.8 0-8.8 3.9-8.8 8.8 0 4.8 3.9 8.8 8.8 8.8 4.8 0 8.8-3.9 8.8-8.8 0-4.8-4-8.8-8.8-8.8zm0 16c-4 0-7.2-3.3-7.2-7.2C4.8 8 8 4.8 12 4.8s7.2 3.3 7.2 7.2c0 4-3.2 7.2-7.2 7.2zM11 17h2v-6h-2v6zm0-8h2V7h-2v2z" -})); -/* harmony default export */ var library_info = (info); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pencil.js - -/** - * WordPress dependencies - */ - -const pencil = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z" -})); -/* harmony default export */ var library_pencil = (pencil); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/edit.js -/** - * Internal dependencies - */ - - -/* harmony default export */ var library_edit = (library_pencil); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/link-off.js - -/** - * WordPress dependencies - */ - -const linkOff = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M17.031 4.703 15.576 4l-1.56 3H14v.03l-2.324 4.47H9.5V13h1.396l-1.502 2.889h-.95a3.694 3.694 0 0 1 0-7.389H10V7H8.444a5.194 5.194 0 1 0 0 10.389h.17L7.5 19.53l1.416.719L15.049 8.5h.507a3.694 3.694 0 0 1 0 7.39H14v1.5h1.556a5.194 5.194 0 0 0 .273-10.383l1.202-2.304Z" -})); -/* harmony default export */ var link_off = (linkOff); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/viewer-slot.js -/** - * WordPress dependencies - */ - -const { - Slot: ViewerSlot, - Fill: ViewerFill -} = (0,external_wp_components_namespaceObject.createSlotFill)('BlockEditorLinkControlViewer'); - -/* harmony default export */ var viewer_slot = ((/* unused pure expression or super */ null && (ViewerSlot))); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-rich-url-data.js -/** - * Internal dependencies - */ - - -/** - * WordPress dependencies - */ - - -function use_rich_url_data_reducer(state, action) { - switch (action.type) { - case 'RESOLVED': - return { - ...state, - isFetching: false, - richData: action.richData - }; - case 'ERROR': - return { - ...state, - isFetching: false, - richData: null - }; - case 'LOADING': - return { - ...state, - isFetching: true - }; - default: - throw new Error(`Unexpected action type ${action.type}`); - } -} -function useRemoteUrlData(url) { - const [state, dispatch] = (0,external_wp_element_namespaceObject.useReducer)(use_rich_url_data_reducer, { - richData: null, - isFetching: false - }); - const { - fetchRichUrlData - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSettings - } = select(store); - return { - fetchRichUrlData: getSettings().__experimentalFetchRichUrlData - }; - }, []); - (0,external_wp_element_namespaceObject.useEffect)(() => { - // Only make the request if we have an actual URL - // and the fetching util is available. In some editors - // there may not be such a util. - if (url?.length && fetchRichUrlData && typeof AbortController !== 'undefined') { - dispatch({ - type: 'LOADING' - }); - const controller = new window.AbortController(); - const signal = controller.signal; - fetchRichUrlData(url, { - signal - }).then(urlData => { - dispatch({ - type: 'RESOLVED', - richData: urlData - }); - }).catch(() => { - // Avoid setting state on unmounted component - if (!signal.aborted) { - dispatch({ - type: 'ERROR' - }); - } - }); - // Cleanup: when the URL changes the abort the current request. - return () => { - controller.abort(); - }; - } - }, [url]); - return state; -} -/* harmony default export */ var use_rich_url_data = (useRemoteUrlData); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/link-preview.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - -function LinkPreview({ - value, - onEditClick, - hasRichPreviews = false, - hasUnlinkControl = false, - onRemove, - additionalControls -}) { - // Avoid fetching if rich previews are not desired. - const showRichPreviews = hasRichPreviews ? value?.url : null; - const { - richData, - isFetching - } = use_rich_url_data(showRichPreviews); - - // Rich data may be an empty object so test for that. - const hasRichData = richData && Object.keys(richData).length; - const displayURL = value && (0,external_wp_url_namespaceObject.filterURLForDisplay)((0,external_wp_url_namespaceObject.safeDecodeURI)(value.url), 16) || ''; - - // url can be undefined if the href attribute is unset - const isEmptyURL = !value?.url?.length; - const displayTitle = !isEmptyURL && (0,external_wp_dom_namespaceObject.__unstableStripHTML)(richData?.title || value?.title || displayURL); - let icon; - if (richData?.icon) { - icon = (0,external_wp_element_namespaceObject.createElement)("img", { - src: richData?.icon, - alt: "" - }); - } else if (isEmptyURL) { - icon = (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: library_info, - size: 32 - }); - } else { - icon = (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: library_globe - }); - } - return (0,external_wp_element_namespaceObject.createElement)("div", { - "aria-label": (0,external_wp_i18n_namespaceObject.__)('Currently selected'), - className: classnames_default()('block-editor-link-control__search-item', { - 'is-current': true, - 'is-rich': hasRichData, - 'is-fetching': !!isFetching, - 'is-preview': true, - 'is-error': isEmptyURL, - 'is-url-title': displayTitle === displayURL - }) - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-link-control__search-item-top" - }, (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-link-control__search-item-header" - }, (0,external_wp_element_namespaceObject.createElement)("span", { - className: classnames_default()('block-editor-link-control__search-item-icon', { - 'is-image': richData?.icon - }) - }, icon), (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-link-control__search-item-details" - }, !isEmptyURL ? (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ExternalLink, { - className: "block-editor-link-control__search-item-title", - href: value.url - }, displayTitle), value?.url && displayTitle !== displayURL && (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-link-control__search-item-info" - }, displayURL)) : (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-link-control__search-item-error-notice" - }, (0,external_wp_i18n_namespaceObject.__)('Link is empty')))), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - icon: library_edit, - label: (0,external_wp_i18n_namespaceObject.__)('Edit'), - className: "block-editor-link-control__search-item-action", - onClick: onEditClick, - iconSize: 24 - }), hasUnlinkControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - icon: link_off, - label: (0,external_wp_i18n_namespaceObject.__)('Unlink'), - className: "block-editor-link-control__search-item-action block-editor-link-control__unlink", - onClick: onRemove, - iconSize: 24 - }), (0,external_wp_element_namespaceObject.createElement)(ViewerSlot, { - fillProps: value - })), !!(hasRichData && (richData?.image || richData?.description) || isFetching) && (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-link-control__search-item-bottom" - }, (richData?.image || isFetching) && (0,external_wp_element_namespaceObject.createElement)("div", { - "aria-hidden": !richData?.image, - className: classnames_default()('block-editor-link-control__search-item-image', { - 'is-placeholder': !richData?.image - }) - }, richData?.image && (0,external_wp_element_namespaceObject.createElement)("img", { - src: richData?.image, - alt: "" - })), (richData?.description || isFetching) && (0,external_wp_element_namespaceObject.createElement)("div", { - "aria-hidden": !richData?.description, - className: classnames_default()('block-editor-link-control__search-item-description', { - 'is-placeholder': !richData?.description - }) - }, richData?.description && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalText, { - truncate: true, - numberOfLines: "2" - }, richData.description))), additionalControls && additionalControls()); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/settings.js - -/** - * WordPress dependencies - */ - - -const settings_noop = () => {}; -const LinkControlSettings = ({ - value, - onChange = settings_noop, - settings -}) => { - if (!settings || !settings.length) { - return null; - } - const handleSettingChange = setting => newValue => { - onChange({ - ...value, - [setting.id]: newValue - }); - }; - const theSettings = settings.map(setting => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.CheckboxControl, { - __nextHasNoMarginBottom: true, - className: "block-editor-link-control__setting", - key: setting.id, - label: setting.title, - onChange: handleSettingChange(setting), - checked: value ? !!value[setting.id] : false, - help: setting?.help - })); - return (0,external_wp_element_namespaceObject.createElement)("fieldset", { - className: "block-editor-link-control__settings" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { - as: "legend" - }, (0,external_wp_i18n_namespaceObject.__)('Currently selected link settings')), theSettings); -}; -/* harmony default export */ var link_control_settings = (LinkControlSettings); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-create-page.js -/** - * WordPress dependencies - */ - - -function useCreatePage(handleCreatePage) { - const cancelableCreateSuggestion = (0,external_wp_element_namespaceObject.useRef)(); - const [isCreatingPage, setIsCreatingPage] = (0,external_wp_element_namespaceObject.useState)(false); - const [errorMessage, setErrorMessage] = (0,external_wp_element_namespaceObject.useState)(null); - const createPage = async function (suggestionTitle) { - setIsCreatingPage(true); - setErrorMessage(null); - try { - // Make cancellable in order that we can avoid setting State - // if the component unmounts during the call to `createSuggestion` - cancelableCreateSuggestion.current = makeCancelable( - // Using Promise.resolve to allow createSuggestion to return a - // non-Promise based value. - Promise.resolve(handleCreatePage(suggestionTitle))); - return await cancelableCreateSuggestion.current.promise; - } catch (error) { - if (error && error.isCanceled) { - return; // bail if canceled to avoid setting state - } - - setErrorMessage(error.message || (0,external_wp_i18n_namespaceObject.__)('An unknown error occurred during creation. Please try again.')); - throw error; - } finally { - setIsCreatingPage(false); - } - }; - - /** - * Handles cancelling any pending Promises that have been made cancelable. - */ - (0,external_wp_element_namespaceObject.useEffect)(() => { - return () => { - // componentDidUnmount - if (cancelableCreateSuggestion.current) { - cancelableCreateSuggestion.current.cancel(); - } - }; - }, []); - return { - createPage, - isCreatingPage, - errorMessage - }; -} - -/** - * Creates a wrapper around a promise which allows it to be programmatically - * cancelled. - * See: https://reactjs.org/blog/2015/12/16/ismounted-antipattern.html - * - * @param {Promise} promise the Promise to make cancelable - */ -const makeCancelable = promise => { - let hasCanceled_ = false; - const wrappedPromise = new Promise((resolve, reject) => { - promise.then(val => hasCanceled_ ? reject({ - isCanceled: true - }) : resolve(val), error => hasCanceled_ ? reject({ - isCanceled: true - }) : reject(error)); - }); - return { - promise: wrappedPromise, - cancel() { - hasCanceled_ = true; - } - }; -}; - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-internal-value.js -/** - * WordPress dependencies - */ - -function useInternalValue(value) { - const [internalValue, setInternalValue] = (0,external_wp_element_namespaceObject.useState)(value || {}); - - // If the value prop changes, update the internal state. - (0,external_wp_element_namespaceObject.useEffect)(() => { - setInternalValue(prevValue => { - if (value && value !== prevValue) { - return value; - } - return prevValue; - }); - }, [value]); - const setInternalURLInputValue = nextValue => { - setInternalValue({ - ...internalValue, - url: nextValue - }); - }; - const setInternalTextInputValue = nextValue => { - setInternalValue({ - ...internalValue, - title: nextValue - }); - }; - const createSetInternalSettingValueHandler = settingsKeys => nextValue => { - // Only apply settings values which are defined in the settings prop. - const settingsUpdates = Object.keys(nextValue).reduce((acc, key) => { - if (settingsKeys.includes(key)) { - acc[key] = nextValue[key]; - } - return acc; - }, {}); - setInternalValue({ - ...internalValue, - ...settingsUpdates - }); - }; - return [internalValue, setInternalValue, setInternalURLInputValue, setInternalTextInputValue, createSetInternalSettingValueHandler]; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - @@ -34613,10848 +51016,334 @@ function useInternalValue(value) { - - - - - - -/** - * Default properties associated with a link control value. - * - * @typedef WPLinkControlDefaultValue - * - * @property {string} url Link URL. - * @property {string=} title Link title. - * @property {boolean=} opensInNewTab Whether link should open in a new browser - * tab. This value is only assigned if not - * providing a custom `settings` prop. - */ - -/* eslint-disable jsdoc/valid-types */ -/** - * Custom settings values associated with a link. - * - * @typedef {{[setting:string]:any}} WPLinkControlSettingsValue - */ -/* eslint-enable */ - -/** - * Custom settings values associated with a link. - * - * @typedef WPLinkControlSetting - * - * @property {string} id Identifier to use as property for setting value. - * @property {string} title Human-readable label to show in user interface. - */ - -/** - * Properties associated with a link control value, composed as a union of the - * default properties and any custom settings values. - * - * @typedef {WPLinkControlDefaultValue&WPLinkControlSettingsValue} WPLinkControlValue - */ - -/** @typedef {(nextValue:WPLinkControlValue)=>void} WPLinkControlOnChangeProp */ - -/** - * Properties associated with a search suggestion used within the LinkControl. - * - * @typedef WPLinkControlSuggestion - * - * @property {string} id Identifier to use to uniquely identify the suggestion. - * @property {string} type Identifies the type of the suggestion (eg: `post`, - * `page`, `url`...etc) - * @property {string} title Human-readable label to show in user interface. - * @property {string} url A URL for the suggestion. - */ - -/** @typedef {(title:string)=>WPLinkControlSuggestion} WPLinkControlCreateSuggestionProp */ - -/** - * @typedef WPLinkControlProps - * - * @property {(WPLinkControlSetting[])=} settings An array of settings objects. Each object will used to - * render a `ToggleControl` for that setting. - * @property {boolean=} forceIsEditingLink If passed as either `true` or `false`, controls the - * internal editing state of the component to respective - * show or not show the URL input field. - * @property {WPLinkControlValue=} value Current link value. - * @property {WPLinkControlOnChangeProp=} onChange Value change handler, called with the updated value if - * the user selects a new link or updates settings. - * @property {boolean=} noDirectEntry Whether to allow turning a URL-like search query directly into a link. - * @property {boolean=} showSuggestions Whether to present suggestions when typing the URL. - * @property {boolean=} showInitialSuggestions Whether to present initial suggestions immediately. - * @property {boolean=} withCreateSuggestion Whether to allow creation of link value from suggestion. - * @property {Object=} suggestionsQuery Query parameters to pass along to wp.blockEditor.__experimentalFetchLinkSuggestions. - * @property {boolean=} noURLSuggestion Whether to add a fallback suggestion which treats the search query as a URL. - * @property {boolean=} hasTextControl Whether to add a text field to the UI to update the value.title. - * @property {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion. - * @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component. - */ - -const link_control_noop = () => {}; -const PREFERENCE_SCOPE = 'core/block-editor'; -const PREFERENCE_KEY = 'linkControlSettingsDrawer'; - -/** - * Renders a link control. A link control is a controlled input which maintains - * a value associated with a link (HTML anchor element) and relevant settings - * for how that link is expected to behave. - * - * @param {WPLinkControlProps} props Component props. - */ -function LinkControl({ - searchInputPlaceholder, - value, - settings = DEFAULT_LINK_SETTINGS, - onChange = link_control_noop, - onRemove, - onCancel, - noDirectEntry = false, - showSuggestions = true, - showInitialSuggestions, - forceIsEditingLink, - createSuggestion, - withCreateSuggestion, - inputValue: propInputValue = '', - suggestionsQuery = {}, - noURLSuggestion = false, - createSuggestionButtonText, - hasRichPreviews = false, - hasTextControl = false, - renderControlBottom = null -}) { - if (withCreateSuggestion === undefined && createSuggestion) { - withCreateSuggestion = true; - } - const [settingsOpen, setSettingsOpen] = (0,external_wp_element_namespaceObject.useState)(false); - const { - advancedSettingsPreference - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - var _prefsStore$get; - const prefsStore = select(external_wp_preferences_namespaceObject.store); - return { - advancedSettingsPreference: (_prefsStore$get = prefsStore.get(PREFERENCE_SCOPE, PREFERENCE_KEY)) !== null && _prefsStore$get !== void 0 ? _prefsStore$get : false - }; - }, []); - const { - set: setPreference - } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_preferences_namespaceObject.store); - - /** - * Sets the open/closed state of the Advanced Settings Drawer, - * optionlly persisting the state to the user's preferences. - * - * Note that Block Editor components can be consumed by non-WordPress - * environments which may not have preferences setup. - * Therefore a local state is also used as a fallback. - * - * @param {boolean} prefVal the open/closed state of the Advanced Settings Drawer. - */ - const setSettingsOpenWithPreference = prefVal => { - if (setPreference) { - setPreference(PREFERENCE_SCOPE, PREFERENCE_KEY, prefVal); - } - setSettingsOpen(prefVal); - }; - - // Block Editor components can be consumed by non-WordPress environments - // which may not have these preferences setup. - // Therefore a local state is used as a fallback. - const isSettingsOpen = advancedSettingsPreference || settingsOpen; - const isMounting = (0,external_wp_element_namespaceObject.useRef)(true); - const wrapperNode = (0,external_wp_element_namespaceObject.useRef)(); - const textInputRef = (0,external_wp_element_namespaceObject.useRef)(); - const isEndingEditWithFocus = (0,external_wp_element_namespaceObject.useRef)(false); - const settingsKeys = settings.map(({ - id - }) => id); - const [internalControlValue, setInternalControlValue, setInternalURLInputValue, setInternalTextInputValue, createSetInternalSettingValueHandler] = useInternalValue(value); - const valueHasChanges = value && !(0,external_wp_isShallowEqual_namespaceObject.isShallowEqualObjects)(internalControlValue, value); - const [isEditingLink, setIsEditingLink] = (0,external_wp_element_namespaceObject.useState)(forceIsEditingLink !== undefined ? forceIsEditingLink : !value || !value.url); - const { - createPage, - isCreatingPage, - errorMessage - } = useCreatePage(createSuggestion); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (forceIsEditingLink === undefined) { - return; - } - setIsEditingLink(forceIsEditingLink); - }, [forceIsEditingLink]); - (0,external_wp_element_namespaceObject.useEffect)(() => { - // We don't auto focus into the Link UI on mount - // because otherwise using the keyboard to select text - // *within* the link format is not possible. - if (isMounting.current) { - isMounting.current = false; - return; - } - - // Scenario - when: - // - switching between editable and non editable LinkControl - // - clicking on a link - // ...then move focus to the *first* element to avoid focus loss - // and to ensure focus is *within* the Link UI. - const nextFocusTarget = external_wp_dom_namespaceObject.focus.focusable.find(wrapperNode.current)[0] || wrapperNode.current; - nextFocusTarget.focus(); - isEndingEditWithFocus.current = false; - }, [isEditingLink, isCreatingPage]); - const hasLinkValue = value?.url?.trim()?.length > 0; - - /** - * Cancels editing state and marks that focus may need to be restored after - * the next render, if focus was within the wrapper when editing finished. - */ - const stopEditing = () => { - isEndingEditWithFocus.current = !!wrapperNode.current?.contains(wrapperNode.current.ownerDocument.activeElement); - setIsEditingLink(false); - }; - const handleSelectSuggestion = updatedValue => { - // Suggestions may contains "settings" values (e.g. `opensInNewTab`) - // which should not overide any existing settings values set by the - // user. This filters out any settings values from the suggestion. - const nonSettingsChanges = Object.keys(updatedValue).reduce((acc, key) => { - if (!settingsKeys.includes(key)) { - acc[key] = updatedValue[key]; - } - return acc; - }, {}); - onChange({ - ...internalControlValue, - ...nonSettingsChanges, - // As title is not a setting, it must be manually applied - // in such a way as to preserve the users changes over - // any "title" value provided by the "suggestion". - title: internalControlValue?.title || updatedValue?.title - }); - stopEditing(); - }; - const handleSubmit = () => { - if (valueHasChanges) { - // Submit the original value with new stored values applied - // on top. URL is a special case as it may also be a prop. - onChange({ - ...value, - ...internalControlValue, - url: currentUrlInputValue - }); - } - stopEditing(); - }; - const handleSubmitWithEnter = event => { - const { - keyCode - } = event; - if (keyCode === external_wp_keycodes_namespaceObject.ENTER && !currentInputIsEmpty // Disallow submitting empty values. - ) { - event.preventDefault(); - handleSubmit(); - } - }; - const resetInternalValues = () => { - setInternalControlValue(value); - }; - const handleCancel = event => { - event.preventDefault(); - event.stopPropagation(); - - // Ensure that any unsubmitted input changes are reset. - resetInternalValues(); - if (hasLinkValue) { - // If there is a link then exist editing mode and show preview. - stopEditing(); - } else { - // If there is no link value, then remove the link entirely. - onRemove?.(); - } - onCancel?.(); - }; - const currentUrlInputValue = propInputValue || internalControlValue?.url || ''; - const currentInputIsEmpty = !currentUrlInputValue?.trim()?.length; - const shownUnlinkControl = onRemove && value && !isEditingLink && !isCreatingPage; - const showActions = isEditingLink && hasLinkValue; - - // Only show text control once a URL value has been committed - // and it isn't just empty whitespace. - // See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927. - const showTextControl = hasLinkValue && hasTextControl; - const isEditing = (isEditingLink || !value) && !isCreatingPage; - const isDisabled = !valueHasChanges || currentInputIsEmpty; - const showSettings = !!settings?.length && isEditingLink && hasLinkValue; - return (0,external_wp_element_namespaceObject.createElement)("div", { - tabIndex: -1, - ref: wrapperNode, - className: "block-editor-link-control" - }, isCreatingPage && (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-link-control__loading" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null), " ", (0,external_wp_i18n_namespaceObject.__)('Creating'), "\u2026"), isEditing && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("div", { - className: classnames_default()({ - 'block-editor-link-control__search-input-wrapper': true, - 'has-text-control': showTextControl, - 'has-actions': showActions - }) - }, showTextControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextControl, { - __nextHasNoMarginBottom: true, - ref: textInputRef, - className: "block-editor-link-control__field block-editor-link-control__text-content", - label: (0,external_wp_i18n_namespaceObject.__)('Text'), - value: internalControlValue?.title, - onChange: setInternalTextInputValue, - onKeyDown: handleSubmitWithEnter, - size: "__unstable-large" - }), (0,external_wp_element_namespaceObject.createElement)(search_input, { - currentLink: value, - className: "block-editor-link-control__field block-editor-link-control__search-input", - placeholder: searchInputPlaceholder, - value: currentUrlInputValue, - withCreateSuggestion: withCreateSuggestion, - onCreateSuggestion: createPage, - onChange: setInternalURLInputValue, - onSelect: handleSelectSuggestion, - showInitialSuggestions: showInitialSuggestions, - allowDirectEntry: !noDirectEntry, - showSuggestions: showSuggestions, - suggestionsQuery: suggestionsQuery, - withURLSuggestion: !noURLSuggestion, - createSuggestionButtonText: createSuggestionButtonText, - hideLabelFromVision: !showTextControl - }), !showActions && (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-link-control__search-enter" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - onClick: isDisabled ? link_control_noop : handleSubmit, - label: (0,external_wp_i18n_namespaceObject.__)('Submit'), - icon: keyboard_return, - className: "block-editor-link-control__search-submit", - "aria-disabled": isDisabled - }))), errorMessage && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Notice, { - className: "block-editor-link-control__search-error", - status: "error", - isDismissible: false - }, errorMessage)), value && !isEditingLink && !isCreatingPage && (0,external_wp_element_namespaceObject.createElement)(LinkPreview, { - key: value?.url // force remount when URL changes to avoid race conditions for rich previews - , - value: value, - onEditClick: () => setIsEditingLink(true), - hasRichPreviews: hasRichPreviews, - hasUnlinkControl: shownUnlinkControl, - additionalControls: () => { - // Expose the "Opens in new tab" settings in the preview - // as it is the most common setting to change. - if (settings?.find(setting => setting.id === 'opensInNewTab')) { - return (0,external_wp_element_namespaceObject.createElement)(link_control_settings, { - value: internalControlValue, - settings: settings?.filter(({ - id - }) => id === 'opensInNewTab'), - onChange: onChange - }); - } - }, - onRemove: () => { - onRemove(); - setIsEditingLink(true); - } - }), showSettings && (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-link-control__tools" - }, !currentInputIsEmpty && (0,external_wp_element_namespaceObject.createElement)(settings_drawer, { - settingsOpen: isSettingsOpen, - setSettingsOpen: setSettingsOpenWithPreference - }, (0,external_wp_element_namespaceObject.createElement)(link_control_settings, { - value: internalControlValue, - settings: settings, - onChange: createSetInternalSettingValueHandler(settingsKeys) - }))), showActions && (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-link-control__search-actions" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - variant: "primary", - onClick: isDisabled ? link_control_noop : handleSubmit, - className: "block-editor-link-control__search-submit", - "aria-disabled": isDisabled - }, (0,external_wp_i18n_namespaceObject.__)('Save')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - variant: "tertiary", - onClick: handleCancel - }, (0,external_wp_i18n_namespaceObject.__)('Cancel'))), renderControlBottom && renderControlBottom()); -} -LinkControl.ViewerFill = ViewerFill; -LinkControl.DEFAULT_LINK_SETTINGS = DEFAULT_LINK_SETTINGS; -/* harmony default export */ var link_control = (LinkControl); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/media-replace-flow/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - - - - -/** - * Internal dependencies - */ - - - - -const media_replace_flow_noop = () => {}; -let uniqueId = 0; -const MediaReplaceFlow = ({ - mediaURL, - mediaId, - mediaIds, - allowedTypes, - accept, - onError, - onSelect, - onSelectURL, - onToggleFeaturedImage, - useFeaturedImage, - onFilesUpload = media_replace_flow_noop, - name = (0,external_wp_i18n_namespaceObject.__)('Replace'), - createNotice, - removeNotice, - children, - multiple = false, - addToGallery, - handleUpload = true, - popoverProps -}) => { - const mediaUpload = (0,external_wp_data_namespaceObject.useSelect)(select => { - return select(store).getSettings().mediaUpload; - }, []); - const canUpload = !!mediaUpload; - const editMediaButtonRef = (0,external_wp_element_namespaceObject.useRef)(); - const errorNoticeID = `block-editor/media-replace-flow/error-notice/${++uniqueId}`; - const onUploadError = message => { - const safeMessage = (0,external_wp_dom_namespaceObject.__unstableStripHTML)(message); - if (onError) { - onError(safeMessage); - return; - } - // We need to set a timeout for showing the notice - // so that VoiceOver and possibly other screen readers - // can announce the error afer the toolbar button - // regains focus once the upload dialog closes. - // Otherwise VO simply skips over the notice and announces - // the focused element and the open menu. - setTimeout(() => { - createNotice('error', safeMessage, { - speak: true, - id: errorNoticeID, - isDismissible: true - }); - }, 1000); - }; - const selectMedia = (media, closeMenu) => { - if (useFeaturedImage && onToggleFeaturedImage) { - onToggleFeaturedImage(); - } - closeMenu(); - // Calling `onSelect` after the state update since it might unmount the component. - onSelect(media); - (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)('The media file has been replaced')); - removeNotice(errorNoticeID); - }; - const uploadFiles = (event, closeMenu) => { - const files = event.target.files; - if (!handleUpload) { - closeMenu(); - return onSelect(files); - } - onFilesUpload(files); - mediaUpload({ - allowedTypes, - filesList: files, - onFileChange: ([media]) => { - selectMedia(media, closeMenu); - }, - onError: onUploadError - }); - }; - const openOnArrowDown = event => { - if (event.keyCode === external_wp_keycodes_namespaceObject.DOWN) { - event.preventDefault(); - event.target.click(); - } - }; - const onlyAllowsImages = () => { - if (!allowedTypes || allowedTypes.length === 0) { - return false; - } - return allowedTypes.every(allowedType => allowedType === 'image' || allowedType.startsWith('image/')); - }; - const gallery = multiple && onlyAllowsImages(); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { - popoverProps: popoverProps, - contentClassName: "block-editor-media-replace-flow__options", - renderToggle: ({ - isOpen, - onToggle - }) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - ref: editMediaButtonRef, - "aria-expanded": isOpen, - "aria-haspopup": "true", - onClick: onToggle, - onKeyDown: openOnArrowDown - }, name), - renderContent: ({ - onClose - }) => (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.NavigableMenu, { - className: "block-editor-media-replace-flow__media-upload-menu" - }, (0,external_wp_element_namespaceObject.createElement)(check, null, (0,external_wp_element_namespaceObject.createElement)(media_upload, { - gallery: gallery, - addToGallery: addToGallery, - multiple: multiple, - value: multiple ? mediaIds : mediaId, - onSelect: media => selectMedia(media, onClose), - allowedTypes: allowedTypes, - render: ({ - open - }) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - icon: library_media, - onClick: open - }, (0,external_wp_i18n_namespaceObject.__)('Open Media Library')) - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FormFileUpload, { - onChange: event => { - uploadFiles(event, onClose); - }, - accept: accept, - multiple: !!multiple, - render: ({ - openFileDialog - }) => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - icon: library_upload, - onClick: () => { - openFileDialog(); - } - }, (0,external_wp_i18n_namespaceObject.__)('Upload')); - } - })), onToggleFeaturedImage && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - icon: post_featured_image, - onClick: onToggleFeaturedImage, - isPressed: useFeaturedImage - }, (0,external_wp_i18n_namespaceObject.__)('Use featured image')), children), onSelectURL && - // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions - (0,external_wp_element_namespaceObject.createElement)("form", { - className: classnames_default()('block-editor-media-flow__url-input', { - 'has-siblings': canUpload || onToggleFeaturedImage - }) - }, (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-media-replace-flow__image-url-label" - }, (0,external_wp_i18n_namespaceObject.__)('Current media URL:')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Tooltip, { - text: mediaURL - }, (0,external_wp_element_namespaceObject.createElement)("div", null, (0,external_wp_element_namespaceObject.createElement)(link_control, { - value: { - url: mediaURL - }, - settings: [], - showSuggestions: false, - onChange: ({ - url - }) => { - onSelectURL(url); - editMediaButtonRef.current.focus(); - } - }))))) - }); +const COMMON_PROPS = { + placement: 'top-start' }; -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md - */ -/* harmony default export */ var media_replace_flow = ((0,external_wp_compose_namespaceObject.compose)([(0,external_wp_data_namespaceObject.withDispatch)(dispatch => { - const { - createNotice, - removeNotice - } = dispatch(external_wp_notices_namespaceObject.store); - return { - createNotice, - removeNotice - }; -}), (0,external_wp_components_namespaceObject.withFilters)('editor.MediaReplaceFlow')])(MediaReplaceFlow)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/background.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - - - -/** - * Internal dependencies - */ - - - - - -const BACKGROUND_SUPPORT_KEY = 'background'; -const IMAGE_BACKGROUND_TYPE = 'image'; - -/** - * Checks if there is a current value in the background image block support - * attributes. - * - * @param {Object} props Block props. - * @return {boolean} Whether or not the block has a background image value set. - */ -function hasBackgroundImageValue(props) { - const hasValue = !!props.attributes.style?.background?.backgroundImage?.id || !!props.attributes.style?.background?.backgroundImage?.url; - return hasValue; -} - -/** - * Determine whether there is block support for background. - * - * @param {string} blockName Block name. - * @param {string} feature Background image feature to check for. - * - * @return {boolean} Whether there is support. - */ -function hasBackgroundSupport(blockName, feature = 'any') { - if (external_wp_element_namespaceObject.Platform.OS !== 'web') { - return false; - } - const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockName, BACKGROUND_SUPPORT_KEY); - if (support === true) { - return true; - } - if (feature === 'any') { - return !!support?.backgroundImage; - } - return !!support?.[feature]; -} - -/** - * Resets the background image block support attributes. This can be used when disabling - * the background image controls for a block via a `ToolsPanel`. - * - * @param {Object} props Block props. - * @param {Object} props.attributes Block's attributes. - * @param {Object} props.setAttributes Function to set block's attributes. - */ -function resetBackgroundImage({ - attributes = {}, - setAttributes -}) { - const { - style = {} - } = attributes; - setAttributes({ - style: utils_cleanEmptyObject({ - ...style, - background: { - ...style?.background, - backgroundImage: undefined - } - }) - }); -} -function InspectorImagePreview({ - label, - filename, - url: imgUrl -}) { - const imgLabel = label || (0,external_wp_url_namespaceObject.getFilename)(imgUrl); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalItemGroup, { - as: "span" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - justify: "flex-start", - as: "span" - }, (0,external_wp_element_namespaceObject.createElement)("span", { - className: classnames_default()('block-editor-hooks__background__inspector-image-indicator-wrapper', { - 'has-image': imgUrl - }), - "aria-hidden": true - }, imgUrl && (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-hooks__background__inspector-image-indicator", - style: { - backgroundImage: `url(${imgUrl})` - } - })), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, { - as: "span" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { - numberOfLines: 1, - className: "block-editor-hooks__background__inspector-media-replace-title" - }, imgLabel), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { - as: "span" - }, filename ? (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: file name */ - (0,external_wp_i18n_namespaceObject.__)('Selected image: %s'), filename) : (0,external_wp_i18n_namespaceObject.__)('No image selected'))))); -} -function BackgroundImagePanelItem(props) { - const { - attributes, - clientId, - setAttributes - } = props; - const { - id, - title, - url - } = attributes.style?.background?.backgroundImage || {}; - const replaceContainerRef = (0,external_wp_element_namespaceObject.useRef)(); - const { - mediaUpload - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - return { - mediaUpload: select(store).getSettings().mediaUpload - }; - }); - const { - createErrorNotice - } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); - const onUploadError = message => { - createErrorNotice(message, { - type: 'snackbar' - }); - }; - const onSelectMedia = media => { - if (!media || !media.url) { - const newStyle = { - ...attributes.style, - background: { - ...attributes.style?.background, - backgroundImage: undefined - } - }; - const newAttributes = { - style: utils_cleanEmptyObject(newStyle) - }; - setAttributes(newAttributes); - return; - } - if ((0,external_wp_blob_namespaceObject.isBlobURL)(media.url)) { - return; - } - - // For media selections originated from a file upload. - if (media.media_type && media.media_type !== IMAGE_BACKGROUND_TYPE || !media.media_type && media.type && media.type !== IMAGE_BACKGROUND_TYPE) { - onUploadError((0,external_wp_i18n_namespaceObject.__)('Only images can be used as a background image.')); - return; - } - const newStyle = { - ...attributes.style, - background: { - ...attributes.style?.background, - backgroundImage: { - url: media.url, - id: media.id, - source: 'file', - title: media.title || undefined - } - } - }; - const newAttributes = { - style: utils_cleanEmptyObject(newStyle) - }; - setAttributes(newAttributes); - }; - const onFilesDrop = filesList => { - mediaUpload({ - allowedTypes: ['image'], - filesList, - onFileChange([image]) { - if ((0,external_wp_blob_namespaceObject.isBlobURL)(image?.url)) { - return; - } - onSelectMedia(image); - }, - onError: onUploadError - }); - }; - const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { - return { - ...previousValue, - style: { - ...previousValue.style, - background: undefined - } - }; - }, []); - const hasValue = hasBackgroundImageValue(props); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - className: "single-column", - hasValue: () => hasValue, - label: (0,external_wp_i18n_namespaceObject.__)('Background image'), - onDeselect: () => resetBackgroundImage(props), - isShownByDefault: true, - resetAllFilter: resetAllFilter, - panelId: clientId - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-hooks__background__inspector-media-replace-container", - ref: replaceContainerRef - }, (0,external_wp_element_namespaceObject.createElement)(media_replace_flow, { - mediaId: id, - mediaURL: url, - allowedTypes: [IMAGE_BACKGROUND_TYPE], - accept: "image/*", - onSelect: onSelectMedia, - name: (0,external_wp_element_namespaceObject.createElement)(InspectorImagePreview, { - label: (0,external_wp_i18n_namespaceObject.__)('Background image'), - filename: title, - url: url - }), - variant: "secondary" - }, hasValue && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - onClick: () => { - const [toggleButton] = external_wp_dom_namespaceObject.focus.tabbable.find(replaceContainerRef.current); - // Focus the toggle button and close the dropdown menu. - // This ensures similar behaviour as to selecting an image, where the dropdown is - // closed and focus is redirected to the dropdown toggle button. - toggleButton?.focus(); - toggleButton?.click(); - resetBackgroundImage(props); - } - }, (0,external_wp_i18n_namespaceObject.__)('Reset '))), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DropZone, { - onFilesDrop: onFilesDrop, - label: (0,external_wp_i18n_namespaceObject.__)('Drop to upload') - }))); -} -function BackgroundImagePanel(props) { - const isBackgroundImageSupported = use_setting_useSetting('background.backgroundImage') && hasBackgroundSupport(props.name, 'backgroundImage'); - if (!isBackgroundImageSupported) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(inspector_controls, { - group: "background" - }, isBackgroundImageSupported && (0,external_wp_element_namespaceObject.createElement)(BackgroundImagePanelItem, { - ...props - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/utils.js -/** - * External dependencies - */ - - - - -/** - * Internal dependencies - */ - -k([names, a11y]); - -/** - * Provided an array of color objects as set by the theme or by the editor defaults, - * and the values of the defined color or custom color returns a color object describing the color. - * - * @param {Array} colors Array of color objects as set by the theme or by the editor defaults. - * @param {?string} definedColor A string containing the color slug. - * @param {?string} customColor A string containing the customColor value. - * - * @return {?Object} If definedColor is passed and the name is found in colors, - * the color object exactly as set by the theme or editor defaults is returned. - * Otherwise, an object that just sets the color is defined. - */ -const getColorObjectByAttributeValues = (colors, definedColor, customColor) => { - if (definedColor) { - const colorObj = colors?.find(color => color.slug === definedColor); - if (colorObj) { - return colorObj; - } - } - return { - color: customColor - }; -}; - -/** - * Provided an array of color objects as set by the theme or by the editor defaults, and a color value returns the color object matching that value or undefined. - * - * @param {Array} colors Array of color objects as set by the theme or by the editor defaults. - * @param {?string} colorValue A string containing the color value. - * - * @return {?Object} Color object included in the colors array whose color property equals colorValue. - * Returns undefined if no color object matches this requirement. - */ -const getColorObjectByColorValue = (colors, colorValue) => { - return colors?.find(color => color.color === colorValue); -}; - -/** - * Returns a class based on the context a color is being used and its slug. - * - * @param {string} colorContextName Context/place where color is being used e.g: background, text etc... - * @param {string} colorSlug Slug of the color. - * - * @return {?string} String with the class corresponding to the color in the provided context. - * Returns undefined if either colorContextName or colorSlug are not provided. - */ -function getColorClassName(colorContextName, colorSlug) { - if (!colorContextName || !colorSlug) { - return undefined; - } - return `has-${kebabCase(colorSlug)}-${colorContextName}`; -} - -/** - * Given an array of color objects and a color value returns the color value of the most readable color in the array. - * - * @param {Array} colors Array of color objects as set by the theme or by the editor defaults. - * @param {?string} colorValue A string containing the color value. - * - * @return {string} String with the color value of the most readable color. - */ -function getMostReadableColor(colors, colorValue) { - const colordColor = w(colorValue); - const getColorContrast = ({ - color - }) => colordColor.contrast(color); - const maxContrast = Math.max(...colors.map(getColorContrast)); - return colors.find(color => getColorContrast(color) === maxContrast).color; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -/** - * Retrieves color and gradient related settings. - * - * The arrays for colors and gradients are made up of color palettes from each - * origin i.e. "Core", "Theme", and "User". - * - * @return {Object} Color and gradient related settings. - */ -function useMultipleOriginColorsAndGradients() { - const colorGradientSettings = { - disableCustomColors: !use_setting_useSetting('color.custom'), - disableCustomGradients: !use_setting_useSetting('color.customGradient') - }; - const customColors = use_setting_useSetting('color.palette.custom'); - const themeColors = use_setting_useSetting('color.palette.theme'); - const defaultColors = use_setting_useSetting('color.palette.default'); - const shouldDisplayDefaultColors = use_setting_useSetting('color.defaultPalette'); - colorGradientSettings.colors = (0,external_wp_element_namespaceObject.useMemo)(() => { - const result = []; - if (themeColors && themeColors.length) { - result.push({ - name: (0,external_wp_i18n_namespaceObject._x)('Theme', 'Indicates this palette comes from the theme.'), - colors: themeColors - }); - } - if (shouldDisplayDefaultColors && defaultColors && defaultColors.length) { - result.push({ - name: (0,external_wp_i18n_namespaceObject._x)('Default', 'Indicates this palette comes from WordPress.'), - colors: defaultColors - }); - } - if (customColors && customColors.length) { - result.push({ - name: (0,external_wp_i18n_namespaceObject._x)('Custom', 'Indicates this palette comes from the theme.'), - colors: customColors - }); - } - return result; - }, [defaultColors, themeColors, customColors, shouldDisplayDefaultColors]); - const customGradients = use_setting_useSetting('color.gradients.custom'); - const themeGradients = use_setting_useSetting('color.gradients.theme'); - const defaultGradients = use_setting_useSetting('color.gradients.default'); - const shouldDisplayDefaultGradients = use_setting_useSetting('color.defaultGradients'); - colorGradientSettings.gradients = (0,external_wp_element_namespaceObject.useMemo)(() => { - const result = []; - if (themeGradients && themeGradients.length) { - result.push({ - name: (0,external_wp_i18n_namespaceObject._x)('Theme', 'Indicates this palette comes from the theme.'), - gradients: themeGradients - }); - } - if (shouldDisplayDefaultGradients && defaultGradients && defaultGradients.length) { - result.push({ - name: (0,external_wp_i18n_namespaceObject._x)('Default', 'Indicates this palette comes from WordPress.'), - gradients: defaultGradients - }); - } - if (customGradients && customGradients.length) { - result.push({ - name: (0,external_wp_i18n_namespaceObject._x)('Custom', 'Indicates this palette is created by the user.'), - gradients: customGradients - }); - } - return result; - }, [customGradients, themeGradients, defaultGradients, shouldDisplayDefaultGradients]); - colorGradientSettings.hasColorsOrGradients = !!colorGradientSettings.colors.length || !!colorGradientSettings.gradients.length; - return colorGradientSettings; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/utils.js -/** - * WordPress dependencies - */ - - -/** - * Gets the (non-undefined) item with the highest occurrence within an array - * Based in part on: https://stackoverflow.com/a/20762713 - * - * Undefined values are always sorted to the end by `sort`, so this function - * returns the first element, to always prioritize real values over undefined - * values. - * - * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description - * - * @param {Array} inputArray Array of items to check. - * @return {any} The item with the most occurrences. - */ -function utils_mode(inputArray) { - const arr = [...inputArray]; - return arr.sort((a, b) => inputArray.filter(v => v === b).length - inputArray.filter(v => v === a).length).shift(); -} - -/** - * Returns the most common CSS unit from the current CSS unit selections. - * - * - If a single flat border radius is set, its unit will be used - * - If individual corner selections, the most common of those will be used - * - Failing any unit selections a default of 'px' is returned. - * - * @param {Object} selectedUnits Unit selections for flat radius & each corner. - * @return {string} Most common CSS unit from current selections. Default: `px`. - */ -function getAllUnit(selectedUnits = {}) { - const { - flat, - ...cornerUnits - } = selectedUnits; - return flat || utils_mode(Object.values(cornerUnits).filter(Boolean)) || 'px'; -} - -/** - * Gets the 'all' input value and unit from values data. - * - * @param {Object|string} values Radius values. - * @return {string} A value + unit for the 'all' input. - */ -function getAllValue(values = {}) { - /** - * Border radius support was originally a single pixel value. - * - * To maintain backwards compatibility treat this case as the all value. - */ - if (typeof values === 'string') { - return values; - } - const parsedQuantitiesAndUnits = Object.values(values).map(value => (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(value)); - const allValues = parsedQuantitiesAndUnits.map(value => { - var _value$; - return (_value$ = value[0]) !== null && _value$ !== void 0 ? _value$ : ''; - }); - const allUnits = parsedQuantitiesAndUnits.map(value => value[1]); - const value = allValues.every(v => v === allValues[0]) ? allValues[0] : ''; - const unit = utils_mode(allUnits); - const allValue = value === 0 || value ? `${value}${unit}` : undefined; - return allValue; -} - -/** - * Checks to determine if values are mixed. - * - * @param {Object} values Radius values. - * @return {boolean} Whether values are mixed. - */ -function hasMixedValues(values = {}) { - const allValue = getAllValue(values); - const isMixed = typeof values === 'string' ? false : isNaN(parseFloat(allValue)); - return isMixed; -} - -/** - * Checks to determine if values are defined. - * - * @param {Object} values Radius values. - * @return {boolean} Whether values are mixed. - */ -function hasDefinedValues(values) { - if (!values) { - return false; - } - - // A string value represents a shorthand value. - if (typeof values === 'string') { - return true; - } - - // An object represents longhand border radius values, if any are set - // flag values as being defined. - const filteredValues = Object.values(values).filter(value => { - return !!value || value === 0; - }); - return !!filteredValues.length; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/all-input-control.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - -function AllInputControl({ - onChange, - selectedUnits, - setSelectedUnits, - values, - ...props -}) { - let allValue = getAllValue(values); - if (allValue === undefined) { - // If we don't have any value set the unit to any current selection - // or the most common unit from the individual radii values. - allValue = getAllUnit(selectedUnits); - } - const hasValues = hasDefinedValues(values); - const isMixed = hasValues && hasMixedValues(values); - const allPlaceholder = isMixed ? (0,external_wp_i18n_namespaceObject.__)('Mixed') : null; - - // Filter out CSS-unit-only values to prevent invalid styles. - const handleOnChange = next => { - const isNumeric = !isNaN(parseFloat(next)); - const nextValue = isNumeric ? next : undefined; - onChange(nextValue); - }; - - // Store current unit selection for use as fallback for individual - // radii controls. - const handleOnUnitChange = unit => { - setSelectedUnits({ - topLeft: unit, - topRight: unit, - bottomLeft: unit, - bottomRight: unit - }); - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { - ...props, - "aria-label": (0,external_wp_i18n_namespaceObject.__)('Border radius'), - disableUnits: isMixed, - isOnly: true, - value: allValue, - onChange: handleOnChange, - onUnitChange: handleOnUnitChange, - placeholder: allPlaceholder, - size: '__unstable-large' - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/input-controls.js - -/** - * WordPress dependencies - */ - - -const CORNERS = { - topLeft: (0,external_wp_i18n_namespaceObject.__)('Top left'), - topRight: (0,external_wp_i18n_namespaceObject.__)('Top right'), - bottomLeft: (0,external_wp_i18n_namespaceObject.__)('Bottom left'), - bottomRight: (0,external_wp_i18n_namespaceObject.__)('Bottom right') -}; -function BoxInputControls({ - onChange, - selectedUnits, - setSelectedUnits, - values: valuesProp, - ...props -}) { - const createHandleOnChange = corner => next => { - if (!onChange) { - return; - } - - // Filter out CSS-unit-only values to prevent invalid styles. - const isNumeric = !isNaN(parseFloat(next)); - const nextValue = isNumeric ? next : undefined; - onChange({ - ...values, - [corner]: nextValue - }); - }; - const createHandleOnUnitChange = side => next => { - const newUnits = { - ...selectedUnits - }; - newUnits[side] = next; - setSelectedUnits(newUnits); - }; - - // For shorthand style & backwards compatibility, handle flat string value. - const values = typeof valuesProp !== 'string' ? valuesProp : { - topLeft: valuesProp, - topRight: valuesProp, - bottomLeft: valuesProp, - bottomRight: valuesProp - }; - - // Controls are wrapped in tooltips as visible labels aren't desired here. - // Tooltip rendering also requires the UnitControl to be wrapped. See: - // https://github.com/WordPress/gutenberg/pull/24966#issuecomment-685875026 - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: "components-border-radius-control__input-controls-wrapper" - }, Object.entries(CORNERS).map(([corner, label]) => { - const [parsedQuantity, parsedUnit] = (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(values[corner]); - const computedUnit = values[corner] ? parsedUnit : selectedUnits[corner] || selectedUnits.flat; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Tooltip, { - text: label, - placement: "top", - key: corner - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "components-border-radius-control__tooltip-wrapper" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { - ...props, - "aria-label": label, - value: [parsedQuantity, computedUnit].join(''), - onChange: createHandleOnChange(corner), - onUnitChange: createHandleOnUnitChange(corner), - size: '__unstable-large' - }))); - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/link.js - -/** - * WordPress dependencies - */ - -const link_link = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z" -})); -/* harmony default export */ var library_link = (link_link); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/linked-button.js - -/** - * WordPress dependencies - */ - - - -function LinkedButton({ - isLinked, - ...props -}) { - const label = isLinked ? (0,external_wp_i18n_namespaceObject.__)('Unlink radii') : (0,external_wp_i18n_namespaceObject.__)('Link radii'); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Tooltip, { - text: label - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - ...props, - className: "component-border-radius-control__linked-button", - isSmall: true, - icon: isLinked ? library_link : link_off, - iconSize: 24, - "aria-label": label - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/index.js - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - -const border_radius_control_DEFAULT_VALUES = { - topLeft: undefined, - topRight: undefined, - bottomLeft: undefined, - bottomRight: undefined -}; -const MIN_BORDER_RADIUS_VALUE = 0; -const MAX_BORDER_RADIUS_VALUES = { - px: 100, - em: 20, - rem: 20 -}; - -/** - * Control to display border radius options. - * - * @param {Object} props Component props. - * @param {Function} props.onChange Callback to handle onChange. - * @param {Object} props.values Border radius values. - * - * @return {WPElement} Custom border radius control. - */ -function BorderRadiusControl({ - onChange, - values -}) { - const [isLinked, setIsLinked] = (0,external_wp_element_namespaceObject.useState)(!hasDefinedValues(values) || !hasMixedValues(values)); - - // Tracking selected units via internal state allows filtering of CSS unit - // only values from being saved while maintaining preexisting unit selection - // behaviour. Filtering CSS unit only values prevents invalid style values. - const [selectedUnits, setSelectedUnits] = (0,external_wp_element_namespaceObject.useState)({ - flat: typeof values === 'string' ? (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(values)[1] : undefined, - topLeft: (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(values?.topLeft)[1], - topRight: (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(values?.topRight)[1], - bottomLeft: (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(values?.bottomLeft)[1], - bottomRight: (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(values?.bottomRight)[1] - }); - const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ - availableUnits: use_setting_useSetting('spacing.units') || ['px', 'em', 'rem'] - }); - const unit = getAllUnit(selectedUnits); - const unitConfig = units && units.find(item => item.value === unit); - const step = unitConfig?.step || 1; - const [allValue] = (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(getAllValue(values)); - const toggleLinked = () => setIsLinked(!isLinked); - const handleSliderChange = next => { - onChange(next !== undefined ? `${next}${unit}` : undefined); - }; - return (0,external_wp_element_namespaceObject.createElement)("fieldset", { - className: "components-border-radius-control" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { - as: "legend" - }, (0,external_wp_i18n_namespaceObject.__)('Radius')), (0,external_wp_element_namespaceObject.createElement)("div", { - className: "components-border-radius-control__wrapper" - }, isLinked ? (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(AllInputControl, { - className: "components-border-radius-control__unit-control", - values: values, - min: MIN_BORDER_RADIUS_VALUE, - onChange: onChange, - selectedUnits: selectedUnits, - setSelectedUnits: setSelectedUnits, - units: units - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.RangeControl, { - label: (0,external_wp_i18n_namespaceObject.__)('Border radius'), - hideLabelFromVision: true, - className: "components-border-radius-control__range-control", - value: allValue !== null && allValue !== void 0 ? allValue : '', - min: MIN_BORDER_RADIUS_VALUE, - max: MAX_BORDER_RADIUS_VALUES[unit], - initialPosition: 0, - withInputField: false, - onChange: handleSliderChange, - step: step, - __nextHasNoMarginBottom: true - })) : (0,external_wp_element_namespaceObject.createElement)(BoxInputControls, { - min: MIN_BORDER_RADIUS_VALUE, - onChange: onChange, - selectedUnits: selectedUnits, - setSelectedUnits: setSelectedUnits, - values: values || border_radius_control_DEFAULT_VALUES, - units: units - }), (0,external_wp_element_namespaceObject.createElement)(LinkedButton, { - onClick: toggleLinked, - isLinked: isLinked - }))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/border-panel.js - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -function useHasBorderPanel(settings) { - const controls = [useHasBorderColorControl(settings), useHasBorderRadiusControl(settings), useHasBorderStyleControl(settings), useHasBorderWidthControl(settings)]; - return controls.some(Boolean); -} -function useHasBorderColorControl(settings) { - return settings?.border?.color; -} -function useHasBorderRadiusControl(settings) { - return settings?.border?.radius; -} -function useHasBorderStyleControl(settings) { - return settings?.border?.style; -} -function useHasBorderWidthControl(settings) { - return settings?.border?.width; -} -function BorderToolsPanel({ - resetAllFilter, - onChange, - value, - panelId, - children -}) { - const resetAll = () => { - const updatedValue = resetAllFilter(value); - onChange(updatedValue); - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { - label: (0,external_wp_i18n_namespaceObject.__)('Border'), - resetAll: resetAll, - panelId: panelId - }, children); -} -const border_panel_DEFAULT_CONTROLS = { - radius: true, - color: true, - width: true -}; -function BorderPanel({ - as: Wrapper = BorderToolsPanel, - value, - onChange, - inheritedValue = value, - settings, - panelId, - defaultControls = border_panel_DEFAULT_CONTROLS -}) { - const colors = useColorsPerOrigin(settings); - const decodeValue = rawValue => getValueFromVariable({ - settings - }, '', rawValue); - const encodeColorValue = colorValue => { - const allColors = colors.flatMap(({ - colors: originColors - }) => originColors); - const colorObject = allColors.find(({ - color - }) => color === colorValue); - return colorObject ? 'var:preset|color|' + colorObject.slug : colorValue; - }; - const decodeColorValue = (0,external_wp_element_namespaceObject.useCallback)(colorValue => { - const allColors = colors.flatMap(({ - colors: originColors - }) => originColors); - const colorObject = allColors.find(({ - slug - }) => colorValue === 'var:preset|color|' + slug); - return colorObject ? colorObject.color : colorValue; - }, [colors]); - const border = (0,external_wp_element_namespaceObject.useMemo)(() => { - if ((0,external_wp_components_namespaceObject.__experimentalHasSplitBorders)(inheritedValue?.border)) { - const borderValue = { - ...inheritedValue?.border - }; - ['top', 'right', 'bottom', 'left'].forEach(side => { - borderValue[side] = { - ...borderValue[side], - color: decodeColorValue(borderValue[side]?.color) - }; - }); - return borderValue; - } - return { - ...inheritedValue?.border, - color: inheritedValue?.border?.color ? decodeColorValue(inheritedValue?.border?.color) : undefined - }; - }, [inheritedValue?.border, decodeColorValue]); - const setBorder = newBorder => onChange({ - ...value, - border: newBorder - }); - const showBorderColor = useHasBorderColorControl(settings); - const showBorderStyle = useHasBorderStyleControl(settings); - const showBorderWidth = useHasBorderWidthControl(settings); - - // Border radius. - const showBorderRadius = useHasBorderRadiusControl(settings); - const borderRadiusValues = decodeValue(border?.radius); - const setBorderRadius = newBorderRadius => setBorder({ - ...border, - radius: newBorderRadius - }); - const hasBorderRadius = () => { - const borderValues = value?.border?.radius; - if (typeof borderValues === 'object') { - return Object.entries(borderValues).some(Boolean); - } - return !!borderValues; - }; - const resetBorder = () => { - if (hasBorderRadius()) { - return setBorder({ - radius: value?.border?.radius - }); - } - setBorder(undefined); - }; - const onBorderChange = newBorder => { - // Ensure we have a visible border style when a border width or - // color is being selected. - const updatedBorder = { - ...newBorder - }; - if ((0,external_wp_components_namespaceObject.__experimentalHasSplitBorders)(updatedBorder)) { - ['top', 'right', 'bottom', 'left'].forEach(side => { - if (updatedBorder[side]) { - updatedBorder[side] = { - ...updatedBorder[side], - color: encodeColorValue(updatedBorder[side]?.color) - }; - } - }); - } else if (updatedBorder) { - updatedBorder.color = encodeColorValue(updatedBorder.color); - } - - // As radius is maintained separately to color, style, and width - // maintain its value. Undefined values here will be cleaned when - // global styles are saved. - setBorder({ - radius: border?.radius, - ...updatedBorder - }); - }; - const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { - return { - ...previousValue, - border: undefined - }; - }, []); - const showBorderByDefault = defaultControls?.color || defaultControls?.width; - return (0,external_wp_element_namespaceObject.createElement)(Wrapper, { - resetAllFilter: resetAllFilter, - value: value, - onChange: onChange, - panelId: panelId - }, (showBorderWidth || showBorderColor) && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - hasValue: () => (0,external_wp_components_namespaceObject.__experimentalIsDefinedBorder)(value?.border), - label: (0,external_wp_i18n_namespaceObject.__)('Border'), - onDeselect: () => resetBorder(), - isShownByDefault: showBorderByDefault, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalBorderBoxControl, { - colors: colors, - enableAlpha: true, - enableStyle: showBorderStyle, - onChange: onBorderChange, - popoverOffset: 40, - popoverPlacement: "left-start", - value: border, - __experimentalIsRenderedInSidebar: true, - size: '__unstable-large' - })), showBorderRadius && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - hasValue: hasBorderRadius, - label: (0,external_wp_i18n_namespaceObject.__)('Radius'), - onDeselect: () => setBorderRadius(undefined), - isShownByDefault: defaultControls.radius, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(BorderRadiusControl, { - values: borderRadiusValues, - onChange: newValue => { - setBorderRadius(newValue || undefined); - } - }))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/border.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - -const BORDER_SUPPORT_KEY = '__experimentalBorder'; -const getColorByProperty = (colors, property, value) => { - let matchedColor; - colors.some(origin => origin.colors.some(color => { - if (color[property] === value) { - matchedColor = color; - return true; - } - return false; - })); - return matchedColor; -}; -const getMultiOriginColor = ({ - colors, - namedColor, - customColor -}) => { - // Search each origin (default, theme, or user) for matching color by name. - if (namedColor) { - const colorObject = getColorByProperty(colors, 'slug', namedColor); - if (colorObject) { - return colorObject; - } - } - - // Skip if no custom color or matching named color. - if (!customColor) { - return { - color: undefined - }; - } - - // Attempt to find color via custom color value or build new object. - const colorObject = getColorByProperty(colors, 'color', customColor); - return colorObject ? colorObject : { - color: customColor - }; -}; -function getColorSlugFromVariable(value) { - const namedColor = /var:preset\|color\|(.+)/.exec(value); - if (namedColor && namedColor[1]) { - return namedColor[1]; - } - return null; -} -function styleToAttributes(style) { - if ((0,external_wp_components_namespaceObject.__experimentalHasSplitBorders)(style?.border)) { - return { - style, - borderColor: undefined - }; - } - const borderColorValue = style?.border?.color; - const borderColorSlug = borderColorValue?.startsWith('var:preset|color|') ? borderColorValue.substring('var:preset|color|'.length) : undefined; - const updatedStyle = { - ...style - }; - updatedStyle.border = { - ...updatedStyle.border, - color: borderColorSlug ? undefined : borderColorValue - }; - return { - style: utils_cleanEmptyObject(updatedStyle), - borderColor: borderColorSlug - }; -} -function attributesToStyle(attributes) { - if ((0,external_wp_components_namespaceObject.__experimentalHasSplitBorders)(attributes.style?.border)) { - return attributes.style; - } - return { - ...attributes.style, - border: { - ...attributes.style?.border, - color: attributes.borderColor ? 'var:preset|color|' + attributes.borderColor : attributes.style?.border?.color - } - }; -} -function BordersInspectorControl({ - children, - resetAllFilter -}) { - const attributesResetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(attributes => { - const existingStyle = attributesToStyle(attributes); - const updatedStyle = resetAllFilter(existingStyle); - return { - ...attributes, - ...styleToAttributes(updatedStyle) - }; - }, [resetAllFilter]); - return (0,external_wp_element_namespaceObject.createElement)(inspector_controls, { - group: "border", - resetAllFilter: attributesResetAllFilter - }, children); -} -function border_BorderPanel(props) { - const { - clientId, - name, - attributes, - setAttributes - } = props; - const settings = useBlockSettings(name); - const isEnabled = useHasBorderPanel(settings); - const value = (0,external_wp_element_namespaceObject.useMemo)(() => { - return attributesToStyle({ - style: attributes.style, - borderColor: attributes.borderColor - }); - }, [attributes.style, attributes.borderColor]); - const onChange = newStyle => { - setAttributes(styleToAttributes(newStyle)); - }; - if (!isEnabled) { - return null; - } - const defaultControls = (0,external_wp_blocks_namespaceObject.getBlockSupport)(props.name, [BORDER_SUPPORT_KEY, '__experimentalDefaultControls']); - return (0,external_wp_element_namespaceObject.createElement)(BorderPanel, { - as: BordersInspectorControl, - panelId: clientId, - settings: settings, - value: value, - onChange: onChange, - defaultControls: defaultControls - }); -} - -/** - * Determine whether there is block support for border properties. - * - * @param {string} blockName Block name. - * @param {string} feature Border feature to check support for. - * - * @return {boolean} Whether there is support. - */ -function hasBorderSupport(blockName, feature = 'any') { - if (external_wp_element_namespaceObject.Platform.OS !== 'web') { - return false; - } - const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockName, BORDER_SUPPORT_KEY); - if (support === true) { - return true; - } - if (feature === 'any') { - return !!(support?.color || support?.radius || support?.width || support?.style); - } - return !!support?.[feature]; -} - -/** - * Returns a new style object where the specified border attribute has been - * removed. - * - * @param {Object} style Styles from block attributes. - * @param {string} attribute The border style attribute to clear. - * - * @return {Object} Style object with the specified attribute removed. - */ -function removeBorderAttribute(style, attribute) { - return cleanEmptyObject({ - ...style, - border: { - ...style?.border, - [attribute]: undefined - } - }); -} - -/** - * Filters registered block settings, extending attributes to include - * `borderColor` if needed. - * - * @param {Object} settings Original block settings. - * - * @return {Object} Updated block settings. - */ -function addAttributes(settings) { - if (!hasBorderSupport(settings, 'color')) { - return settings; - } - - // Allow blocks to specify default value if needed. - if (settings.attributes.borderColor) { - return settings; - } - - // Add new borderColor attribute to block settings. - return { - ...settings, - attributes: { - ...settings.attributes, - borderColor: { - type: 'string' - } - } - }; -} - -/** - * Override props assigned to save component to inject border color. - * - * @param {Object} props Additional props applied to save element. - * @param {Object} blockType Block type definition. - * @param {Object} attributes Block's attributes. - * - * @return {Object} Filtered props to apply to save element. - */ -function border_addSaveProps(props, blockType, attributes) { - if (!hasBorderSupport(blockType, 'color') || shouldSkipSerialization(blockType, BORDER_SUPPORT_KEY, 'color')) { - return props; - } - const borderClasses = getBorderClasses(attributes); - const newClassName = classnames_default()(props.className, borderClasses); - - // If we are clearing the last of the previous classes in `className` - // set it to `undefined` to avoid rendering empty DOM attributes. - props.className = newClassName ? newClassName : undefined; - return props; -} - -/** - * Generates a CSS class name consisting of all the applicable border color - * classes given the current block attributes. - * - * @param {Object} attributes Block's attributes. - * - * @return {string} CSS class name. - */ -function getBorderClasses(attributes) { - const { - borderColor, - style - } = attributes; - const borderColorClass = getColorClassName('border-color', borderColor); - return classnames_default()({ - 'has-border-color': borderColor || style?.border?.color, - [borderColorClass]: !!borderColorClass - }); -} - -/** - * Filters the registered block settings to apply border color styles and - * classnames to the block edit wrapper. - * - * @param {Object} settings Original block settings. - * - * @return {Object} Filtered block settings. - */ -function addEditProps(settings) { - if (!hasBorderSupport(settings, 'color') || shouldSkipSerialization(settings, BORDER_SUPPORT_KEY, 'color')) { - return settings; - } - const existingGetEditWrapperProps = settings.getEditWrapperProps; - settings.getEditWrapperProps = attributes => { - let props = {}; - if (existingGetEditWrapperProps) { - props = existingGetEditWrapperProps(attributes); - } - return border_addSaveProps(props, settings, attributes); - }; - return settings; -} - -/** - * This adds inline styles for color palette colors. - * Ideally, this is not needed and themes should load their palettes on the editor. - * - * @param {Function} BlockListBlock Original component. - * - * @return {Function} Wrapped component. - */ -const withBorderColorPaletteStyles = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockListBlock => props => { - const { - name, - attributes - } = props; - const { - borderColor, - style - } = attributes; - const { - colors - } = useMultipleOriginColorsAndGradients(); - if (!hasBorderSupport(name, 'color') || shouldSkipSerialization(name, BORDER_SUPPORT_KEY, 'color')) { - return (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...props - }); - } - const { - color: borderColorValue - } = getMultiOriginColor({ - colors, - namedColor: borderColor - }); - const { - color: borderTopColor - } = getMultiOriginColor({ - colors, - namedColor: getColorSlugFromVariable(style?.border?.top?.color) - }); - const { - color: borderRightColor - } = getMultiOriginColor({ - colors, - namedColor: getColorSlugFromVariable(style?.border?.right?.color) - }); - const { - color: borderBottomColor - } = getMultiOriginColor({ - colors, - namedColor: getColorSlugFromVariable(style?.border?.bottom?.color) - }); - const { - color: borderLeftColor - } = getMultiOriginColor({ - colors, - namedColor: getColorSlugFromVariable(style?.border?.left?.color) - }); - const extraStyles = { - borderTopColor: borderTopColor || borderColorValue, - borderRightColor: borderRightColor || borderColorValue, - borderBottomColor: borderBottomColor || borderColorValue, - borderLeftColor: borderLeftColor || borderColorValue - }; - const cleanedExtraStyles = utils_cleanEmptyObject(extraStyles) || {}; - let wrapperProps = props.wrapperProps; - wrapperProps = { - ...props.wrapperProps, - style: { - ...props.wrapperProps?.style, - ...cleanedExtraStyles - } - }; - return (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...props, - wrapperProps: wrapperProps - }); -}, 'withBorderColorPaletteStyles'); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/border/addAttributes', addAttributes); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/border/addSaveProps', border_addSaveProps); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/border/addEditProps', addEditProps); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/border/with-border-color-palette-styles', withBorderColorPaletteStyles); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/gradients/use-gradient.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -function __experimentalGetGradientClass(gradientSlug) { - if (!gradientSlug) { - return undefined; - } - return `has-${gradientSlug}-gradient-background`; -} - -/** - * Retrieves the gradient value per slug. - * - * @param {Array} gradients Gradient Palette - * @param {string} slug Gradient slug - * - * @return {string} Gradient value. - */ -function getGradientValueBySlug(gradients, slug) { - const gradient = gradients?.find(g => g.slug === slug); - return gradient && gradient.gradient; -} -function __experimentalGetGradientObjectByGradientValue(gradients, value) { - const gradient = gradients?.find(g => g.gradient === value); - return gradient; -} - -/** - * Retrieves the gradient slug per slug. - * - * @param {Array} gradients Gradient Palette - * @param {string} value Gradient value - * @return {string} Gradient slug. - */ -function getGradientSlugByValue(gradients, value) { - const gradient = __experimentalGetGradientObjectByGradientValue(gradients, value); - return gradient && gradient.slug; -} -function __experimentalUseGradient({ - gradientAttribute = 'gradient', - customGradientAttribute = 'customGradient' -} = {}) { - const { - clientId - } = useBlockEditContext(); - const userGradientPalette = use_setting_useSetting('color.gradients.custom'); - const themeGradientPalette = use_setting_useSetting('color.gradients.theme'); - const defaultGradientPalette = use_setting_useSetting('color.gradients.default'); - const allGradients = (0,external_wp_element_namespaceObject.useMemo)(() => [...(userGradientPalette || []), ...(themeGradientPalette || []), ...(defaultGradientPalette || [])], [userGradientPalette, themeGradientPalette, defaultGradientPalette]); - const { - gradient, - customGradient - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockAttributes - } = select(store); - const attributes = getBlockAttributes(clientId) || {}; - return { - customGradient: attributes[customGradientAttribute], - gradient: attributes[gradientAttribute] - }; - }, [clientId, gradientAttribute, customGradientAttribute]); - const { - updateBlockAttributes - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const setGradient = (0,external_wp_element_namespaceObject.useCallback)(newGradientValue => { - const slug = getGradientSlugByValue(allGradients, newGradientValue); - if (slug) { - updateBlockAttributes(clientId, { - [gradientAttribute]: slug, - [customGradientAttribute]: undefined - }); - return; - } - updateBlockAttributes(clientId, { - [gradientAttribute]: undefined, - [customGradientAttribute]: newGradientValue - }); - }, [allGradients, clientId, updateBlockAttributes]); - const gradientClass = __experimentalGetGradientClass(gradient); - let gradientValue; - if (gradient) { - gradientValue = getGradientValueBySlug(allGradients, gradient); - } else { - gradientValue = customGradient; - } - return { - gradientClass, - gradientValue, - setGradient - }; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors-gradients/control.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - -const colorsAndGradientKeys = ['colors', 'disableCustomColors', 'gradients', 'disableCustomGradients']; -const TAB_COLOR = { - name: 'color', - title: (0,external_wp_i18n_namespaceObject.__)('Solid'), - value: 'color' -}; -const TAB_GRADIENT = { - name: 'gradient', - title: (0,external_wp_i18n_namespaceObject.__)('Gradient'), - value: 'gradient' -}; -const TABS_SETTINGS = [TAB_COLOR, TAB_GRADIENT]; -function ColorGradientControlInner({ - colors, - gradients, - disableCustomColors, - disableCustomGradients, - __experimentalIsRenderedInSidebar, - className, - label, - onColorChange, - onGradientChange, - colorValue, - gradientValue, - clearable, - showTitle = true, - enableAlpha, - headingLevel -}) { - const canChooseAColor = onColorChange && (colors && colors.length > 0 || !disableCustomColors); - const canChooseAGradient = onGradientChange && (gradients && gradients.length > 0 || !disableCustomGradients); - if (!canChooseAColor && !canChooseAGradient) { - return null; - } - const tabPanels = { - [TAB_COLOR.value]: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ColorPalette, { - value: colorValue, - onChange: canChooseAGradient ? newColor => { - onColorChange(newColor); - onGradientChange(); - } : onColorChange, - colors, - disableCustomColors, - __experimentalIsRenderedInSidebar: __experimentalIsRenderedInSidebar, - clearable: clearable, - enableAlpha: enableAlpha, - headingLevel: headingLevel - }), - [TAB_GRADIENT.value]: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.GradientPicker, { - __nextHasNoMargin: true, - value: gradientValue, - onChange: canChooseAColor ? newGradient => { - onGradientChange(newGradient); - onColorChange(); - } : onGradientChange, - gradients, - disableCustomGradients, - __experimentalIsRenderedInSidebar: __experimentalIsRenderedInSidebar, - clearable: clearable, - headingLevel: headingLevel - }) - }; - const renderPanelType = type => (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-color-gradient-control__panel" - }, tabPanels[type]); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.BaseControl, { - __nextHasNoMarginBottom: true, - className: classnames_default()('block-editor-color-gradient-control', className) - }, (0,external_wp_element_namespaceObject.createElement)("fieldset", { - className: "block-editor-color-gradient-control__fieldset" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { - spacing: 1 - }, showTitle && (0,external_wp_element_namespaceObject.createElement)("legend", null, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-color-gradient-control__color-indicator" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, null, label))), canChooseAColor && canChooseAGradient && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TabPanel, { - className: "block-editor-color-gradient-control__tabs", - tabs: TABS_SETTINGS, - initialTabName: gradientValue ? TAB_GRADIENT.value : !!canChooseAColor && TAB_COLOR.value - }, tab => renderPanelType(tab.value)), !canChooseAGradient && renderPanelType(TAB_COLOR.value), !canChooseAColor && renderPanelType(TAB_GRADIENT.value)))); -} -function ColorGradientControlSelect(props) { - const colorGradientSettings = {}; - colorGradientSettings.colors = use_setting_useSetting('color.palette'); - colorGradientSettings.gradients = use_setting_useSetting('color.gradients'); - colorGradientSettings.disableCustomColors = !use_setting_useSetting('color.custom'); - colorGradientSettings.disableCustomGradients = !use_setting_useSetting('color.customGradient'); - return (0,external_wp_element_namespaceObject.createElement)(ColorGradientControlInner, { - ...colorGradientSettings, - ...props - }); -} -function ColorGradientControl(props) { - if (colorsAndGradientKeys.every(key => props.hasOwnProperty(key))) { - return (0,external_wp_element_namespaceObject.createElement)(ColorGradientControlInner, { - ...props - }); - } - return (0,external_wp_element_namespaceObject.createElement)(ColorGradientControlSelect, { - ...props - }); -} -/* harmony default export */ var control = (ColorGradientControl); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/color-panel.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - -function useHasColorPanel(settings) { - const hasTextPanel = useHasTextPanel(settings); - const hasBackgroundPanel = useHasBackgroundPanel(settings); - const hasLinkPanel = useHasLinkPanel(settings); - const hasHeadingPanel = useHasHeadingPanel(settings); - const hasButtonPanel = useHasButtonPanel(settings); - const hasCaptionPanel = useHasCaptionPanel(settings); - return hasTextPanel || hasBackgroundPanel || hasLinkPanel || hasHeadingPanel || hasButtonPanel || hasCaptionPanel; -} -function useHasTextPanel(settings) { - const colors = useColorsPerOrigin(settings); - return settings?.color?.text && (colors?.length > 0 || settings?.color?.custom); -} -function useHasLinkPanel(settings) { - const colors = useColorsPerOrigin(settings); - return settings?.color?.link && (colors?.length > 0 || settings?.color?.custom); -} -function useHasCaptionPanel(settings) { - const colors = useColorsPerOrigin(settings); - return settings?.color?.caption && (colors?.length > 0 || settings?.color?.custom); -} -function useHasHeadingPanel(settings) { - const colors = useColorsPerOrigin(settings); - const gradients = useGradientsPerOrigin(settings); - return settings?.color?.heading && (colors?.length > 0 || settings?.color?.custom || gradients?.length > 0 || settings?.color?.customGradient); -} -function useHasButtonPanel(settings) { - const colors = useColorsPerOrigin(settings); - const gradients = useGradientsPerOrigin(settings); - return settings?.color?.button && (colors?.length > 0 || settings?.color?.custom || gradients?.length > 0 || settings?.color?.customGradient); -} -function useHasBackgroundPanel(settings) { - const colors = useColorsPerOrigin(settings); - const gradients = useGradientsPerOrigin(settings); - return settings?.color?.background && (colors?.length > 0 || settings?.color?.custom || gradients?.length > 0 || settings?.color?.customGradient); -} -function ColorToolsPanel({ - resetAllFilter, - onChange, - value, - panelId, - children -}) { - const resetAll = () => { - const updatedValue = resetAllFilter(value); - onChange(updatedValue); - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { - label: (0,external_wp_i18n_namespaceObject.__)('Color'), - resetAll: resetAll, - panelId: panelId, - hasInnerWrapper: true, - className: "color-block-support-panel", - __experimentalFirstVisibleItemClass: "first", - __experimentalLastVisibleItemClass: "last" - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "color-block-support-panel__inner-wrapper" - }, children)); -} -const color_panel_DEFAULT_CONTROLS = { - text: true, - background: true, - link: true, - heading: true, - button: true, - caption: true -}; -const popoverProps = { - placement: 'left-start', - offset: 36, +// By default the toolbar sets the `shift` prop. If the user scrolls the page +// down the toolbar will stay on screen by adopting a sticky position at the +// top of the viewport. +const use_block_toolbar_popover_props_DEFAULT_PROPS = { + ...COMMON_PROPS, + flip: false, shift: true }; -const LabeledColorIndicators = ({ - indicators, - label -}) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - justify: "flex-start" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalZStack, { - isLayered: false, - offset: -8 -}, indicators.map((indicator, index) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Flex, { - key: index, - expanded: false -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ColorIndicator, { - colorValue: indicator -})))), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, { - className: "block-editor-panel-color-gradient-settings__color-name", - title: label -}, label)); -function ColorPanelTab({ - isGradient, - inheritedValue, - userValue, - setValue, - colorGradientControlSettings -}) { - return (0,external_wp_element_namespaceObject.createElement)(control, { - ...colorGradientControlSettings, - showTitle: false, - enableAlpha: true, - __experimentalIsRenderedInSidebar: true, - colorValue: isGradient ? undefined : inheritedValue, - gradientValue: isGradient ? inheritedValue : undefined, - onColorChange: isGradient ? undefined : setValue, - onGradientChange: isGradient ? setValue : undefined, - clearable: inheritedValue === userValue, - headingLevel: 3 - }); -} -function ColorPanelDropdown({ - label, - hasValue, - resetValue, - isShownByDefault, - indicators, - tabs, - colorGradientControlSettings, - panelId -}) { - const tabConfigs = tabs.map(({ - key, - label: tabLabel - }) => { - return { - name: key, - title: tabLabel - }; - }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - className: "block-editor-tools-panel-color-gradient-settings__item", - hasValue: hasValue, - label: label, - onDeselect: resetValue, - isShownByDefault: isShownByDefault, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { - popoverProps: popoverProps, - className: "block-editor-tools-panel-color-gradient-settings__dropdown", - renderToggle: ({ - onToggle, - isOpen - }) => { - const toggleProps = { - onClick: onToggle, - className: classnames_default()('block-editor-panel-color-gradient-settings__dropdown', { - 'is-open': isOpen - }), - 'aria-expanded': isOpen, - 'aria-label': (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s is the type of color property, e.g., "background" */ - (0,external_wp_i18n_namespaceObject.__)('Color %s styles'), label) - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - ...toggleProps - }, (0,external_wp_element_namespaceObject.createElement)(LabeledColorIndicators, { - indicators: indicators, - label: label - })); - }, - renderContent: () => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalDropdownContentWrapper, { - paddingSize: "none" - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-panel-color-gradient-settings__dropdown-content" - }, tabs.length === 1 && (0,external_wp_element_namespaceObject.createElement)(ColorPanelTab, { - ...tabs[0], - colorGradientControlSettings: colorGradientControlSettings - }), tabs.length > 1 && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TabPanel, { - tabs: tabConfigs - }, tab => { - const selectedTab = tabs.find(t => t.key === tab.name); - if (!selectedTab) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(ColorPanelTab, { - ...selectedTab, - colorGradientControlSettings: colorGradientControlSettings - }); - }))) - })); -} -function ColorPanel({ - as: Wrapper = ColorToolsPanel, - value, - onChange, - inheritedValue = value, - settings, - panelId, - defaultControls = color_panel_DEFAULT_CONTROLS, - children -}) { - const colors = useColorsPerOrigin(settings); - const gradients = useGradientsPerOrigin(settings); - const areCustomSolidsEnabled = settings?.color?.custom; - const areCustomGradientsEnabled = settings?.color?.customGradient; - const hasSolidColors = colors.length > 0 || areCustomSolidsEnabled; - const hasGradientColors = gradients.length > 0 || areCustomGradientsEnabled; - const decodeValue = rawValue => getValueFromVariable({ - settings - }, '', rawValue); - const encodeColorValue = colorValue => { - const allColors = colors.flatMap(({ - colors: originColors - }) => originColors); - const colorObject = allColors.find(({ - color - }) => color === colorValue); - return colorObject ? 'var:preset|color|' + colorObject.slug : colorValue; - }; - const encodeGradientValue = gradientValue => { - const allGradients = gradients.flatMap(({ - gradients: originGradients - }) => originGradients); - const gradientObject = allGradients.find(({ - gradient - }) => gradient === gradientValue); - return gradientObject ? 'var:preset|gradient|' + gradientObject.slug : gradientValue; - }; - // BackgroundColor - const showBackgroundPanel = useHasBackgroundPanel(settings); - const backgroundColor = decodeValue(inheritedValue?.color?.background); - const userBackgroundColor = decodeValue(value?.color?.background); - const gradient = decodeValue(inheritedValue?.color?.gradient); - const userGradient = decodeValue(value?.color?.gradient); - const hasBackground = () => !!userBackgroundColor || !!userGradient; - const setBackgroundColor = newColor => { - const newValue = setImmutably(value, ['color', 'background'], encodeColorValue(newColor)); - newValue.color.gradient = undefined; - onChange(newValue); - }; - const setGradient = newGradient => { - const newValue = setImmutably(value, ['color', 'gradient'], encodeGradientValue(newGradient)); - newValue.color.background = undefined; - onChange(newValue); - }; - const resetBackground = () => { - const newValue = setImmutably(value, ['color', 'background'], undefined); - newValue.color.gradient = undefined; - onChange(newValue); - }; - - // Links - const showLinkPanel = useHasLinkPanel(settings); - const linkColor = decodeValue(inheritedValue?.elements?.link?.color?.text); - const userLinkColor = decodeValue(value?.elements?.link?.color?.text); - const setLinkColor = newColor => { - onChange(setImmutably(value, ['elements', 'link', 'color', 'text'], encodeColorValue(newColor))); - }; - const hoverLinkColor = decodeValue(inheritedValue?.elements?.link?.[':hover']?.color?.text); - const userHoverLinkColor = decodeValue(value?.elements?.link?.[':hover']?.color?.text); - const setHoverLinkColor = newColor => { - onChange(setImmutably(value, ['elements', 'link', ':hover', 'color', 'text'], encodeColorValue(newColor))); - }; - const hasLink = () => !!userLinkColor || !!userHoverLinkColor; - const resetLink = () => { - let newValue = setImmutably(value, ['elements', 'link', ':hover', 'color', 'text'], undefined); - newValue = setImmutably(newValue, ['elements', 'link', 'color', 'text'], undefined); - onChange(newValue); - }; - - // Text Color - const showTextPanel = useHasTextPanel(settings); - const textColor = decodeValue(inheritedValue?.color?.text); - const userTextColor = decodeValue(value?.color?.text); - const hasTextColor = () => !!userTextColor; - const setTextColor = newColor => { - let changedObject = setImmutably(value, ['color', 'text'], encodeColorValue(newColor)); - if (textColor === linkColor) { - changedObject = setImmutably(changedObject, ['elements', 'link', 'color', 'text'], encodeColorValue(newColor)); - } - onChange(changedObject); - }; - const resetTextColor = () => setTextColor(undefined); - - // Elements - const elements = [{ - name: 'caption', - label: (0,external_wp_i18n_namespaceObject.__)('Captions'), - showPanel: useHasCaptionPanel(settings) - }, { - name: 'button', - label: (0,external_wp_i18n_namespaceObject.__)('Button'), - showPanel: useHasButtonPanel(settings) - }, { - name: 'heading', - label: (0,external_wp_i18n_namespaceObject.__)('Heading'), - showPanel: useHasHeadingPanel(settings) - }, { - name: 'h1', - label: (0,external_wp_i18n_namespaceObject.__)('H1'), - showPanel: useHasHeadingPanel(settings) - }, { - name: 'h2', - label: (0,external_wp_i18n_namespaceObject.__)('H2'), - showPanel: useHasHeadingPanel(settings) - }, { - name: 'h3', - label: (0,external_wp_i18n_namespaceObject.__)('H3'), - showPanel: useHasHeadingPanel(settings) - }, { - name: 'h4', - label: (0,external_wp_i18n_namespaceObject.__)('H4'), - showPanel: useHasHeadingPanel(settings) - }, { - name: 'h5', - label: (0,external_wp_i18n_namespaceObject.__)('H5'), - showPanel: useHasHeadingPanel(settings) - }, { - name: 'h6', - label: (0,external_wp_i18n_namespaceObject.__)('H6'), - showPanel: useHasHeadingPanel(settings) - }]; - const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { - return { - ...previousValue, - color: undefined, - elements: { - ...previousValue?.elements, - link: { - ...previousValue?.elements?.link, - color: undefined, - ':hover': { - color: undefined - } - }, - ...elements.reduce((acc, element) => { - return { - ...acc, - [element.name]: { - ...previousValue?.elements?.[element.name], - color: undefined - } - }; - }, {}) - } - }; - }, []); - const items = [showTextPanel && { - key: 'text', - label: (0,external_wp_i18n_namespaceObject.__)('Text'), - hasValue: hasTextColor, - resetValue: resetTextColor, - isShownByDefault: defaultControls.text, - indicators: [textColor], - tabs: [{ - key: 'text', - label: (0,external_wp_i18n_namespaceObject.__)('Text'), - inheritedValue: textColor, - setValue: setTextColor, - userValue: userTextColor - }] - }, showBackgroundPanel && { - key: 'background', - label: (0,external_wp_i18n_namespaceObject.__)('Background'), - hasValue: hasBackground, - resetValue: resetBackground, - isShownByDefault: defaultControls.background, - indicators: [gradient !== null && gradient !== void 0 ? gradient : backgroundColor], - tabs: [hasSolidColors && { - key: 'background', - label: (0,external_wp_i18n_namespaceObject.__)('Solid'), - inheritedValue: backgroundColor, - setValue: setBackgroundColor, - userValue: userBackgroundColor - }, hasGradientColors && { - key: 'gradient', - label: (0,external_wp_i18n_namespaceObject.__)('Gradient'), - inheritedValue: gradient, - setValue: setGradient, - userValue: userGradient, - isGradient: true - }].filter(Boolean) - }, showLinkPanel && { - key: 'link', - label: (0,external_wp_i18n_namespaceObject.__)('Link'), - hasValue: hasLink, - resetValue: resetLink, - isShownByDefault: defaultControls.link, - indicators: [linkColor, hoverLinkColor], - tabs: [{ - key: 'link', - label: (0,external_wp_i18n_namespaceObject.__)('Default'), - inheritedValue: linkColor, - setValue: setLinkColor, - userValue: userLinkColor - }, { - key: 'hover', - label: (0,external_wp_i18n_namespaceObject.__)('Hover'), - inheritedValue: hoverLinkColor, - setValue: setHoverLinkColor, - userValue: userHoverLinkColor - }] - }].filter(Boolean); - elements.forEach(({ - name, - label, - showPanel - }) => { - if (!showPanel) return; - const elementBackgroundColor = decodeValue(inheritedValue?.elements?.[name]?.color?.background); - const elementGradient = decodeValue(inheritedValue?.elements?.[name]?.color?.gradient); - const elementTextColor = decodeValue(inheritedValue?.elements?.[name]?.color?.text); - const elementBackgroundUserColor = decodeValue(value?.elements?.[name]?.color?.background); - const elementGradientUserColor = decodeValue(value?.elements?.[name]?.color?.gradient); - const elementTextUserColor = decodeValue(value?.elements?.[name]?.color?.text); - const hasElement = () => !!(elementTextUserColor || elementBackgroundUserColor || elementGradientUserColor); - const resetElement = () => { - const newValue = setImmutably(value, ['elements', name, 'color', 'background'], undefined); - newValue.elements[name].color.gradient = undefined; - newValue.elements[name].color.text = undefined; - onChange(newValue); - }; - const setElementTextColor = newTextColor => { - onChange(setImmutably(value, ['elements', name, 'color', 'text'], encodeColorValue(newTextColor))); - }; - const setElementBackgroundColor = newBackgroundColor => { - const newValue = setImmutably(value, ['elements', name, 'color', 'background'], encodeColorValue(newBackgroundColor)); - newValue.elements[name].color.gradient = undefined; - onChange(newValue); - }; - const setElementGradient = newGradient => { - const newValue = setImmutably(value, ['elements', name, 'color', 'gradient'], encodeGradientValue(newGradient)); - newValue.elements[name].color.background = undefined; - onChange(newValue); - }; - const supportsTextColor = true; - // Background color is not supported for `caption` - // as there isn't yet a way to set padding for the element. - const supportsBackground = name !== 'caption'; - items.push({ - key: name, - label, - hasValue: hasElement, - resetValue: resetElement, - isShownByDefault: defaultControls[name], - indicators: supportsTextColor && supportsBackground ? [elementTextColor, elementGradient !== null && elementGradient !== void 0 ? elementGradient : elementBackgroundColor] : [supportsTextColor ? elementTextColor : elementGradient !== null && elementGradient !== void 0 ? elementGradient : elementBackgroundColor], - tabs: [hasSolidColors && supportsTextColor && { - key: 'text', - label: (0,external_wp_i18n_namespaceObject.__)('Text'), - inheritedValue: elementTextColor, - setValue: setElementTextColor, - userValue: elementTextUserColor - }, hasSolidColors && supportsBackground && { - key: 'background', - label: (0,external_wp_i18n_namespaceObject.__)('Background'), - inheritedValue: elementBackgroundColor, - setValue: setElementBackgroundColor, - userValue: elementBackgroundUserColor - }, hasGradientColors && supportsBackground && { - key: 'gradient', - label: (0,external_wp_i18n_namespaceObject.__)('Gradient'), - inheritedValue: elementGradient, - setValue: setElementGradient, - userValue: elementGradientUserColor, - isGradient: true - }].filter(Boolean) - }); - }); - return (0,external_wp_element_namespaceObject.createElement)(Wrapper, { - resetAllFilter: resetAllFilter, - value: value, - onChange: onChange, - panelId: panelId - }, items.map(item => (0,external_wp_element_namespaceObject.createElement)(ColorPanelDropdown, { - key: item.key, - ...item, - colorGradientControlSettings: { - colors, - disableCustomColors: !areCustomSolidsEnabled, - gradients, - disableCustomGradients: !areCustomGradientsEnabled - }, - panelId: panelId - })), children); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/contrast-checker/index.js +// When there isn't enough height between the top of the block and the editor +// canvas, the `shift` prop is set to `false`, as it will cause the block to be +// obscured. The `flip` behavior is enabled, which positions the toolbar below +// the block. This only happens if the block is smaller than the viewport, as +// otherwise the toolbar will be off-screen. +const RESTRICTED_HEIGHT_PROPS = { + ...COMMON_PROPS, + flip: true, + shift: false +}; /** - * External dependencies + * Get the popover props for the block toolbar, determined by the space at the top of the canvas and the toolbar height. + * + * @param {Element} contentElement The DOM element that represents the editor content or canvas. + * @param {Element} selectedBlockElement The outer DOM element of the first selected block. + * @param {Element} scrollContainer The scrollable container for the contentElement. + * @param {number} toolbarHeight The height of the toolbar in pixels. + * @param {boolean} isSticky Whether or not the selected block is sticky or fixed. + * + * @return {Object} The popover props used to determine the position of the toolbar. */ - - - - -/** - * WordPress dependencies - */ - - - -k([names, a11y]); -function ContrastChecker({ - backgroundColor, - fallbackBackgroundColor, - fallbackTextColor, - fallbackLinkColor, - fontSize, - // Font size value in pixels. - isLargeText, - textColor, - linkColor, - enableAlphaChecker = false -}) { - const currentBackgroundColor = backgroundColor || fallbackBackgroundColor; - - // Must have a background color. - if (!currentBackgroundColor) { - return null; - } - const currentTextColor = textColor || fallbackTextColor; - const currentLinkColor = linkColor || fallbackLinkColor; - - // Must have at least one text color. - if (!currentTextColor && !currentLinkColor) { - return null; - } - const textColors = [{ - color: currentTextColor, - description: (0,external_wp_i18n_namespaceObject.__)('text color') - }, { - color: currentLinkColor, - description: (0,external_wp_i18n_namespaceObject.__)('link color') - }]; - const colordBackgroundColor = w(currentBackgroundColor); - const backgroundColorHasTransparency = colordBackgroundColor.alpha() < 1; - const backgroundColorBrightness = colordBackgroundColor.brightness(); - const isReadableOptions = { - level: 'AA', - size: isLargeText || isLargeText !== false && fontSize >= 24 ? 'large' : 'small' - }; - let message = ''; - let speakMessage = ''; - for (const item of textColors) { - // If there is no color, go no further. - if (!item.color) { - continue; - } - const colordTextColor = w(item.color); - const isColordTextReadable = colordTextColor.isReadable(colordBackgroundColor, isReadableOptions); - const textHasTransparency = colordTextColor.alpha() < 1; - - // If the contrast is not readable. - if (!isColordTextReadable) { - // Don't show the message if the background or text is transparent. - if (backgroundColorHasTransparency || textHasTransparency) { - continue; - } - message = backgroundColorBrightness < colordTextColor.brightness() ? (0,external_wp_i18n_namespaceObject.sprintf)( - // translators: %s is a type of text color, e.g., "text color" or "link color". - (0,external_wp_i18n_namespaceObject.__)('This color combination may be hard for people to read. Try using a darker background color and/or a brighter %s.'), item.description) : (0,external_wp_i18n_namespaceObject.sprintf)( - // translators: %s is a type of text color, e.g., "text color" or "link color". - (0,external_wp_i18n_namespaceObject.__)('This color combination may be hard for people to read. Try using a brighter background color and/or a darker %s.'), item.description); - speakMessage = (0,external_wp_i18n_namespaceObject.__)('This color combination may be hard for people to read.'); - // Break from the loop when we have a contrast warning. - // These messages take priority over the transparency warning. - break; - } - - // If there is no contrast warning and the text is transparent, - // show the transparent warning if alpha check is enabled. - if (textHasTransparency && enableAlphaChecker) { - message = (0,external_wp_i18n_namespaceObject.__)('Transparent text may be hard for people to read.'); - speakMessage = (0,external_wp_i18n_namespaceObject.__)('Transparent text may be hard for people to read.'); - } - } - if (!message) { - return null; +function getProps(contentElement, selectedBlockElement, scrollContainer, toolbarHeight, isSticky) { + if (!contentElement || !selectedBlockElement) { + return use_block_toolbar_popover_props_DEFAULT_PROPS; } - // Note: The `Notice` component can speak messages via its `spokenMessage` - // prop, but the contrast checker requires granular control over when the - // announcements are made. Notably, the message will be re-announced if a - // new color combination is selected and the contrast is still insufficient. - (0,external_wp_a11y_namespaceObject.speak)(speakMessage); - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-contrast-checker" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Notice, { - spokenMessage: null, - status: "warning", - isDismissible: false - }, message)); + // Get how far the content area has been scrolled. + const scrollTop = scrollContainer?.scrollTop || 0; + const blockRect = selectedBlockElement.getBoundingClientRect(); + const contentRect = contentElement.getBoundingClientRect(); + + // Get the vertical position of top of the visible content area. + const topOfContentElementInViewport = scrollTop + contentRect.top; + + // The document element's clientHeight represents the viewport height. + const viewportHeight = contentElement.ownerDocument.documentElement.clientHeight; + + // The restricted height area is calculated as the sum of the + // vertical position of the visible content area, plus the height + // of the block toolbar. + const restrictedTopArea = topOfContentElementInViewport + toolbarHeight; + const hasSpaceForToolbarAbove = blockRect.top > restrictedTopArea; + const isBlockTallerThanViewport = blockRect.height > viewportHeight - toolbarHeight; + + // Sticky blocks are treated as if they will never have enough space for the toolbar above. + if (!isSticky && (hasSpaceForToolbarAbove || isBlockTallerThanViewport)) { + return use_block_toolbar_popover_props_DEFAULT_PROPS; + } + return RESTRICTED_HEIGHT_PROPS; } /** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/contrast-checker/README.md + * Determines the desired popover positioning behavior, returning a set of appropriate props. + * + * @param {Object} elements + * @param {Element} elements.contentElement The DOM element that represents the editor content or canvas. + * @param {string} elements.clientId The clientId of the first selected block. + * + * @return {Object} The popover props used to determine the position of the toolbar. */ -/* harmony default export */ var contrast_checker = (ContrastChecker); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/contrast-checker.js - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -function getComputedStyle(node) { - return node.ownerDocument.defaultView.getComputedStyle(node); -} -function BlockColorContrastChecker({ +function useBlockToolbarPopoverProps({ + contentElement, clientId }) { - const [detectedBackgroundColor, setDetectedBackgroundColor] = (0,external_wp_element_namespaceObject.useState)(); - const [detectedColor, setDetectedColor] = (0,external_wp_element_namespaceObject.useState)(); - const [detectedLinkColor, setDetectedLinkColor] = (0,external_wp_element_namespaceObject.useState)(); - const ref = useBlockRef(clientId); - - // There are so many things that can change the color of a block - // So we perform this check on every render. - // eslint-disable-next-line react-hooks/exhaustive-deps - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (!ref.current) { - return; - } - setDetectedColor(getComputedStyle(ref.current).color); - const firstLinkElement = ref.current?.querySelector('a'); - if (firstLinkElement && !!firstLinkElement.innerText) { - setDetectedLinkColor(getComputedStyle(firstLinkElement).color); - } - let backgroundColorNode = ref.current; - let backgroundColor = getComputedStyle(backgroundColorNode).backgroundColor; - while (backgroundColor === 'rgba(0, 0, 0, 0)' && backgroundColorNode.parentNode && backgroundColorNode.parentNode.nodeType === backgroundColorNode.parentNode.ELEMENT_NODE) { - backgroundColorNode = backgroundColorNode.parentNode; - backgroundColor = getComputedStyle(backgroundColorNode).backgroundColor; - } - setDetectedBackgroundColor(backgroundColor); - }); - return (0,external_wp_element_namespaceObject.createElement)(contrast_checker, { - backgroundColor: detectedBackgroundColor, - textColor: detectedColor, - enableAlphaChecker: true, - linkColor: detectedLinkColor - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/color.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - - - - -const COLOR_SUPPORT_KEY = 'color'; -const hasColorSupport = blockType => { - const colorSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, COLOR_SUPPORT_KEY); - return colorSupport && (colorSupport.link === true || colorSupport.gradient === true || colorSupport.background !== false || colorSupport.text !== false); -}; -const hasLinkColorSupport = blockType => { - if (external_wp_element_namespaceObject.Platform.OS !== 'web') { - return false; - } - const colorSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, COLOR_SUPPORT_KEY); - return colorSupport !== null && typeof colorSupport === 'object' && !!colorSupport.link; -}; -const hasGradientSupport = blockType => { - const colorSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, COLOR_SUPPORT_KEY); - return colorSupport !== null && typeof colorSupport === 'object' && !!colorSupport.gradients; -}; -const hasBackgroundColorSupport = blockType => { - const colorSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, COLOR_SUPPORT_KEY); - return colorSupport && colorSupport.background !== false; -}; -const hasTextColorSupport = blockType => { - const colorSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, COLOR_SUPPORT_KEY); - return colorSupport && colorSupport.text !== false; -}; - -/** - * Filters registered block settings, extending attributes to include - * `backgroundColor` and `textColor` attribute. - * - * @param {Object} settings Original block settings. - * - * @return {Object} Filtered block settings. - */ -function color_addAttributes(settings) { - if (!hasColorSupport(settings)) { - return settings; - } - - // Allow blocks to specify their own attribute definition with default values if needed. - if (!settings.attributes.backgroundColor) { - Object.assign(settings.attributes, { - backgroundColor: { - type: 'string' - } - }); - } - if (!settings.attributes.textColor) { - Object.assign(settings.attributes, { - textColor: { - type: 'string' - } - }); - } - if (hasGradientSupport(settings) && !settings.attributes.gradient) { - Object.assign(settings.attributes, { - gradient: { - type: 'string' - } - }); - } - return settings; -} - -/** - * Override props assigned to save component to inject colors classnames. - * - * @param {Object} props Additional props applied to save element. - * @param {Object} blockType Block type. - * @param {Object} attributes Block attributes. - * - * @return {Object} Filtered props applied to save element. - */ -function color_addSaveProps(props, blockType, attributes) { - if (!hasColorSupport(blockType) || shouldSkipSerialization(blockType, COLOR_SUPPORT_KEY)) { - return props; - } - const hasGradient = hasGradientSupport(blockType); - - // I'd have preferred to avoid the "style" attribute usage here - const { - backgroundColor, - textColor, - gradient, - style - } = attributes; - const shouldSerialize = feature => !shouldSkipSerialization(blockType, COLOR_SUPPORT_KEY, feature); - - // Primary color classes must come before the `has-text-color`, - // `has-background` and `has-link-color` classes to maintain backwards - // compatibility and avoid block invalidations. - const textClass = shouldSerialize('text') ? getColorClassName('color', textColor) : undefined; - const gradientClass = shouldSerialize('gradients') ? __experimentalGetGradientClass(gradient) : undefined; - const backgroundClass = shouldSerialize('background') ? getColorClassName('background-color', backgroundColor) : undefined; - const serializeHasBackground = shouldSerialize('background') || shouldSerialize('gradients'); - const hasBackground = backgroundColor || style?.color?.background || hasGradient && (gradient || style?.color?.gradient); - const newClassName = classnames_default()(props.className, textClass, gradientClass, { - // Don't apply the background class if there's a custom gradient. - [backgroundClass]: (!hasGradient || !style?.color?.gradient) && !!backgroundClass, - 'has-text-color': shouldSerialize('text') && (textColor || style?.color?.text), - 'has-background': serializeHasBackground && hasBackground, - 'has-link-color': shouldSerialize('link') && style?.elements?.link?.color - }); - props.className = newClassName ? newClassName : undefined; - return props; -} - -/** - * Filters registered block settings to extend the block edit wrapper - * to apply the desired styles and classnames properly. - * - * @param {Object} settings Original block settings. - * - * @return {Object} Filtered block settings. - */ -function color_addEditProps(settings) { - if (!hasColorSupport(settings) || shouldSkipSerialization(settings, COLOR_SUPPORT_KEY)) { - return settings; - } - const existingGetEditWrapperProps = settings.getEditWrapperProps; - settings.getEditWrapperProps = attributes => { - let props = {}; - if (existingGetEditWrapperProps) { - props = existingGetEditWrapperProps(attributes); - } - return color_addSaveProps(props, settings, attributes); - }; - return settings; -} -function color_styleToAttributes(style) { - const textColorValue = style?.color?.text; - const textColorSlug = textColorValue?.startsWith('var:preset|color|') ? textColorValue.substring('var:preset|color|'.length) : undefined; - const backgroundColorValue = style?.color?.background; - const backgroundColorSlug = backgroundColorValue?.startsWith('var:preset|color|') ? backgroundColorValue.substring('var:preset|color|'.length) : undefined; - const gradientValue = style?.color?.gradient; - const gradientSlug = gradientValue?.startsWith('var:preset|gradient|') ? gradientValue.substring('var:preset|gradient|'.length) : undefined; - const updatedStyle = { - ...style - }; - updatedStyle.color = { - ...updatedStyle.color, - text: textColorSlug ? undefined : textColorValue, - background: backgroundColorSlug ? undefined : backgroundColorValue, - gradient: gradientSlug ? undefined : gradientValue - }; - return { - style: utils_cleanEmptyObject(updatedStyle), - textColor: textColorSlug, - backgroundColor: backgroundColorSlug, - gradient: gradientSlug - }; -} -function color_attributesToStyle(attributes) { - return { - ...attributes.style, - color: { - ...attributes.style?.color, - text: attributes.textColor ? 'var:preset|color|' + attributes.textColor : attributes.style?.color?.text, - background: attributes.backgroundColor ? 'var:preset|color|' + attributes.backgroundColor : attributes.style?.color?.background, - gradient: attributes.gradient ? 'var:preset|gradient|' + attributes.gradient : attributes.style?.color?.gradient - } - }; -} -function ColorInspectorControl({ - children, - resetAllFilter -}) { - const attributesResetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(attributes => { - const existingStyle = color_attributesToStyle(attributes); - const updatedStyle = resetAllFilter(existingStyle); - return { - ...attributes, - ...color_styleToAttributes(updatedStyle) - }; - }, [resetAllFilter]); - return (0,external_wp_element_namespaceObject.createElement)(inspector_controls, { - group: "color", - resetAllFilter: attributesResetAllFilter - }, children); -} -function ColorEdit(props) { - const { - clientId, - name, - attributes, - setAttributes - } = props; - const settings = useBlockSettings(name); - const isEnabled = useHasColorPanel(settings); - const value = (0,external_wp_element_namespaceObject.useMemo)(() => { - return color_attributesToStyle({ - style: attributes.style, - textColor: attributes.textColor, - backgroundColor: attributes.backgroundColor, - gradient: attributes.gradient - }); - }, [attributes.style, attributes.textColor, attributes.backgroundColor, attributes.gradient]); - const onChange = newStyle => { - setAttributes(color_styleToAttributes(newStyle)); - }; - if (!isEnabled) { - return null; - } - const defaultControls = (0,external_wp_blocks_namespaceObject.getBlockSupport)(props.name, [COLOR_SUPPORT_KEY, '__experimentalDefaultControls']); - const enableContrastChecking = external_wp_element_namespaceObject.Platform.OS === 'web' && !value?.color?.gradient && (settings?.color?.text || settings?.color?.link) && - // Contrast checking is enabled by default. - // Deactivating it requires `enableContrastChecker` to have - // an explicit value of `false`. - false !== (0,external_wp_blocks_namespaceObject.getBlockSupport)(props.name, [COLOR_SUPPORT_KEY, 'enableContrastChecker']); - return (0,external_wp_element_namespaceObject.createElement)(ColorPanel, { - as: ColorInspectorControl, - panelId: clientId, - settings: settings, - value: value, - onChange: onChange, - defaultControls: defaultControls, - enableContrastChecker: false !== (0,external_wp_blocks_namespaceObject.getBlockSupport)(props.name, [COLOR_SUPPORT_KEY, 'enableContrastChecker']) - }, enableContrastChecking && (0,external_wp_element_namespaceObject.createElement)(BlockColorContrastChecker, { - clientId: clientId - })); -} - -/** - * This adds inline styles for color palette colors. - * Ideally, this is not needed and themes should load their palettes on the editor. - * - * @param {Function} BlockListBlock Original component. - * - * @return {Function} Wrapped component. - */ -const withColorPaletteStyles = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockListBlock => props => { - const { - name, - attributes - } = props; - const { - backgroundColor, - textColor - } = attributes; - const userPalette = use_setting_useSetting('color.palette.custom'); - const themePalette = use_setting_useSetting('color.palette.theme'); - const defaultPalette = use_setting_useSetting('color.palette.default'); - const colors = (0,external_wp_element_namespaceObject.useMemo)(() => [...(userPalette || []), ...(themePalette || []), ...(defaultPalette || [])], [userPalette, themePalette, defaultPalette]); - if (!hasColorSupport(name) || shouldSkipSerialization(name, COLOR_SUPPORT_KEY)) { - return (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...props - }); - } - const extraStyles = {}; - if (textColor && !shouldSkipSerialization(name, COLOR_SUPPORT_KEY, 'text')) { - extraStyles.color = getColorObjectByAttributeValues(colors, textColor)?.color; - } - if (backgroundColor && !shouldSkipSerialization(name, COLOR_SUPPORT_KEY, 'background')) { - extraStyles.backgroundColor = getColorObjectByAttributeValues(colors, backgroundColor)?.color; - } - let wrapperProps = props.wrapperProps; - wrapperProps = { - ...props.wrapperProps, - style: { - ...extraStyles, - ...props.wrapperProps?.style - } - }; - return (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...props, - wrapperProps: wrapperProps - }); -}, 'withColorPaletteStyles'); -const MIGRATION_PATHS = { - linkColor: [['style', 'elements', 'link', 'color', 'text']], - textColor: [['textColor'], ['style', 'color', 'text']], - backgroundColor: [['backgroundColor'], ['style', 'color', 'background']], - gradient: [['gradient'], ['style', 'color', 'gradient']] -}; -function color_addTransforms(result, source, index, results) { - const destinationBlockType = result.name; - const activeSupports = { - linkColor: hasLinkColorSupport(destinationBlockType), - textColor: hasTextColorSupport(destinationBlockType), - backgroundColor: hasBackgroundColorSupport(destinationBlockType), - gradient: hasGradientSupport(destinationBlockType) - }; - return transformStyles(activeSupports, MIGRATION_PATHS, result, source, index, results); -} -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/color/addAttribute', color_addAttributes); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/color/addSaveProps', color_addSaveProps); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/color/addEditProps', color_addEditProps); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/color/with-color-palette-styles', withColorPaletteStyles); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.switchToBlockType.transformedBlock', 'core/color/addTransforms', color_addTransforms); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-family/index.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - -function FontFamilyControl({ - value = '', - onChange, - fontFamilies, - ...props -}) { - const blockLevelFontFamilies = use_setting_useSetting('typography.fontFamilies'); - if (!fontFamilies) { - fontFamilies = blockLevelFontFamilies; - } - if (!fontFamilies || fontFamilies.length === 0) { - return null; - } - const options = [{ - value: '', - label: (0,external_wp_i18n_namespaceObject.__)('Default') - }, ...fontFamilies.map(({ - fontFamily, - name - }) => { - return { - value: fontFamily, - label: name || fontFamily - }; - })]; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SelectControl, { - label: (0,external_wp_i18n_namespaceObject.__)('Font'), - options: options, - value: value, - onChange: onChange, - labelPosition: "top", - ...props - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-appearance-control/index.js - -/** - * WordPress dependencies - */ - - - -const FONT_STYLES = [{ - name: (0,external_wp_i18n_namespaceObject._x)('Regular', 'font style'), - value: 'normal' -}, { - name: (0,external_wp_i18n_namespaceObject._x)('Italic', 'font style'), - value: 'italic' -}]; -const FONT_WEIGHTS = [{ - name: (0,external_wp_i18n_namespaceObject._x)('Thin', 'font weight'), - value: '100' -}, { - name: (0,external_wp_i18n_namespaceObject._x)('Extra Light', 'font weight'), - value: '200' -}, { - name: (0,external_wp_i18n_namespaceObject._x)('Light', 'font weight'), - value: '300' -}, { - name: (0,external_wp_i18n_namespaceObject._x)('Regular', 'font weight'), - value: '400' -}, { - name: (0,external_wp_i18n_namespaceObject._x)('Medium', 'font weight'), - value: '500' -}, { - name: (0,external_wp_i18n_namespaceObject._x)('Semi Bold', 'font weight'), - value: '600' -}, { - name: (0,external_wp_i18n_namespaceObject._x)('Bold', 'font weight'), - value: '700' -}, { - name: (0,external_wp_i18n_namespaceObject._x)('Extra Bold', 'font weight'), - value: '800' -}, { - name: (0,external_wp_i18n_namespaceObject._x)('Black', 'font weight'), - value: '900' -}]; - -/** - * Adjusts font appearance field label in case either font styles or weights - * are disabled. - * - * @param {boolean} hasFontStyles Whether font styles are enabled and present. - * @param {boolean} hasFontWeights Whether font weights are enabled and present. - * @return {string} A label representing what font appearance is being edited. - */ -const getFontAppearanceLabel = (hasFontStyles, hasFontWeights) => { - if (!hasFontStyles) { - return (0,external_wp_i18n_namespaceObject.__)('Font weight'); - } - if (!hasFontWeights) { - return (0,external_wp_i18n_namespaceObject.__)('Font style'); - } - return (0,external_wp_i18n_namespaceObject.__)('Appearance'); -}; - -/** - * Control to display unified font style and weight options. - * - * @param {Object} props Component props. - * - * @return {WPElement} Font appearance control. - */ -function FontAppearanceControl(props) { - const { - onChange, - hasFontStyles = true, - hasFontWeights = true, - value: { - fontStyle, - fontWeight - }, - ...otherProps - } = props; - const hasStylesOrWeights = hasFontStyles || hasFontWeights; - const label = getFontAppearanceLabel(hasFontStyles, hasFontWeights); - const defaultOption = { - key: 'default', - name: (0,external_wp_i18n_namespaceObject.__)('Default'), - style: { - fontStyle: undefined, - fontWeight: undefined - } - }; - - // Combines both font style and weight options into a single dropdown. - const combineOptions = () => { - const combinedOptions = [defaultOption]; - FONT_STYLES.forEach(({ - name: styleName, - value: styleValue - }) => { - FONT_WEIGHTS.forEach(({ - name: weightName, - value: weightValue - }) => { - const optionName = styleValue === 'normal' ? weightName : (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: 1: Font weight name. 2: Font style name. */ - (0,external_wp_i18n_namespaceObject.__)('%1$s %2$s'), weightName, styleName); - combinedOptions.push({ - key: `${styleValue}-${weightValue}`, - name: optionName, - style: { - fontStyle: styleValue, - fontWeight: weightValue - } - }); - }); - }); - return combinedOptions; - }; - - // Generates select options for font styles only. - const styleOptions = () => { - const combinedOptions = [defaultOption]; - FONT_STYLES.forEach(({ - name, - value - }) => { - combinedOptions.push({ - key: value, - name, - style: { - fontStyle: value, - fontWeight: undefined - } - }); - }); - return combinedOptions; - }; - - // Generates select options for font weights only. - const weightOptions = () => { - const combinedOptions = [defaultOption]; - FONT_WEIGHTS.forEach(({ - name, - value - }) => { - combinedOptions.push({ - key: value, - name, - style: { - fontStyle: undefined, - fontWeight: value - } - }); - }); - return combinedOptions; - }; - - // Map font styles and weights to select options. - const selectOptions = (0,external_wp_element_namespaceObject.useMemo)(() => { - if (hasFontStyles && hasFontWeights) { - return combineOptions(); - } - return hasFontStyles ? styleOptions() : weightOptions(); - }, [props.options]); - - // Find current selection by comparing font style & weight against options, - // and fall back to the Default option if there is no matching option. - const currentSelection = selectOptions.find(option => option.style.fontStyle === fontStyle && option.style.fontWeight === fontWeight) || selectOptions[0]; - - // Adjusts screen reader description based on styles or weights. - const getDescribedBy = () => { - if (!currentSelection) { - return (0,external_wp_i18n_namespaceObject.__)('No selected font appearance'); - } - if (!hasFontStyles) { - return (0,external_wp_i18n_namespaceObject.sprintf)( - // translators: %s: Currently selected font weight. - (0,external_wp_i18n_namespaceObject.__)('Currently selected font weight: %s'), currentSelection.name); - } - if (!hasFontWeights) { - return (0,external_wp_i18n_namespaceObject.sprintf)( - // translators: %s: Currently selected font style. - (0,external_wp_i18n_namespaceObject.__)('Currently selected font style: %s'), currentSelection.name); - } - return (0,external_wp_i18n_namespaceObject.sprintf)( - // translators: %s: Currently selected font appearance. - (0,external_wp_i18n_namespaceObject.__)('Currently selected font appearance: %s'), currentSelection.name); - }; - return hasStylesOrWeights && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.CustomSelectControl, { - ...otherProps, - className: "components-font-appearance-control", - label: label, - describedBy: getDescribedBy(), - options: selectOptions, - value: currentSelection, - onChange: ({ - selectedItem - }) => onChange(selectedItem.style), - __nextUnconstrainedWidth: true - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/line-height-control/utils.js -const BASE_DEFAULT_VALUE = 1.5; -const STEP = 0.01; -/** - * A spin factor of 10 allows the spin controls to increment/decrement by 0.1. - * e.g. A line-height value of 1.55 will increment to 1.65. - */ -const SPIN_FACTOR = 10; -/** - * There are varying value types within LineHeightControl: - * - * {undefined} Initial value. No changes from the user. - * {string} Input value. Value consumed/outputted by the input. Empty would be ''. - * {number} Block attribute type. Input value needs to be converted for attribute setting. - * - * Note: If the value is undefined, the input requires it to be an empty string ('') - * in order to be considered "controlled" by props (rather than internal state). - */ -const RESET_VALUE = ''; - -/** - * Determines if the lineHeight attribute has been properly defined. - * - * @param {any} lineHeight The value to check. - * - * @return {boolean} Whether the lineHeight attribute is valid. - */ -function isLineHeightDefined(lineHeight) { - return lineHeight !== undefined && lineHeight !== RESET_VALUE; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/line-height-control/index.js - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - -const line_height_control_LineHeightControl = ({ - value: lineHeight, - onChange, - /** Start opting into the new margin-free styles that will become the default in a future version. */ - __nextHasNoMarginBottom = false, - __unstableInputWidth = '60px', - ...otherProps -}) => { - const isDefined = isLineHeightDefined(lineHeight); - const adjustNextValue = (nextValue, wasTypedOrPasted) => { - // Set the next value without modification if lineHeight has been defined. - if (isDefined) return nextValue; - - /** - * The following logic handles the initial spin up/down action - * (from an undefined value state) so that the next values are better suited for - * line-height rendering. For example, the first spin up should immediately - * go to 1.6, rather than the normally expected 0.1. - * - * Spin up/down actions can be triggered by keydowns of the up/down arrow keys, - * dragging the input or by clicking the spin buttons. - */ - const spin = STEP * SPIN_FACTOR; - switch (`${nextValue}`) { - case `${spin}`: - // Increment by spin value. - return BASE_DEFAULT_VALUE + spin; - case '0': - { - // This means the user explicitly input '0', rather than using the - // spin down action from an undefined value state. - if (wasTypedOrPasted) return nextValue; - // Decrement by spin value. - return BASE_DEFAULT_VALUE - spin; - } - case '': - return BASE_DEFAULT_VALUE; - default: - return nextValue; - } - }; - const stateReducer = (state, action) => { - // Be careful when changing this — cross-browser behavior of the - // `inputType` field in `input` events are inconsistent. - // For example, Firefox emits an input event with inputType="insertReplacementText" - // on spin button clicks, while other browsers do not even emit an input event. - const wasTypedOrPasted = ['insertText', 'insertFromPaste'].includes(action.payload.event.nativeEvent?.inputType); - const value = adjustNextValue(state.value, wasTypedOrPasted); - return { - ...state, - value - }; - }; - const value = isDefined ? lineHeight : RESET_VALUE; - if (!__nextHasNoMarginBottom) { - external_wp_deprecated_default()('Bottom margin styles for wp.blockEditor.LineHeightControl', { - since: '6.0', - version: '6.4', - hint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version' - }); - } - const deprecatedStyles = __nextHasNoMarginBottom ? undefined : { - marginBottom: 24 - }; - const handleOnChange = (nextValue, { - event - }) => { - if (nextValue === '') { - onChange(); - return; - } - if (event.type === 'click') { - onChange(adjustNextValue(`${nextValue}`, false)); - return; - } - onChange(`${nextValue}`); - }; - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-line-height-control", - style: deprecatedStyles - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalNumberControl, { - ...otherProps, - __unstableInputWidth: __unstableInputWidth, - __unstableStateReducer: stateReducer, - onChange: handleOnChange, - label: (0,external_wp_i18n_namespaceObject.__)('Line height'), - placeholder: BASE_DEFAULT_VALUE, - step: STEP, - spinFactor: SPIN_FACTOR, - value: value, - min: 0, - spinControls: "custom" - })); -}; - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/line-height-control/README.md - */ -/* harmony default export */ var line_height_control = (line_height_control_LineHeightControl); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/letter-spacing-control/index.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -/** - * Control for letter-spacing. - * - * @param {Object} props Component props. - * @param {string} props.value Currently selected letter-spacing. - * @param {Function} props.onChange Handles change in letter-spacing selection. - * @param {string|number|undefined} props.__unstableInputWidth Input width to pass through to inner UnitControl. Should be a valid CSS value. - * - * @return {WPElement} Letter-spacing control. - */ -function LetterSpacingControl({ - value, - onChange, - __unstableInputWidth = '60px', - ...otherProps -}) { - const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ - availableUnits: use_setting_useSetting('spacing.units') || ['px', 'em', 'rem'], - defaultValues: { - px: 2, - em: 0.2, - rem: 0.2 - } - }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { - ...otherProps, - label: (0,external_wp_i18n_namespaceObject.__)('Letter spacing'), - value: value, - __unstableInputWidth: __unstableInputWidth, - units: units, - onChange: onChange - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/reset.js - -/** - * WordPress dependencies - */ - -const reset_reset = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M7 11.5h10V13H7z" -})); -/* harmony default export */ var library_reset = (reset_reset); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-uppercase.js - -/** - * WordPress dependencies - */ - -const formatUppercase = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M6.1 6.8L2.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H6.1zm-.8 6.8L7 8.9l1.7 4.7H5.3zm15.1-.7c-.4-.5-.9-.8-1.6-1 .4-.2.7-.5.8-.9.2-.4.3-.9.3-1.4 0-.9-.3-1.6-.8-2-.6-.5-1.3-.7-2.4-.7h-3.5V18h4.2c1.1 0 2-.3 2.6-.8.6-.6 1-1.4 1-2.4-.1-.8-.3-1.4-.6-1.9zm-5.7-4.7h1.8c.6 0 1.1.1 1.4.4.3.2.5.7.5 1.3 0 .6-.2 1.1-.5 1.3-.3.2-.8.4-1.4.4h-1.8V8.2zm4 8c-.4.3-.9.5-1.5.5h-2.6v-3.8h2.6c1.4 0 2 .6 2 1.9.1.6-.1 1-.5 1.4z" -})); -/* harmony default export */ var format_uppercase = (formatUppercase); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-lowercase.js - -/** - * WordPress dependencies - */ - -const formatLowercase = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M11 16.8c-.1-.1-.2-.3-.3-.5v-2.6c0-.9-.1-1.7-.3-2.2-.2-.5-.5-.9-.9-1.2-.4-.2-.9-.3-1.6-.3-.5 0-1 .1-1.5.2s-.9.3-1.2.6l.2 1.2c.4-.3.7-.4 1.1-.5.3-.1.7-.2 1-.2.6 0 1 .1 1.3.4.3.2.4.7.4 1.4-1.2 0-2.3.2-3.3.7s-1.4 1.1-1.4 2.1c0 .7.2 1.2.7 1.6.4.4 1 .6 1.8.6.9 0 1.7-.4 2.4-1.2.1.3.2.5.4.7.1.2.3.3.6.4.3.1.6.1 1.1.1h.1l.2-1.2h-.1c-.4.1-.6 0-.7-.1zM9.2 16c-.2.3-.5.6-.9.8-.3.1-.7.2-1.1.2-.4 0-.7-.1-.9-.3-.2-.2-.3-.5-.3-.9 0-.6.2-1 .7-1.3.5-.3 1.3-.4 2.5-.5v2zm10.6-3.9c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2s-.2 1.4-.6 2z" -})); -/* harmony default export */ var format_lowercase = (formatLowercase); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-capitalize.js - -/** - * WordPress dependencies - */ - -const formatCapitalize = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M7.1 6.8L3.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H7.1zm-.8 6.8L8 8.9l1.7 4.7H6.3zm14.5-1.5c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2 .1.8-.2 1.4-.6 2z" -})); -/* harmony default export */ var format_capitalize = (formatCapitalize); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/text-transform-control/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - -const TEXT_TRANSFORMS = [{ - name: (0,external_wp_i18n_namespaceObject.__)('None'), - value: 'none', - icon: library_reset -}, { - name: (0,external_wp_i18n_namespaceObject.__)('Uppercase'), - value: 'uppercase', - icon: format_uppercase -}, { - name: (0,external_wp_i18n_namespaceObject.__)('Lowercase'), - value: 'lowercase', - icon: format_lowercase -}, { - name: (0,external_wp_i18n_namespaceObject.__)('Capitalize'), - value: 'capitalize', - icon: format_capitalize -}]; - -/** - * Control to facilitate text transform selections. - * - * @param {Object} props Component props. - * @param {string} props.className Class name to add to the control. - * @param {string} props.value Currently selected text transform. - * @param {Function} props.onChange Handles change in text transform selection. - * - * @return {WPElement} Text transform control. - */ -function TextTransformControl({ - className, - value, - onChange -}) { - return (0,external_wp_element_namespaceObject.createElement)("fieldset", { - className: classnames_default()('block-editor-text-transform-control', className) - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { - as: "legend" - }, (0,external_wp_i18n_namespaceObject.__)('Letter case')), (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-text-transform-control__buttons" - }, TEXT_TRANSFORMS.map(textTransform => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - key: textTransform.value, - icon: textTransform.icon, - label: textTransform.name, - isPressed: textTransform.value === value, - onClick: () => { - onChange(textTransform.value === value ? undefined : textTransform.value); - } - }); - }))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-underline.js - -/** - * WordPress dependencies - */ - -const formatUnderline = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M7 18v1h10v-1H7zm5-2c1.5 0 2.6-.4 3.4-1.2.8-.8 1.1-2 1.1-3.5V5H15v5.8c0 1.2-.2 2.1-.6 2.8-.4.7-1.2 1-2.4 1s-2-.3-2.4-1c-.4-.7-.6-1.6-.6-2.8V5H7.5v6.2c0 1.5.4 2.7 1.1 3.5.8.9 1.9 1.3 3.4 1.3z" -})); -/* harmony default export */ var format_underline = (formatUnderline); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-strikethrough.js - -/** - * WordPress dependencies - */ - -const formatStrikethrough = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M9.1 9v-.5c0-.6.2-1.1.7-1.4.5-.3 1.2-.5 2-.5.7 0 1.4.1 2.1.3.7.2 1.4.5 2.1.9l.2-1.9c-.6-.3-1.2-.5-1.9-.7-.8-.1-1.6-.2-2.4-.2-1.5 0-2.7.3-3.6 1-.8.7-1.2 1.5-1.2 2.6V9h2zM20 12H4v1h8.3c.3.1.6.2.8.3.5.2.9.5 1.1.8.3.3.4.7.4 1.2 0 .7-.2 1.1-.8 1.5-.5.3-1.2.5-2.1.5-.8 0-1.6-.1-2.4-.3-.8-.2-1.5-.5-2.2-.8L7 18.1c.5.2 1.2.4 2 .6.8.2 1.6.3 2.4.3 1.7 0 3-.3 3.9-1 .9-.7 1.3-1.6 1.3-2.8 0-.9-.2-1.7-.7-2.2H20v-1z" -})); -/* harmony default export */ var format_strikethrough = (formatStrikethrough); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/text-decoration-control/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - -const TEXT_DECORATIONS = [{ - name: (0,external_wp_i18n_namespaceObject.__)('None'), - value: 'none', - icon: library_reset -}, { - name: (0,external_wp_i18n_namespaceObject.__)('Underline'), - value: 'underline', - icon: format_underline -}, { - name: (0,external_wp_i18n_namespaceObject.__)('Strikethrough'), - value: 'line-through', - icon: format_strikethrough -}]; - -/** - * Control to facilitate text decoration selections. - * - * @param {Object} props Component props. - * @param {string} props.value Currently selected text decoration. - * @param {Function} props.onChange Handles change in text decoration selection. - * @param {string} [props.className] Additional class name to apply. - * - * @return {WPElement} Text decoration control. - */ -function TextDecorationControl({ - value, - onChange, - className -}) { - return (0,external_wp_element_namespaceObject.createElement)("fieldset", { - className: classnames_default()('block-editor-text-decoration-control', className) - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { - as: "legend" - }, (0,external_wp_i18n_namespaceObject.__)('Decoration')), (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-text-decoration-control__buttons" - }, TEXT_DECORATIONS.map(textDecoration => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - key: textDecoration.value, - icon: textDecoration.icon, - label: textDecoration.name, - isPressed: textDecoration.value === value, - onClick: () => { - onChange(textDecoration.value === value ? undefined : textDecoration.value); - } - }); - }))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/text-horizontal.js - -/** - * WordPress dependencies - */ - -const textHorizontal = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M8.2 14.4h3.9L13 17h1.7L11 6.5H9.3L5.6 17h1.7l.9-2.6zm2-5.5 1.4 4H8.8l1.4-4zm7.4 7.5-1.3.8.8 1.4H5.5V20h14.3l-2.2-3.6z" -})); -/* harmony default export */ var text_horizontal = (textHorizontal); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/text-vertical.js - -/** - * WordPress dependencies - */ - -const textVertical = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M7 5.6v1.7l2.6.9v3.9L7 13v1.7L17.5 11V9.3L7 5.6zm4.2 6V8.8l4 1.4-4 1.4zm-5.7 5.6V5.5H4v14.3l3.6-2.2-.8-1.3-1.3.9z" -})); -/* harmony default export */ var text_vertical = (textVertical); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-mode-control/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - -const WRITING_MODES = [{ - name: (0,external_wp_i18n_namespaceObject.__)('Horizontal'), - value: 'horizontal-tb', - icon: text_horizontal -}, { - name: (0,external_wp_i18n_namespaceObject.__)('Vertical'), - value: (0,external_wp_i18n_namespaceObject.isRTL)() ? 'vertical-lr' : 'vertical-rl', - icon: text_vertical -}]; - -/** - * Control to facilitate writing mode selections. - * - * @param {Object} props Component props. - * @param {string} props.className Class name to add to the control. - * @param {string} props.value Currently selected writing mode. - * @param {Function} props.onChange Handles change in the writing mode selection. - * - * @return {WPElement} Writing Mode control. - */ -function WritingModeControl({ - className, - value, - onChange -}) { - return (0,external_wp_element_namespaceObject.createElement)("fieldset", { - className: classnames_default()('block-editor-writing-mode-control', className) - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { - as: "legend" - }, (0,external_wp_i18n_namespaceObject.__)('Orientation')), (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-writing-mode-control__buttons" - }, WRITING_MODES.map(writingMode => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - key: writingMode.value, - icon: writingMode.icon, - label: writingMode.name, - isPressed: writingMode.value === value, - onClick: () => { - onChange(writingMode.value === value ? undefined : writingMode.value); - } - }); - }))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/typography-panel.js - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - - - - - -const MIN_TEXT_COLUMNS = 1; -const MAX_TEXT_COLUMNS = 6; -function useHasTypographyPanel(settings) { - const hasFontFamily = useHasFontFamilyControl(settings); - const hasLineHeight = useHasLineHeightControl(settings); - const hasFontAppearance = useHasAppearanceControl(settings); - const hasLetterSpacing = useHasLetterSpacingControl(settings); - const hasTextTransform = useHasTextTransformControl(settings); - const hasTextDecoration = useHasTextDecorationControl(settings); - const hasWritingMode = useHasWritingModeControl(settings); - const hasTextColumns = useHasTextColumnsControl(settings); - const hasFontSize = useHasFontSizeControl(settings); - return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || hasTextTransform || hasFontSize || hasTextDecoration || hasWritingMode || hasTextColumns; -} -function useHasFontSizeControl(settings) { - var _settings$typography$, _fontSizesPerOrigin$c, _fontSizesPerOrigin$t, _fontSizesPerOrigin$d; - const disableCustomFontSizes = !settings?.typography?.customFontSize; - const fontSizesPerOrigin = (_settings$typography$ = settings?.typography?.fontSizes) !== null && _settings$typography$ !== void 0 ? _settings$typography$ : {}; - const fontSizes = [].concat((_fontSizesPerOrigin$c = fontSizesPerOrigin?.custom) !== null && _fontSizesPerOrigin$c !== void 0 ? _fontSizesPerOrigin$c : []).concat((_fontSizesPerOrigin$t = fontSizesPerOrigin?.theme) !== null && _fontSizesPerOrigin$t !== void 0 ? _fontSizesPerOrigin$t : []).concat((_fontSizesPerOrigin$d = fontSizesPerOrigin.default) !== null && _fontSizesPerOrigin$d !== void 0 ? _fontSizesPerOrigin$d : []); - return !!fontSizes?.length || !disableCustomFontSizes; -} -function useHasFontFamilyControl(settings) { - var _fontFamiliesPerOrigi, _fontFamiliesPerOrigi2, _fontFamiliesPerOrigi3; - const fontFamiliesPerOrigin = settings?.typography?.fontFamilies; - const fontFamilies = [].concat((_fontFamiliesPerOrigi = fontFamiliesPerOrigin?.custom) !== null && _fontFamiliesPerOrigi !== void 0 ? _fontFamiliesPerOrigi : []).concat((_fontFamiliesPerOrigi2 = fontFamiliesPerOrigin?.theme) !== null && _fontFamiliesPerOrigi2 !== void 0 ? _fontFamiliesPerOrigi2 : []).concat((_fontFamiliesPerOrigi3 = fontFamiliesPerOrigin?.default) !== null && _fontFamiliesPerOrigi3 !== void 0 ? _fontFamiliesPerOrigi3 : []).sort((a, b) => (a?.name || a?.slug).localeCompare(b?.name || a?.slug)); - return !!fontFamilies?.length; -} -function useHasLineHeightControl(settings) { - return settings?.typography?.lineHeight; -} -function useHasAppearanceControl(settings) { - const hasFontStyles = settings?.typography?.fontStyle; - const hasFontWeights = settings?.typography?.fontWeight; - return hasFontStyles || hasFontWeights; -} -function useAppearanceControlLabel(settings) { - const hasFontStyles = settings?.typography?.fontStyle; - const hasFontWeights = settings?.typography?.fontWeight; - if (!hasFontStyles) { - return (0,external_wp_i18n_namespaceObject.__)('Font weight'); - } - if (!hasFontWeights) { - return (0,external_wp_i18n_namespaceObject.__)('Font style'); - } - return (0,external_wp_i18n_namespaceObject.__)('Appearance'); -} -function useHasLetterSpacingControl(settings) { - return settings?.typography?.letterSpacing; -} -function useHasTextTransformControl(settings) { - return settings?.typography?.textTransform; -} -function useHasTextDecorationControl(settings) { - return settings?.typography?.textDecoration; -} -function useHasWritingModeControl(settings) { - return settings?.typography?.writingMode; -} -function useHasTextColumnsControl(settings) { - return settings?.typography?.textColumns; -} -function getUniqueFontSizesBySlug(settings) { - var _settings$typography$2, _fontSizesPerOrigin$c2, _fontSizesPerOrigin$t2, _fontSizesPerOrigin$d2; - const fontSizesPerOrigin = (_settings$typography$2 = settings?.typography?.fontSizes) !== null && _settings$typography$2 !== void 0 ? _settings$typography$2 : {}; - const fontSizes = [].concat((_fontSizesPerOrigin$c2 = fontSizesPerOrigin?.custom) !== null && _fontSizesPerOrigin$c2 !== void 0 ? _fontSizesPerOrigin$c2 : []).concat((_fontSizesPerOrigin$t2 = fontSizesPerOrigin?.theme) !== null && _fontSizesPerOrigin$t2 !== void 0 ? _fontSizesPerOrigin$t2 : []).concat((_fontSizesPerOrigin$d2 = fontSizesPerOrigin.default) !== null && _fontSizesPerOrigin$d2 !== void 0 ? _fontSizesPerOrigin$d2 : []); - return fontSizes.reduce((acc, currentSize) => { - if (!acc.some(({ - slug - }) => slug === currentSize.slug)) { - acc.push(currentSize); - } - return acc; - }, []); -} -function TypographyToolsPanel({ - resetAllFilter, - onChange, - value, - panelId, - children -}) { - const resetAll = () => { - const updatedValue = resetAllFilter(value); - onChange(updatedValue); - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { - label: (0,external_wp_i18n_namespaceObject.__)('Typography'), - resetAll: resetAll, - panelId: panelId - }, children); -} -const typography_panel_DEFAULT_CONTROLS = { - fontFamily: true, - fontSize: true, - fontAppearance: true, - lineHeight: true, - letterSpacing: true, - textTransform: true, - textDecoration: true, - writingMode: true, - textColumns: true -}; -function TypographyPanel({ - as: Wrapper = TypographyToolsPanel, - value, - onChange, - inheritedValue = value, - settings, - panelId, - defaultControls = typography_panel_DEFAULT_CONTROLS -}) { - var _fontFamiliesPerOrigi4, _fontFamiliesPerOrigi5, _fontFamiliesPerOrigi6; - const decodeValue = rawValue => getValueFromVariable({ - settings - }, '', rawValue); - - // Font Family - const hasFontFamilyEnabled = useHasFontFamilyControl(settings); - const fontFamiliesPerOrigin = settings?.typography?.fontFamilies; - const fontFamilies = [].concat((_fontFamiliesPerOrigi4 = fontFamiliesPerOrigin?.custom) !== null && _fontFamiliesPerOrigi4 !== void 0 ? _fontFamiliesPerOrigi4 : []).concat((_fontFamiliesPerOrigi5 = fontFamiliesPerOrigin?.theme) !== null && _fontFamiliesPerOrigi5 !== void 0 ? _fontFamiliesPerOrigi5 : []).concat((_fontFamiliesPerOrigi6 = fontFamiliesPerOrigin?.default) !== null && _fontFamiliesPerOrigi6 !== void 0 ? _fontFamiliesPerOrigi6 : []); - const fontFamily = decodeValue(inheritedValue?.typography?.fontFamily); - const setFontFamily = newValue => { - const slug = fontFamilies?.find(({ - fontFamily: f - }) => f === newValue)?.slug; - onChange(setImmutably(value, ['typography', 'fontFamily'], slug ? `var:preset|font-family|${slug}` : newValue || undefined)); - }; - const hasFontFamily = () => !!value?.typography?.fontFamily; - const resetFontFamily = () => setFontFamily(undefined); - - // Font Size - const hasFontSizeEnabled = useHasFontSizeControl(settings); - const disableCustomFontSizes = !settings?.typography?.customFontSize; - const fontSizes = getUniqueFontSizesBySlug(settings); - const fontSize = decodeValue(inheritedValue?.typography?.fontSize); - const setFontSize = (newValue, metadata) => { - const actualValue = !!metadata?.slug ? `var:preset|font-size|${metadata?.slug}` : newValue; - onChange(setImmutably(value, ['typography', 'fontSize'], actualValue || undefined)); - }; - const hasFontSize = () => !!value?.typography?.fontSize; - const resetFontSize = () => setFontSize(undefined); - - // Appearance - const hasAppearanceControl = useHasAppearanceControl(settings); - const appearanceControlLabel = useAppearanceControlLabel(settings); - const hasFontStyles = settings?.typography?.fontStyle; - const hasFontWeights = settings?.typography?.fontWeight; - const fontStyle = decodeValue(inheritedValue?.typography?.fontStyle); - const fontWeight = decodeValue(inheritedValue?.typography?.fontWeight); - const setFontAppearance = ({ - fontStyle: newFontStyle, - fontWeight: newFontWeight - }) => { - onChange({ - ...value, - typography: { - ...value?.typography, - fontStyle: newFontStyle || undefined, - fontWeight: newFontWeight || undefined - } - }); - }; - const hasFontAppearance = () => !!value?.typography?.fontStyle || !!value?.typography?.fontWeight; - const resetFontAppearance = () => { - setFontAppearance({}); - }; - - // Line Height - const hasLineHeightEnabled = useHasLineHeightControl(settings); - const lineHeight = decodeValue(inheritedValue?.typography?.lineHeight); - const setLineHeight = newValue => { - onChange(setImmutably(value, ['typography', 'lineHeight'], newValue || undefined)); - }; - const hasLineHeight = () => value?.typography?.lineHeight !== undefined; - const resetLineHeight = () => setLineHeight(undefined); - - // Letter Spacing - const hasLetterSpacingControl = useHasLetterSpacingControl(settings); - const letterSpacing = decodeValue(inheritedValue?.typography?.letterSpacing); - const setLetterSpacing = newValue => { - onChange(setImmutably(value, ['typography', 'letterSpacing'], newValue || undefined)); - }; - const hasLetterSpacing = () => !!value?.typography?.letterSpacing; - const resetLetterSpacing = () => setLetterSpacing(undefined); - - // Text Columns - const hasTextColumnsControl = useHasTextColumnsControl(settings); - const textColumns = decodeValue(inheritedValue?.typography?.textColumns); - const setTextColumns = newValue => { - onChange(setImmutably(value, ['typography', 'textColumns'], newValue || undefined)); - }; - const hasTextColumns = () => !!value?.typography?.textColumns; - const resetTextColumns = () => setTextColumns(undefined); - - // Text Transform - const hasTextTransformControl = useHasTextTransformControl(settings); - const textTransform = decodeValue(inheritedValue?.typography?.textTransform); - const setTextTransform = newValue => { - onChange(setImmutably(value, ['typography', 'textTransform'], newValue || undefined)); - }; - const hasTextTransform = () => !!value?.typography?.textTransform; - const resetTextTransform = () => setTextTransform(undefined); - - // Text Decoration - const hasTextDecorationControl = useHasTextDecorationControl(settings); - const textDecoration = decodeValue(inheritedValue?.typography?.textDecoration); - const setTextDecoration = newValue => { - onChange(setImmutably(value, ['typography', 'textDecoration'], newValue || undefined)); - }; - const hasTextDecoration = () => !!value?.typography?.textDecoration; - const resetTextDecoration = () => setTextDecoration(undefined); - - // Text Orientation - const hasWritingModeControl = useHasWritingModeControl(settings); - const writingMode = decodeValue(inheritedValue?.typography?.writingMode); - const setWritingMode = newValue => { - onChange(setImmutably(value, ['typography', 'writingMode'], newValue || undefined)); - }; - const hasWritingMode = () => !!value?.typography?.writingMode; - const resetWritingMode = () => setWritingMode(undefined); - const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { - return { - ...previousValue, - typography: {} - }; - }, []); - return (0,external_wp_element_namespaceObject.createElement)(Wrapper, { - resetAllFilter: resetAllFilter, - value: value, - onChange: onChange, - panelId: panelId - }, hasFontFamilyEnabled && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - label: (0,external_wp_i18n_namespaceObject.__)('Font family'), - hasValue: hasFontFamily, - onDeselect: resetFontFamily, - isShownByDefault: defaultControls.fontFamily, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(FontFamilyControl, { - fontFamilies: fontFamilies, - value: fontFamily, - onChange: setFontFamily, - size: "__unstable-large", - __nextHasNoMarginBottom: true - })), hasFontSizeEnabled && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - label: (0,external_wp_i18n_namespaceObject.__)('Font size'), - hasValue: hasFontSize, - onDeselect: resetFontSize, - isShownByDefault: defaultControls.fontSize, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FontSizePicker, { - value: fontSize, - onChange: setFontSize, - fontSizes: fontSizes, - disableCustomFontSizes: disableCustomFontSizes, - withReset: false, - withSlider: true, - size: "__unstable-large", - __nextHasNoMarginBottom: true - })), hasAppearanceControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - className: "single-column", - label: appearanceControlLabel, - hasValue: hasFontAppearance, - onDeselect: resetFontAppearance, - isShownByDefault: defaultControls.fontAppearance, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(FontAppearanceControl, { - value: { - fontStyle, - fontWeight - }, - onChange: setFontAppearance, - hasFontStyles: hasFontStyles, - hasFontWeights: hasFontWeights, - size: "__unstable-large", - __nextHasNoMarginBottom: true - })), hasLineHeightEnabled && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - className: "single-column", - label: (0,external_wp_i18n_namespaceObject.__)('Line height'), - hasValue: hasLineHeight, - onDeselect: resetLineHeight, - isShownByDefault: defaultControls.lineHeight, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(line_height_control, { - __nextHasNoMarginBottom: true, - __unstableInputWidth: "auto", - value: lineHeight, - onChange: setLineHeight, - size: "__unstable-large" - })), hasLetterSpacingControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - className: "single-column", - label: (0,external_wp_i18n_namespaceObject.__)('Letter spacing'), - hasValue: hasLetterSpacing, - onDeselect: resetLetterSpacing, - isShownByDefault: defaultControls.letterSpacing, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(LetterSpacingControl, { - value: letterSpacing, - onChange: setLetterSpacing, - size: "__unstable-large", - __unstableInputWidth: "auto" - })), hasTextColumnsControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - className: "single-column", - label: (0,external_wp_i18n_namespaceObject.__)('Text columns'), - hasValue: hasTextColumns, - onDeselect: resetTextColumns, - isShownByDefault: defaultControls.textColumns, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalNumberControl, { - label: (0,external_wp_i18n_namespaceObject.__)('Text columns'), - max: MAX_TEXT_COLUMNS, - min: MIN_TEXT_COLUMNS, - onChange: setTextColumns, - size: "__unstable-large", - spinControls: "custom", - value: textColumns, - initialPosition: 1 - })), hasTextDecorationControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - className: "single-column", - label: (0,external_wp_i18n_namespaceObject.__)('Text decoration'), - hasValue: hasTextDecoration, - onDeselect: resetTextDecoration, - isShownByDefault: defaultControls.textDecoration, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(TextDecorationControl, { - value: textDecoration, - onChange: setTextDecoration, - size: "__unstable-large", - __unstableInputWidth: "auto" - })), hasWritingModeControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - className: "single-column", - label: (0,external_wp_i18n_namespaceObject.__)('Text orientation'), - hasValue: hasWritingMode, - onDeselect: resetWritingMode, - isShownByDefault: defaultControls.writingMode, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(WritingModeControl, { - value: writingMode, - onChange: setWritingMode, - size: "__unstable-large", - __nextHasNoMarginBottom: true - })), hasTextTransformControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - label: (0,external_wp_i18n_namespaceObject.__)('Letter case'), - hasValue: hasTextTransform, - onDeselect: resetTextTransform, - isShownByDefault: defaultControls.textTransform, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(TextTransformControl, { - value: textTransform, - onChange: setTextTransform, - showNone: true, - isBlock: true, - size: "__unstable-large", - __nextHasNoMarginBottom: true - }))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/line-height.js - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - -const LINE_HEIGHT_SUPPORT_KEY = 'typography.lineHeight'; - -/** - * Inspector control panel containing the line height related configuration - * - * @param {Object} props - * - * @return {WPElement} Line height edit element. - */ -function LineHeightEdit(props) { - const { - attributes: { - style - }, - setAttributes - } = props; - const onChange = newLineHeightValue => { - const newStyle = { - ...style, - typography: { - ...style?.typography, - lineHeight: newLineHeightValue - } - }; - setAttributes({ - style: cleanEmptyObject(newStyle) - }); - }; - return createElement(LineHeightControl, { - __unstableInputWidth: "100%", - __nextHasNoMarginBottom: true, - value: style?.typography?.lineHeight, - onChange: onChange, - size: "__unstable-large" - }); -} - -/** - * Custom hook that checks if line-height settings have been disabled. - * - * @param {string} name The name of the block. - * @return {boolean} Whether setting is disabled. - */ -function useIsLineHeightDisabled({ - name: blockName -} = {}) { - const isDisabled = !useSetting('typography.lineHeight'); - return !hasBlockSupport(blockName, LINE_HEIGHT_SUPPORT_KEY) || isDisabled; -} - -;// CONCATENATED MODULE: external ["wp","tokenList"] -var external_wp_tokenList_namespaceObject = window["wp"]["tokenList"]; -var external_wp_tokenList_default = /*#__PURE__*/__webpack_require__.n(external_wp_tokenList_namespaceObject); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/font-family.js -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily'; - -/** - * Filters registered block settings, extending attributes to include - * the `fontFamily` attribute. - * - * @param {Object} settings Original block settings - * @return {Object} Filtered block settings - */ -function font_family_addAttributes(settings) { - if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(settings, FONT_FAMILY_SUPPORT_KEY)) { - return settings; - } - - // Allow blocks to specify a default value if needed. - if (!settings.attributes.fontFamily) { - Object.assign(settings.attributes, { - fontFamily: { - type: 'string' - } - }); - } - return settings; -} - -/** - * Override props assigned to save component to inject font family. - * - * @param {Object} props Additional props applied to save element - * @param {Object} blockType Block type - * @param {Object} attributes Block attributes - * @return {Object} Filtered props applied to save element - */ -function font_family_addSaveProps(props, blockType, attributes) { - if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockType, FONT_FAMILY_SUPPORT_KEY)) { - return props; - } - if (shouldSkipSerialization(blockType, TYPOGRAPHY_SUPPORT_KEY, 'fontFamily')) { - return props; - } - if (!attributes?.fontFamily) { - return props; - } - - // Use TokenList to dedupe classes. - const classes = new (external_wp_tokenList_default())(props.className); - classes.add(`has-${kebabCase(attributes?.fontFamily)}-font-family`); - const newClassName = classes.value; - props.className = newClassName ? newClassName : undefined; - return props; -} - -/** - * Filters registered block settings to expand the block edit wrapper - * by applying the desired styles and classnames. - * - * @param {Object} settings Original block settings. - * - * @return {Object} Filtered block settings. - */ -function font_family_addEditProps(settings) { - if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(settings, FONT_FAMILY_SUPPORT_KEY)) { - return settings; - } - const existingGetEditWrapperProps = settings.getEditWrapperProps; - settings.getEditWrapperProps = attributes => { - let props = {}; - if (existingGetEditWrapperProps) { - props = existingGetEditWrapperProps(attributes); - } - return font_family_addSaveProps(props, settings, attributes); - }; - return settings; -} - -/** - * Resets the font family block support attribute. This can be used when - * disabling the font family support controls for a block via a progressive - * discovery panel. - * - * @param {Object} props Block props. - * @param {Object} props.setAttributes Function to set block's attributes. - */ -function resetFontFamily({ - setAttributes -}) { - setAttributes({ - fontFamily: undefined - }); -} -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/fontFamily/addAttribute', font_family_addAttributes); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/fontFamily/addSaveProps', font_family_addSaveProps); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/fontFamily/addEditProps', font_family_addEditProps); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/utils.js -/** - * Internal dependencies - */ - - -/** - * Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values. - * If namedFontSize is undefined or not found in fontSizes an object with just the size value based on customFontSize is returned. - * - * @param {Array} fontSizes Array of font size objects containing at least the "name" and "size" values as properties. - * @param {?string} fontSizeAttribute Content of the font size attribute (slug). - * @param {?number} customFontSizeAttribute Contents of the custom font size attribute (value). - * - * @return {?Object} If fontSizeAttribute is set and an equal slug is found in fontSizes it returns the font size object for that slug. - * Otherwise, an object with just the size value based on customFontSize is returned. - */ -const utils_getFontSize = (fontSizes, fontSizeAttribute, customFontSizeAttribute) => { - if (fontSizeAttribute) { - const fontSizeObject = fontSizes?.find(({ - slug - }) => slug === fontSizeAttribute); - if (fontSizeObject) { - return fontSizeObject; - } - } - return { - size: customFontSizeAttribute - }; -}; - -/** - * Returns the corresponding font size object for a given value. - * - * @param {Array} fontSizes Array of font size objects. - * @param {number} value Font size value. - * - * @return {Object} Font size object. - */ -function utils_getFontSizeObjectByValue(fontSizes, value) { - const fontSizeObject = fontSizes?.find(({ - size - }) => size === value); - if (fontSizeObject) { - return fontSizeObject; - } - return { - size: value - }; -} - -/** - * Returns a class based on fontSizeName. - * - * @param {string} fontSizeSlug Slug of the fontSize. - * - * @return {string | undefined} String with the class corresponding to the fontSize passed. - * The class is generated by appending 'has-' followed by fontSizeSlug in kebabCase and ending with '-font-size'. - */ -function getFontSizeClass(fontSizeSlug) { - if (!fontSizeSlug) { - return; - } - return `has-${kebabCase(fontSizeSlug)}-font-size`; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/font-size.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - - -const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize'; - -/** - * Filters registered block settings, extending attributes to include - * `fontSize` and `fontWeight` attributes. - * - * @param {Object} settings Original block settings. - * - * @return {Object} Filtered block settings. - */ -function font_size_addAttributes(settings) { - if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(settings, FONT_SIZE_SUPPORT_KEY)) { - return settings; - } - - // Allow blocks to specify a default value if needed. - if (!settings.attributes.fontSize) { - Object.assign(settings.attributes, { - fontSize: { - type: 'string' - } - }); - } - return settings; -} - -/** - * Override props assigned to save component to inject font size. - * - * @param {Object} props Additional props applied to save element. - * @param {Object} blockType Block type. - * @param {Object} attributes Block attributes. - * - * @return {Object} Filtered props applied to save element. - */ -function font_size_addSaveProps(props, blockType, attributes) { - if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockType, FONT_SIZE_SUPPORT_KEY)) { - return props; - } - if (shouldSkipSerialization(blockType, TYPOGRAPHY_SUPPORT_KEY, 'fontSize')) { - return props; - } - - // Use TokenList to dedupe classes. - const classes = new (external_wp_tokenList_default())(props.className); - classes.add(getFontSizeClass(attributes.fontSize)); - const newClassName = classes.value; - props.className = newClassName ? newClassName : undefined; - return props; -} - -/** - * Filters registered block settings to expand the block edit wrapper - * by applying the desired styles and classnames. - * - * @param {Object} settings Original block settings. - * - * @return {Object} Filtered block settings. - */ -function font_size_addEditProps(settings) { - if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(settings, FONT_SIZE_SUPPORT_KEY)) { - return settings; - } - const existingGetEditWrapperProps = settings.getEditWrapperProps; - settings.getEditWrapperProps = attributes => { - let props = {}; - if (existingGetEditWrapperProps) { - props = existingGetEditWrapperProps(attributes); - } - return font_size_addSaveProps(props, settings, attributes); - }; - return settings; -} - -/** - * Inspector control panel containing the font size related configuration - * - * @param {Object} props - * - * @return {WPElement} Font size edit element. - */ -function FontSizeEdit(props) { - const { - attributes: { - fontSize, - style - }, - setAttributes - } = props; - const fontSizes = useSetting('typography.fontSizes'); - const onChange = value => { - const fontSizeSlug = getFontSizeObjectByValue(fontSizes, value).slug; - setAttributes({ - style: cleanEmptyObject({ - ...style, - typography: { - ...style?.typography, - fontSize: fontSizeSlug ? undefined : value - } - }), - fontSize: fontSizeSlug - }); - }; - const fontSizeObject = getFontSize(fontSizes, fontSize, style?.typography?.fontSize); - const fontSizeValue = fontSizeObject?.size || style?.typography?.fontSize || fontSize; - return createElement(FontSizePicker, { - onChange: onChange, - value: fontSizeValue, - withReset: false, - withSlider: true, - size: "__unstable-large", - __nextHasNoMarginBottom: true - }); -} - -/** - * Custom hook that checks if font-size settings have been disabled. - * - * @param {string} name The name of the block. - * @return {boolean} Whether setting is disabled. - */ -function useIsFontSizeDisabled({ - name: blockName -} = {}) { - const fontSizes = useSetting('typography.fontSizes'); - const hasFontSizes = !!fontSizes?.length; - return !hasBlockSupport(blockName, FONT_SIZE_SUPPORT_KEY) || !hasFontSizes; -} - -/** - * Add inline styles for font sizes. - * Ideally, this is not needed and themes load the font-size classes on the - * editor. - * - * @param {Function} BlockListBlock Original component. - * - * @return {Function} Wrapped component. - */ -const withFontSizeInlineStyles = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockListBlock => props => { - const fontSizes = use_setting_useSetting('typography.fontSizes'); - const { - name: blockName, - attributes: { - fontSize, - style - }, - wrapperProps - } = props; - - // Only add inline styles if the block supports font sizes, - // doesn't skip serialization of font sizes, - // doesn't already have an inline font size, - // and does have a class to extract the font size from. - if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, FONT_SIZE_SUPPORT_KEY) || shouldSkipSerialization(blockName, TYPOGRAPHY_SUPPORT_KEY, 'fontSize') || !fontSize || style?.typography?.fontSize) { - return (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...props - }); - } - const fontSizeValue = utils_getFontSize(fontSizes, fontSize, style?.typography?.fontSize).size; - const newProps = { - ...props, - wrapperProps: { - ...wrapperProps, - style: { - fontSize: fontSizeValue, - ...wrapperProps?.style - } - } - }; - return (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...newProps - }); -}, 'withFontSizeInlineStyles'); -const font_size_MIGRATION_PATHS = { - fontSize: [['fontSize'], ['style', 'typography', 'fontSize']] -}; -function font_size_addTransforms(result, source, index, results) { - const destinationBlockType = result.name; - const activeSupports = { - fontSize: (0,external_wp_blocks_namespaceObject.hasBlockSupport)(destinationBlockType, FONT_SIZE_SUPPORT_KEY) - }; - return transformStyles(activeSupports, font_size_MIGRATION_PATHS, result, source, index, results); -} - -/** - * Allow custom font sizes to appear fluid when fluid typography is enabled at - * the theme level. - * - * Adds a custom getEditWrapperProps() callback to all block types that support - * font sizes. Then, if fluid typography is enabled, this callback will swap any - * custom font size in style.fontSize with a fluid font size (i.e. one that uses - * clamp()). - * - * It's important that this hook runs after 'core/style/addEditProps' sets - * style.fontSize as otherwise fontSize will be overwritten. - * - * @param {Object} blockType Block settings object. - */ -function addEditPropsForFluidCustomFontSizes(blockType) { - if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockType, FONT_SIZE_SUPPORT_KEY) || shouldSkipSerialization(blockType, TYPOGRAPHY_SUPPORT_KEY, 'fontSize')) { - return blockType; - } - const existingGetEditWrapperProps = blockType.getEditWrapperProps; - blockType.getEditWrapperProps = attributes => { - const wrapperProps = existingGetEditWrapperProps ? existingGetEditWrapperProps(attributes) : {}; - const fontSize = wrapperProps?.style?.fontSize; - - // TODO: This sucks! We should be using useSetting( 'typography.fluid' ) - // or even useSelect( blockEditorStore ). We can't do either here - // because getEditWrapperProps is a plain JavaScript function called by - // BlockListBlock and not a React component rendered within - // BlockListContext.Provider. If we set fontSize using editor. - // BlockListBlock instead of using getEditWrapperProps then the value is - // clobbered when the core/style/addEditProps filter runs. - const fluidTypographySettings = getFluidTypographyOptionsFromSettings((0,external_wp_data_namespaceObject.select)(store).getSettings().__experimentalFeatures); - const newFontSize = fontSize ? getTypographyFontSizeValue({ - size: fontSize - }, fluidTypographySettings) : null; - if (newFontSize === null) { - return wrapperProps; - } - return { - ...wrapperProps, - style: { - ...wrapperProps?.style, - fontSize: newFontSize - } - }; - }; - return blockType; -} -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/font/addAttribute', font_size_addAttributes); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/font/addSaveProps', font_size_addSaveProps); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/font/addEditProps', font_size_addEditProps); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/font-size/with-font-size-inline-styles', withFontSizeInlineStyles); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.switchToBlockType.transformedBlock', 'core/font-size/addTransforms', font_size_addTransforms); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/font-size/addEditPropsForFluidCustomFontSizes', addEditPropsForFluidCustomFontSizes, -// Run after 'core/style/addEditProps' so that the style object has already -// been translated into inline CSS. -11); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/typography.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - - - -function omit(object, keys) { - return Object.fromEntries(Object.entries(object).filter(([key]) => !keys.includes(key))); -} -const LETTER_SPACING_SUPPORT_KEY = 'typography.__experimentalLetterSpacing'; -const TEXT_TRANSFORM_SUPPORT_KEY = 'typography.__experimentalTextTransform'; -const TEXT_DECORATION_SUPPORT_KEY = 'typography.__experimentalTextDecoration'; -const TEXT_COLUMNS_SUPPORT_KEY = 'typography.textColumns'; -const FONT_STYLE_SUPPORT_KEY = 'typography.__experimentalFontStyle'; -const FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight'; -const WRITING_MODE_SUPPORT_KEY = 'typography.__experimentalWritingMode'; -const TYPOGRAPHY_SUPPORT_KEY = 'typography'; -const TYPOGRAPHY_SUPPORT_KEYS = [LINE_HEIGHT_SUPPORT_KEY, FONT_SIZE_SUPPORT_KEY, FONT_STYLE_SUPPORT_KEY, FONT_WEIGHT_SUPPORT_KEY, FONT_FAMILY_SUPPORT_KEY, TEXT_COLUMNS_SUPPORT_KEY, TEXT_DECORATION_SUPPORT_KEY, WRITING_MODE_SUPPORT_KEY, TEXT_TRANSFORM_SUPPORT_KEY, LETTER_SPACING_SUPPORT_KEY]; -function typography_styleToAttributes(style) { - const updatedStyle = { - ...omit(style, ['fontFamily']) - }; - const fontSizeValue = style?.typography?.fontSize; - const fontFamilyValue = style?.typography?.fontFamily; - const fontSizeSlug = fontSizeValue?.startsWith('var:preset|font-size|') ? fontSizeValue.substring('var:preset|font-size|'.length) : undefined; - const fontFamilySlug = fontFamilyValue?.startsWith('var:preset|font-family|') ? fontFamilyValue.substring('var:preset|font-family|'.length) : undefined; - updatedStyle.typography = { - ...omit(updatedStyle.typography, ['fontFamily']), - fontSize: fontSizeSlug ? undefined : fontSizeValue - }; - return { - style: utils_cleanEmptyObject(updatedStyle), - fontFamily: fontFamilySlug, - fontSize: fontSizeSlug - }; -} -function typography_attributesToStyle(attributes) { - return { - ...attributes.style, - typography: { - ...attributes.style?.typography, - fontFamily: attributes.fontFamily ? 'var:preset|font-family|' + attributes.fontFamily : undefined, - fontSize: attributes.fontSize ? 'var:preset|font-size|' + attributes.fontSize : attributes.style?.typography?.fontSize - } - }; -} -function TypographyInspectorControl({ - children, - resetAllFilter -}) { - const attributesResetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(attributes => { - const existingStyle = typography_attributesToStyle(attributes); - const updatedStyle = resetAllFilter(existingStyle); - return { - ...attributes, - ...typography_styleToAttributes(updatedStyle) - }; - }, [resetAllFilter]); - return (0,external_wp_element_namespaceObject.createElement)(inspector_controls, { - group: "typography", - resetAllFilter: attributesResetAllFilter - }, children); -} -function typography_TypographyPanel({ - clientId, - name, - attributes, - setAttributes, - __unstableParentLayout -}) { - const settings = useBlockSettings(name, __unstableParentLayout); - const isEnabled = useHasTypographyPanel(settings); - const value = (0,external_wp_element_namespaceObject.useMemo)(() => { - return typography_attributesToStyle({ - style: attributes.style, - fontFamily: attributes.fontFamily, - fontSize: attributes.fontSize - }); - }, [attributes.style, attributes.fontSize, attributes.fontFamily]); - const onChange = newStyle => { - setAttributes(typography_styleToAttributes(newStyle)); - }; - if (!isEnabled) { - return null; - } - const defaultControls = (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, [TYPOGRAPHY_SUPPORT_KEY, '__experimentalDefaultControls']); - return (0,external_wp_element_namespaceObject.createElement)(TypographyPanel, { - as: TypographyInspectorControl, - panelId: clientId, - settings: settings, - value: value, - onChange: onChange, - defaultControls: defaultControls - }); -} -const hasTypographySupport = blockName => { - return TYPOGRAPHY_SUPPORT_KEYS.some(key => hasBlockSupport(blockName, key)); -}; - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/settings.js - -/** - * WordPress dependencies - */ - -const settings_settings = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z" -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z" -})); -/* harmony default export */ var library_settings = (settings_settings); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js - -/** - * WordPress dependencies - */ - - - - - - - -/** - * Internal dependencies - */ - - - -const CUSTOM_VALUE_SETTINGS = { - px: { - max: 300, - steps: 1 - }, - '%': { - max: 100, - steps: 1 - }, - vw: { - max: 100, - steps: 1 - }, - vh: { - max: 100, - steps: 1 - }, - em: { - max: 10, - steps: 0.1 - }, - rm: { - max: 10, - steps: 0.1 - } -}; -function SpacingInputControl({ - icon, - isMixed = false, - minimumCustomValue, - onChange, - onMouseOut, - onMouseOver, - showSideInLabel = true, - side, - spacingSizes, - type, - value -}) { - var _CUSTOM_VALUE_SETTING, _CUSTOM_VALUE_SETTING2; - // Treat value as a preset value if the passed in value matches the value of one of the spacingSizes. - value = getPresetValueFromCustomValue(value, spacingSizes); - let selectListSizes = spacingSizes; - const showRangeControl = spacingSizes.length <= 8; - const disableCustomSpacingSizes = (0,external_wp_data_namespaceObject.useSelect)(select => { - const editorSettings = select(store).getSettings(); - return editorSettings?.disableCustomSpacingSizes; - }); - const [showCustomValueControl, setShowCustomValueControl] = (0,external_wp_element_namespaceObject.useState)(!disableCustomSpacingSizes && value !== undefined && !isValueSpacingPreset(value)); - const previousValue = (0,external_wp_compose_namespaceObject.usePrevious)(value); - if (!!value && previousValue !== value && !isValueSpacingPreset(value) && showCustomValueControl !== true) { - setShowCustomValueControl(true); - } - const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ - availableUnits: use_setting_useSetting('spacing.units') || ['px', 'em', 'rem'] - }); - let currentValue = null; - const showCustomValueInSelectList = !showRangeControl && !showCustomValueControl && value !== undefined && (!isValueSpacingPreset(value) || isValueSpacingPreset(value) && isMixed); - if (showCustomValueInSelectList) { - selectListSizes = [...spacingSizes, { - name: !isMixed ? - // translators: A custom measurement, eg. a number followed by a unit like 12px. - (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)('Custom (%s)'), value) : (0,external_wp_i18n_namespaceObject.__)('Mixed'), - slug: 'custom', - size: value - }]; - currentValue = selectListSizes.length - 1; - } else if (!isMixed) { - currentValue = !showCustomValueControl ? getSliderValueFromPreset(value, spacingSizes) : getCustomValueFromPreset(value, spacingSizes); - } - const selectedUnit = (0,external_wp_element_namespaceObject.useMemo)(() => (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(currentValue), [currentValue])[1] || units[0].value; - const setInitialValue = () => { - if (value === undefined) { - onChange('0'); - } - }; - const customTooltipContent = newValue => value === undefined ? undefined : spacingSizes[newValue]?.name; - const customRangeValue = parseFloat(currentValue, 10); - const getNewCustomValue = newSize => { - const isNumeric = !isNaN(parseFloat(newSize)); - const nextValue = isNumeric ? newSize : undefined; - return nextValue; - }; - const getNewPresetValue = (newSize, controlType) => { - const size = parseInt(newSize, 10); - if (controlType === 'selectList') { - if (size === 0) { - return undefined; - } - if (size === 1) { - return '0'; - } - } else if (size === 0) { - return '0'; - } - return `var:preset|spacing|${spacingSizes[newSize]?.slug}`; - }; - const handleCustomValueSliderChange = next => { - onChange([next, selectedUnit].join('')); - }; - const allPlaceholder = isMixed ? (0,external_wp_i18n_namespaceObject.__)('Mixed') : null; - const options = selectListSizes.map((size, index) => ({ - key: index, - name: size.name - })); - const marks = spacingSizes.map((_newValue, index) => ({ - value: index, - label: undefined - })); - const sideLabel = ALL_SIDES.includes(side) && showSideInLabel ? LABELS[side] : ''; - const typeLabel = showSideInLabel ? type?.toLowerCase() : type; - const ariaLabel = (0,external_wp_i18n_namespaceObject.sprintf)( - // translators: 1: The side of the block being modified (top, bottom, left, All sides etc.). 2. Type of spacing being modified (Padding, margin, etc) - (0,external_wp_i18n_namespaceObject.__)('%1$s %2$s'), sideLabel, typeLabel).trim(); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - className: "spacing-sizes-control__wrapper" - }, icon && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Icon, { - className: "spacing-sizes-control__icon", - icon: icon, - size: 24 - }), showCustomValueControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { - onMouseOver: onMouseOver, - onMouseOut: onMouseOut, - onFocus: onMouseOver, - onBlur: onMouseOut, - onChange: newSize => onChange(getNewCustomValue(newSize)), - value: currentValue, - units: units, - min: minimumCustomValue, - placeholder: allPlaceholder, - disableUnits: isMixed, - label: ariaLabel, - hideLabelFromVision: true, - className: "spacing-sizes-control__custom-value-input", - size: '__unstable-large' - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.RangeControl, { - onMouseOver: onMouseOver, - onMouseOut: onMouseOut, - onFocus: onMouseOver, - onBlur: onMouseOut, - value: customRangeValue, - min: 0, - max: (_CUSTOM_VALUE_SETTING = CUSTOM_VALUE_SETTINGS[selectedUnit]?.max) !== null && _CUSTOM_VALUE_SETTING !== void 0 ? _CUSTOM_VALUE_SETTING : 10, - step: (_CUSTOM_VALUE_SETTING2 = CUSTOM_VALUE_SETTINGS[selectedUnit]?.steps) !== null && _CUSTOM_VALUE_SETTING2 !== void 0 ? _CUSTOM_VALUE_SETTING2 : 0.1, - withInputField: false, - onChange: handleCustomValueSliderChange, - className: "spacing-sizes-control__custom-value-range", - __nextHasNoMarginBottom: true - })), showRangeControl && !showCustomValueControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.RangeControl, { - onMouseOver: onMouseOver, - onMouseOut: onMouseOut, - className: "spacing-sizes-control__range-control", - value: currentValue, - onChange: newSize => onChange(getNewPresetValue(newSize)), - onMouseDown: event => { - // If mouse down is near start of range set initial value to 0, which - // prevents the user have to drag right then left to get 0 setting. - if (event?.nativeEvent?.offsetX < 35) { - setInitialValue(); - } - }, - withInputField: false, - "aria-valuenow": currentValue, - "aria-valuetext": spacingSizes[currentValue]?.name, - renderTooltipContent: customTooltipContent, - min: 0, - max: spacingSizes.length - 1, - marks: marks, - label: ariaLabel, - hideLabelFromVision: true, - __nextHasNoMarginBottom: true, - onFocus: onMouseOver, - onBlur: onMouseOut - }), !showRangeControl && !showCustomValueControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.CustomSelectControl, { - className: "spacing-sizes-control__custom-select-control", - value: options.find(option => option.key === currentValue) || '' // passing undefined here causes a downshift controlled/uncontrolled warning - , - - onChange: selection => { - onChange(getNewPresetValue(selection.selectedItem.key, 'selectList')); - }, - options: options, - label: ariaLabel, - hideLabelFromVision: true, - __nextUnconstrainedWidth: true, - size: '__unstable-large', - onMouseOver: onMouseOver, - onMouseOut: onMouseOut, - onFocus: onMouseOver, - onBlur: onMouseOut - }), !disableCustomSpacingSizes && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - label: showCustomValueControl ? (0,external_wp_i18n_namespaceObject.__)('Use size preset') : (0,external_wp_i18n_namespaceObject.__)('Set custom size'), - icon: library_settings, - onClick: () => { - setShowCustomValueControl(!showCustomValueControl); - }, - isPressed: showCustomValueControl, - isSmall: true, - className: "spacing-sizes-control__custom-toggle", - iconSize: 24 - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/input-controls/axial.js - -/** - * Internal dependencies - */ - - -const groupedSides = ['vertical', 'horizontal']; -function AxialInputControls({ - minimumCustomValue, - onChange, - onMouseOut, - onMouseOver, - sides, - spacingSizes, - type, - values -}) { - const createHandleOnChange = side => next => { - if (!onChange) { - return; - } - - // Encode the existing value into the preset value if the passed in value matches the value of one of the spacingSizes. - const nextValues = { - ...Object.keys(values).reduce((acc, key) => { - acc[key] = getPresetValueFromCustomValue(values[key], spacingSizes); - return acc; - }, {}) - }; - if (side === 'vertical') { - nextValues.top = next; - nextValues.bottom = next; - } - if (side === 'horizontal') { - nextValues.left = next; - nextValues.right = next; - } - onChange(nextValues); - }; - - // Filter sides if custom configuration provided, maintaining default order. - const filteredSides = sides?.length ? groupedSides.filter(side => hasAxisSupport(sides, side)) : groupedSides; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, filteredSides.map(side => { - const axisValue = side === 'vertical' ? values.top : values.left; - return (0,external_wp_element_namespaceObject.createElement)(SpacingInputControl, { - key: `spacing-sizes-control-${side}`, - icon: ICONS[side], - label: LABELS[side], - minimumCustomValue: minimumCustomValue, - onChange: createHandleOnChange(side), - onMouseOut: onMouseOut, - onMouseOver: onMouseOver, - side: side, - spacingSizes: spacingSizes, - type: type, - value: axisValue, - withInputField: false - }); - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/input-controls/separated.js - -/** - * Internal dependencies - */ - - -function SeparatedInputControls({ - minimumCustomValue, - onChange, - onMouseOut, - onMouseOver, - sides, - spacingSizes, - type, - values -}) { - // Filter sides if custom configuration provided, maintaining default order. - const filteredSides = sides?.length ? ALL_SIDES.filter(side => sides.includes(side)) : ALL_SIDES; - const createHandleOnChange = side => next => { - // Encode the existing value into the preset value if the passed in value matches the value of one of the spacingSizes. - const nextValues = { - ...Object.keys(values).reduce((acc, key) => { - acc[key] = getPresetValueFromCustomValue(values[key], spacingSizes); - return acc; - }, {}) - }; - nextValues[side] = next; - onChange(nextValues); - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, filteredSides.map(side => { - return (0,external_wp_element_namespaceObject.createElement)(SpacingInputControl, { - key: `spacing-sizes-control-${side}`, - icon: ICONS[side], - label: LABELS[side], - minimumCustomValue: minimumCustomValue, - onChange: createHandleOnChange(side), - onMouseOut: onMouseOut, - onMouseOver: onMouseOver, - side: side, - spacingSizes: spacingSizes, - type: type, - value: values[side], - withInputField: false - }); - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/input-controls/single.js - -/** - * Internal dependencies - */ - - -function SingleInputControl({ - minimumCustomValue, - onChange, - onMouseOut, - onMouseOver, - showSideInLabel, - side, - spacingSizes, - type, - values -}) { - const createHandleOnChange = currentSide => next => { - // Encode the existing value into the preset value if the passed in value matches the value of one of the spacingSizes. - const nextValues = { - ...Object.keys(values).reduce((acc, key) => { - acc[key] = getPresetValueFromCustomValue(values[key], spacingSizes); - return acc; - }, {}) - }; - nextValues[currentSide] = next; - onChange(nextValues); - }; - return (0,external_wp_element_namespaceObject.createElement)(SpacingInputControl, { - label: LABELS[side], - minimumCustomValue: minimumCustomValue, - onChange: createHandleOnChange(side), - onMouseOut: onMouseOut, - onMouseOver: onMouseOver, - showSideInLabel: showSideInLabel, - side: side, - spacingSizes: spacingSizes, - type: type, - value: values[side], - withInputField: false - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js - -/** - * WordPress dependencies - */ - -const check_check = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z" -})); -/* harmony default export */ var library_check = (check_check); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/sides-dropdown/index.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - -const checkIcon = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Icon, { - icon: library_check, - size: 24 -}); -function SidesDropdown({ - label: labelProp, - onChange, - sides, - value -}) { - if (!sides || !sides.length) { - return; - } - const supportedItems = getSupportedMenuItems(sides); - const sideIcon = supportedItems[value].icon; - const { - custom: customItem, - ...menuItems - } = supportedItems; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DropdownMenu, { - icon: sideIcon, - label: labelProp, - className: "spacing-sizes-control__dropdown", - toggleProps: { - isSmall: true - } - }, ({ - onClose - }) => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, null, Object.entries(menuItems).map(([slug, { - label, - icon - }]) => { - const isSelected = value === slug; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - key: slug, - icon: icon, - iconPosition: "left", - isSelected: isSelected, - role: "menuitemradio", - onClick: () => { - onChange(slug); - onClose(); - }, - suffix: isSelected ? checkIcon : undefined - }, label); - })), !!customItem && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - icon: customItem.icon, - iconPosition: "left", - isSelected: value === VIEWS.custom, - role: "menuitemradio", - onClick: () => { - onChange(VIEWS.custom); - onClose(); - }, - suffix: value === VIEWS.custom ? checkIcon : undefined - }, customItem.label))); - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - -function useSpacingSizes() { - const spacingSizes = [{ - name: 0, - slug: '0', - size: 0 - }, ...(use_setting_useSetting('spacing.spacingSizes') || [])]; - if (spacingSizes.length > 8) { - spacingSizes.unshift({ - name: (0,external_wp_i18n_namespaceObject.__)('Default'), - slug: 'default', - size: undefined - }); - } - return spacingSizes; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/spacing-sizes-control/index.js - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - - -function SpacingSizesControl({ - inputProps, - label: labelProp, - minimumCustomValue = 0, - onChange, - onMouseOut, - onMouseOver, - showSideInLabel = true, - sides = ALL_SIDES, - useSelect, - values -}) { - const spacingSizes = useSpacingSizes(); - const inputValues = values || DEFAULT_VALUES; - const hasOneSide = sides?.length === 1; - const hasOnlyAxialSides = sides?.includes('horizontal') && sides?.includes('vertical') && sides?.length === 2; - const [view, setView] = (0,external_wp_element_namespaceObject.useState)(getInitialView(inputValues, sides)); - const handleOnChange = nextValue => { - const newValues = { - ...values, - ...nextValue - }; - onChange(newValues); - }; - const inputControlProps = { - ...inputProps, - minimumCustomValue, - onChange: handleOnChange, - onMouseOut, - onMouseOver, - sides, - spacingSizes, - type: labelProp, - useSelect, - values: inputValues - }; - const renderControls = () => { - if (view === VIEWS.axial) { - return (0,external_wp_element_namespaceObject.createElement)(AxialInputControls, { - ...inputControlProps - }); - } - if (view === VIEWS.custom) { - return (0,external_wp_element_namespaceObject.createElement)(SeparatedInputControls, { - ...inputControlProps - }); - } - return (0,external_wp_element_namespaceObject.createElement)(SingleInputControl, { - side: view, - ...inputControlProps, - showSideInLabel: showSideInLabel - }); - }; - const sideLabel = ALL_SIDES.includes(view) && showSideInLabel ? LABELS[view] : ''; - const label = (0,external_wp_i18n_namespaceObject.sprintf)( - // translators: 2. Type of spacing being modified (Padding, margin, etc). 1: The side of the block being modified (top, bottom, left etc.). - (0,external_wp_i18n_namespaceObject.__)('%1$s %2$s'), labelProp, sideLabel).trim(); - const dropdownLabelText = (0,external_wp_i18n_namespaceObject.sprintf)( - // translators: %s: The current spacing property e.g. "Padding", "Margin". - (0,external_wp_i18n_namespaceObject._x)('%s options', 'Button label to reveal side configuration options'), labelProp); - return (0,external_wp_element_namespaceObject.createElement)("fieldset", { - className: "spacing-sizes-control" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - className: "spacing-sizes-control__header" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { - as: "legend", - className: "spacing-sizes-control__label" - }, label), !hasOneSide && !hasOnlyAxialSides && (0,external_wp_element_namespaceObject.createElement)(SidesDropdown, { - label: dropdownLabelText, - onChange: setView, - sides: sides, - value: view - })), renderControls()); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/height-control/index.js - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - -const RANGE_CONTROL_CUSTOM_SETTINGS = { - px: { - max: 1000, - step: 1 - }, - '%': { - max: 100, - step: 1 - }, - vw: { - max: 100, - step: 1 - }, - vh: { - max: 100, - step: 1 - }, - em: { - max: 50, - step: 0.1 - }, - rem: { - max: 50, - step: 0.1 - } -}; - -/** - * HeightControl renders a linked unit control and range control for adjusting the height of a block. - * - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/height-control/README.md - * - * @param {Object} props - * @param {?string} props.label A label for the control. - * @param {( value: string ) => void } props.onChange Called when the height changes. - * @param {string} props.value The current height value. - * - * @return {WPComponent} The component to be rendered. - */ -function HeightControl({ - label = (0,external_wp_i18n_namespaceObject.__)('Height'), - onChange, - value -}) { - var _RANGE_CONTROL_CUSTOM, _RANGE_CONTROL_CUSTOM2; - const customRangeValue = parseFloat(value); - const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ - availableUnits: use_setting_useSetting('spacing.units') || ['%', 'px', 'em', 'rem', 'vh', 'vw'] - }); - const selectedUnit = (0,external_wp_element_namespaceObject.useMemo)(() => (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(value), [value])[1] || units[0]?.value || 'px'; - const handleSliderChange = next => { - onChange([next, selectedUnit].join('')); - }; - const handleUnitChange = newUnit => { - // Attempt to smooth over differences between currentUnit and newUnit. - // This should slightly improve the experience of switching between unit types. - const [currentValue, currentUnit] = (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(value); - if (['em', 'rem'].includes(newUnit) && currentUnit === 'px') { - // Convert pixel value to an approximate of the new unit, assuming a root size of 16px. - onChange((currentValue / 16).toFixed(2) + newUnit); - } else if (['em', 'rem'].includes(currentUnit) && newUnit === 'px') { - // Convert to pixel value assuming a root size of 16px. - onChange(Math.round(currentValue * 16) + newUnit); - } else if (['vh', 'vw', '%'].includes(newUnit) && currentValue > 100) { - // When converting to `vh`, `vw`, or `%` units, cap the new value at 100. - onChange(100 + newUnit); - } - }; - return (0,external_wp_element_namespaceObject.createElement)("fieldset", { - className: "block-editor-height-control" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { - as: "legend" - }, label), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Flex, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, { - isBlock: true - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { - value: value, - units: units, - onChange: onChange, - onUnitChange: handleUnitChange, - min: 0, - size: '__unstable-large' - })), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, { - isBlock: true - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, { - marginX: 2, - marginBottom: 0 - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.RangeControl, { - value: customRangeValue, - min: 0, - max: (_RANGE_CONTROL_CUSTOM = RANGE_CONTROL_CUSTOM_SETTINGS[selectedUnit]?.max) !== null && _RANGE_CONTROL_CUSTOM !== void 0 ? _RANGE_CONTROL_CUSTOM : 100, - step: (_RANGE_CONTROL_CUSTOM2 = RANGE_CONTROL_CUSTOM_SETTINGS[selectedUnit]?.step) !== null && _RANGE_CONTROL_CUSTOM2 !== void 0 ? _RANGE_CONTROL_CUSTOM2 : 0.1, - withInputField: false, - onChange: handleSliderChange, - __nextHasNoMarginBottom: true - }))))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/child-layout-control/index.js - -/** - * WordPress dependencies - */ - - - -function helpText(selfStretch, parentLayout) { - const { - orientation = 'horizontal' - } = parentLayout; - if (selfStretch === 'fill') { - return (0,external_wp_i18n_namespaceObject.__)('Stretch to fill available space.'); - } - if (selfStretch === 'fixed' && orientation === 'horizontal') { - return (0,external_wp_i18n_namespaceObject.__)('Specify a fixed width.'); - } else if (selfStretch === 'fixed') { - return (0,external_wp_i18n_namespaceObject.__)('Specify a fixed height.'); - } - return (0,external_wp_i18n_namespaceObject.__)('Fit contents.'); -} - -/** - * Form to edit the child layout value. - * - * @param {Object} props Props. - * @param {Object} props.value The child layout value. - * @param {Function} props.onChange Function to update the child layout value. - * @param {Object} props.parentLayout The parent layout value. - * - * @return {WPElement} child layout edit element. - */ -function ChildLayoutControl({ - value: childLayout = {}, - onChange, - parentLayout -}) { - const { - selfStretch, - flexSize - } = childLayout; - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (selfStretch === 'fixed' && !flexSize) { - onChange({ - ...childLayout, - selfStretch: 'fit' - }); - } - }, []); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, { - __nextHasNoMarginBottom: true, - size: '__unstable-large', - label: childLayoutOrientation(parentLayout), - value: selfStretch || 'fit', - help: helpText(selfStretch, parentLayout), - onChange: value => { - const newFlexSize = value !== 'fixed' ? null : flexSize; - onChange({ - ...childLayout, - selfStretch: value, - flexSize: newFlexSize - }); - }, - isBlock: true - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, { - key: 'fit', - value: 'fit', - label: (0,external_wp_i18n_namespaceObject.__)('Fit') - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, { - key: 'fill', - value: 'fill', - label: (0,external_wp_i18n_namespaceObject.__)('Fill') - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, { - key: 'fixed', - value: 'fixed', - label: (0,external_wp_i18n_namespaceObject.__)('Fixed') - })), selfStretch === 'fixed' && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { - size: '__unstable-large', - onChange: value => { - onChange({ - ...childLayout, - flexSize: value - }); - }, - value: flexSize - })); -} -function childLayoutOrientation(parentLayout) { - const { - orientation = 'horizontal' - } = parentLayout; - return orientation === 'horizontal' ? (0,external_wp_i18n_namespaceObject.__)('Width') : (0,external_wp_i18n_namespaceObject.__)('Height'); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/dimensions-panel.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - - - -const AXIAL_SIDES = ['horizontal', 'vertical']; -function useHasDimensionsPanel(settings) { - const hasContentSize = useHasContentSize(settings); - const hasWideSize = useHasWideSize(settings); - const hasPadding = useHasPadding(settings); - const hasMargin = useHasMargin(settings); - const hasGap = useHasGap(settings); - const hasMinHeight = useHasMinHeight(settings); - const hasChildLayout = useHasChildLayout(settings); - return external_wp_element_namespaceObject.Platform.OS === 'web' && (hasContentSize || hasWideSize || hasPadding || hasMargin || hasGap || hasMinHeight || hasChildLayout); -} -function useHasContentSize(settings) { - return settings?.layout?.contentSize; -} -function useHasWideSize(settings) { - return settings?.layout?.wideSize; -} -function useHasPadding(settings) { - return settings?.spacing?.padding; -} -function useHasMargin(settings) { - return settings?.spacing?.margin; -} -function useHasGap(settings) { - return settings?.spacing?.blockGap; -} -function useHasMinHeight(settings) { - return settings?.dimensions?.minHeight; -} -function useHasChildLayout(settings) { - var _settings$parentLayou; - const { - type: parentLayoutType = 'default', - default: { - type: defaultParentLayoutType = 'default' - } = {}, - allowSizingOnChildren = false - } = (_settings$parentLayou = settings?.parentLayout) !== null && _settings$parentLayou !== void 0 ? _settings$parentLayou : {}; - const support = (defaultParentLayoutType === 'flex' || parentLayoutType === 'flex') && allowSizingOnChildren; - return !!settings?.layout && support; -} -function useHasSpacingPresets(settings) { - var _ref, _ref2; - const { - custom, - theme, - default: defaultPresets - } = settings?.spacing?.spacingSizes || {}; - const presets = (_ref = (_ref2 = custom !== null && custom !== void 0 ? custom : theme) !== null && _ref2 !== void 0 ? _ref2 : defaultPresets) !== null && _ref !== void 0 ? _ref : []; - return presets.length > 0; -} -function filterValuesBySides(values, sides) { - // If no custom side configuration, all sides are opted into by default. - // Without any values, we have nothing to filter either. - if (!sides || !values) { - return values; - } - - // Only include sides opted into within filtered values. - const filteredValues = {}; - sides.forEach(side => { - if (side === 'vertical') { - filteredValues.top = values.top; - filteredValues.bottom = values.bottom; - } - if (side === 'horizontal') { - filteredValues.left = values.left; - filteredValues.right = values.right; - } - filteredValues[side] = values?.[side]; - }); - return filteredValues; -} -function splitStyleValue(value) { - // Check for shorthand value (a string value). - if (value && typeof value === 'string') { - // Convert to value for individual sides for BoxControl. - return { - top: value, - right: value, - bottom: value, - left: value - }; - } - return value; -} -function splitGapValue(value) { - // Check for shorthand value (a string value). - if (value && typeof value === 'string') { - // If the value is a string, treat it as a single side (top) for the spacing controls. - return { - top: value - }; - } - if (value) { - return { - ...value, - right: value?.left, - bottom: value?.top - }; - } - return value; -} -function DimensionsToolsPanel({ - resetAllFilter, - onChange, - value, - panelId, - children -}) { - const resetAll = () => { - const updatedValue = resetAllFilter(value); - onChange(updatedValue); - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { - label: (0,external_wp_i18n_namespaceObject.__)('Dimensions'), - resetAll: resetAll, - panelId: panelId - }, children); -} -const dimensions_panel_DEFAULT_CONTROLS = { - contentSize: true, - wideSize: true, - padding: true, - margin: true, - blockGap: true, - minHeight: true, - childLayout: true -}; -function DimensionsPanel({ - as: Wrapper = DimensionsToolsPanel, - value, - onChange, - inheritedValue = value, - settings, - panelId, - defaultControls = dimensions_panel_DEFAULT_CONTROLS, - onVisualize = () => {}, - // Special case because the layout controls are not part of the dimensions panel - // in global styles but not in block inspector. - includeLayoutControls = false -}) { - var _settings$parentLayou2, _defaultControls$cont, _defaultControls$wide, _defaultControls$padd, _defaultControls$marg, _defaultControls$bloc, _defaultControls$minH, _defaultControls$chil; - const { - dimensions, - spacing - } = settings; - const decodeValue = rawValue => { - if (rawValue && typeof rawValue === 'object') { - return Object.keys(rawValue).reduce((acc, key) => { - acc[key] = getValueFromVariable({ - settings: { - dimensions, - spacing - } - }, '', rawValue[key]); - return acc; - }, {}); - } - return getValueFromVariable({ - settings: { - dimensions, - spacing - } - }, '', rawValue); - }; - const showSpacingPresetsControl = useHasSpacingPresets(settings); - const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ - availableUnits: settings?.spacing?.units || ['%', 'px', 'em', 'rem', 'vw'] - }); - - // Content Size - const showContentSizeControl = useHasContentSize(settings) && includeLayoutControls; - const contentSizeValue = decodeValue(inheritedValue?.layout?.contentSize); - const setContentSizeValue = newValue => { - onChange(setImmutably(value, ['layout', 'contentSize'], newValue || undefined)); - }; - const hasUserSetContentSizeValue = () => !!value?.layout?.contentSize; - const resetContentSizeValue = () => setContentSizeValue(undefined); - - // Wide Size - const showWideSizeControl = useHasWideSize(settings) && includeLayoutControls; - const wideSizeValue = decodeValue(inheritedValue?.layout?.wideSize); - const setWideSizeValue = newValue => { - onChange(setImmutably(value, ['layout', 'wideSize'], newValue || undefined)); - }; - const hasUserSetWideSizeValue = () => !!value?.layout?.wideSize; - const resetWideSizeValue = () => setWideSizeValue(undefined); - - // Padding - const showPaddingControl = useHasPadding(settings); - const rawPadding = decodeValue(inheritedValue?.spacing?.padding); - const paddingValues = splitStyleValue(rawPadding); - const paddingSides = Array.isArray(settings?.spacing?.padding) ? settings?.spacing?.padding : settings?.spacing?.padding?.sides; - const isAxialPadding = paddingSides && paddingSides.some(side => AXIAL_SIDES.includes(side)); - const setPaddingValues = newPaddingValues => { - const padding = filterValuesBySides(newPaddingValues, paddingSides); - onChange(setImmutably(value, ['spacing', 'padding'], padding)); - }; - const hasPaddingValue = () => !!value?.spacing?.padding && Object.keys(value?.spacing?.padding).length; - const resetPaddingValue = () => setPaddingValues(undefined); - const onMouseOverPadding = () => onVisualize('padding'); - - // Margin - const showMarginControl = useHasMargin(settings); - const rawMargin = decodeValue(inheritedValue?.spacing?.margin); - const marginValues = splitStyleValue(rawMargin); - const marginSides = Array.isArray(settings?.spacing?.margin) ? settings?.spacing?.margin : settings?.spacing?.margin?.sides; - const isAxialMargin = marginSides && marginSides.some(side => AXIAL_SIDES.includes(side)); - const setMarginValues = newMarginValues => { - const margin = filterValuesBySides(newMarginValues, marginSides); - onChange(setImmutably(value, ['spacing', 'margin'], margin)); - }; - const hasMarginValue = () => !!value?.spacing?.margin && Object.keys(value?.spacing?.margin).length; - const resetMarginValue = () => setMarginValues(undefined); - const onMouseOverMargin = () => onVisualize('margin'); - - // Block Gap - const showGapControl = useHasGap(settings); - const gapValue = decodeValue(inheritedValue?.spacing?.blockGap); - const gapValues = splitGapValue(gapValue); - const gapSides = Array.isArray(settings?.spacing?.blockGap) ? settings?.spacing?.blockGap : settings?.spacing?.blockGap?.sides; - const isAxialGap = gapSides && gapSides.some(side => AXIAL_SIDES.includes(side)); - const setGapValue = newGapValue => { - onChange(setImmutably(value, ['spacing', 'blockGap'], newGapValue)); - }; - const setGapValues = nextBoxGapValue => { - if (!nextBoxGapValue) { - setGapValue(null); - } - // If axial gap is not enabled, treat the 'top' value as the shorthand gap value. - if (!isAxialGap && nextBoxGapValue?.hasOwnProperty('top')) { - setGapValue(nextBoxGapValue.top); - } else { - setGapValue({ - top: nextBoxGapValue?.top, - left: nextBoxGapValue?.left - }); - } - }; - const resetGapValue = () => setGapValue(undefined); - const hasGapValue = () => !!value?.spacing?.blockGap; - - // Min Height - const showMinHeightControl = useHasMinHeight(settings); - const minHeightValue = decodeValue(inheritedValue?.dimensions?.minHeight); - const setMinHeightValue = newValue => { - onChange(setImmutably(value, ['dimensions', 'minHeight'], newValue)); - }; - const resetMinHeightValue = () => { - setMinHeightValue(undefined); - }; - const hasMinHeightValue = () => !!value?.dimensions?.minHeight; - - // Child Layout - const showChildLayoutControl = useHasChildLayout(settings); - const childLayout = inheritedValue?.layout; - const { - orientation = 'horizontal' - } = (_settings$parentLayou2 = settings?.parentLayout) !== null && _settings$parentLayou2 !== void 0 ? _settings$parentLayou2 : {}; - const childLayoutOrientationLabel = orientation === 'horizontal' ? (0,external_wp_i18n_namespaceObject.__)('Width') : (0,external_wp_i18n_namespaceObject.__)('Height'); - const setChildLayout = newChildLayout => { - onChange({ - ...value, - layout: { - ...value?.layout, - ...newChildLayout - } - }); - }; - const resetChildLayoutValue = () => { - setChildLayout({ - selfStretch: undefined, - flexSize: undefined - }); - }; - const hasChildLayoutValue = () => !!value?.layout; - const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { - return { - ...previousValue, - layout: utils_cleanEmptyObject({ - ...previousValue?.layout, - contentSize: undefined, - wideSize: undefined, - selfStretch: undefined, - flexSize: undefined - }), - spacing: { - ...previousValue?.spacing, - padding: undefined, - margin: undefined, - blockGap: undefined - }, - dimensions: { - ...previousValue?.dimensions, - minHeight: undefined - } - }; - }, []); - const onMouseLeaveControls = () => onVisualize(false); - return (0,external_wp_element_namespaceObject.createElement)(Wrapper, { - resetAllFilter: resetAllFilter, - value: value, - onChange: onChange, - panelId: panelId - }, (showContentSizeControl || showWideSizeControl) && (0,external_wp_element_namespaceObject.createElement)("span", { - className: "span-columns" - }, (0,external_wp_i18n_namespaceObject.__)('Set the width of the main content area.')), showContentSizeControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - className: "single-column", - label: (0,external_wp_i18n_namespaceObject.__)('Content size'), - hasValue: hasUserSetContentSizeValue, - onDeselect: resetContentSizeValue, - isShownByDefault: (_defaultControls$cont = defaultControls.contentSize) !== null && _defaultControls$cont !== void 0 ? _defaultControls$cont : dimensions_panel_DEFAULT_CONTROLS.contentSize, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - alignment: "flex-end", - justify: "flex-start" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { - label: (0,external_wp_i18n_namespaceObject.__)('Content'), - labelPosition: "top", - __unstableInputWidth: "80px", - value: contentSizeValue || '', - onChange: nextContentSize => { - setContentSizeValue(nextContentSize); - }, - units: units - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalView, null, (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: position_center - })))), showWideSizeControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - className: "single-column", - label: (0,external_wp_i18n_namespaceObject.__)('Wide size'), - hasValue: hasUserSetWideSizeValue, - onDeselect: resetWideSizeValue, - isShownByDefault: (_defaultControls$wide = defaultControls.wideSize) !== null && _defaultControls$wide !== void 0 ? _defaultControls$wide : dimensions_panel_DEFAULT_CONTROLS.wideSize, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - alignment: "flex-end", - justify: "flex-start" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { - label: (0,external_wp_i18n_namespaceObject.__)('Wide'), - labelPosition: "top", - __unstableInputWidth: "80px", - value: wideSizeValue || '', - onChange: nextWideSize => { - setWideSizeValue(nextWideSize); - }, - units: units - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalView, null, (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: stretch_wide - })))), showPaddingControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - hasValue: hasPaddingValue, - label: (0,external_wp_i18n_namespaceObject.__)('Padding'), - onDeselect: resetPaddingValue, - isShownByDefault: (_defaultControls$padd = defaultControls.padding) !== null && _defaultControls$padd !== void 0 ? _defaultControls$padd : dimensions_panel_DEFAULT_CONTROLS.padding, - className: classnames_default()({ - 'tools-panel-item-spacing': showSpacingPresetsControl - }), - panelId: panelId - }, !showSpacingPresetsControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalBoxControl, { - values: paddingValues, - onChange: setPaddingValues, - label: (0,external_wp_i18n_namespaceObject.__)('Padding'), - sides: paddingSides, - units: units, - allowReset: false, - splitOnAxis: isAxialPadding, - onMouseOver: onMouseOverPadding, - onMouseOut: onMouseLeaveControls - }), showSpacingPresetsControl && (0,external_wp_element_namespaceObject.createElement)(SpacingSizesControl, { - values: paddingValues, - onChange: setPaddingValues, - label: (0,external_wp_i18n_namespaceObject.__)('Padding'), - sides: paddingSides, - units: units, - allowReset: false, - onMouseOver: onMouseOverPadding, - onMouseOut: onMouseLeaveControls - })), showMarginControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - hasValue: hasMarginValue, - label: (0,external_wp_i18n_namespaceObject.__)('Margin'), - onDeselect: resetMarginValue, - isShownByDefault: (_defaultControls$marg = defaultControls.margin) !== null && _defaultControls$marg !== void 0 ? _defaultControls$marg : dimensions_panel_DEFAULT_CONTROLS.margin, - className: classnames_default()({ - 'tools-panel-item-spacing': showSpacingPresetsControl - }), - panelId: panelId - }, !showSpacingPresetsControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalBoxControl, { - values: marginValues, - onChange: setMarginValues, - label: (0,external_wp_i18n_namespaceObject.__)('Margin'), - sides: marginSides, - units: units, - allowReset: false, - splitOnAxis: isAxialMargin, - onMouseOver: onMouseOverMargin, - onMouseOut: onMouseLeaveControls - }), showSpacingPresetsControl && (0,external_wp_element_namespaceObject.createElement)(SpacingSizesControl, { - values: marginValues, - onChange: setMarginValues, - label: (0,external_wp_i18n_namespaceObject.__)('Margin'), - sides: marginSides, - units: units, - allowReset: false, - onMouseOver: onMouseOverMargin, - onMouseOut: onMouseLeaveControls - })), showGapControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - hasValue: hasGapValue, - label: (0,external_wp_i18n_namespaceObject.__)('Block spacing'), - onDeselect: resetGapValue, - isShownByDefault: (_defaultControls$bloc = defaultControls.blockGap) !== null && _defaultControls$bloc !== void 0 ? _defaultControls$bloc : dimensions_panel_DEFAULT_CONTROLS.blockGap, - className: classnames_default()({ - 'tools-panel-item-spacing': showSpacingPresetsControl - }), - panelId: panelId - }, !showSpacingPresetsControl && (isAxialGap ? (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalBoxControl, { - label: (0,external_wp_i18n_namespaceObject.__)('Block spacing'), - min: 0, - onChange: setGapValues, - units: units, - sides: gapSides, - values: gapValues, - allowReset: false, - splitOnAxis: isAxialGap - }) : (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { - label: (0,external_wp_i18n_namespaceObject.__)('Block spacing'), - __unstableInputWidth: "80px", - min: 0, - onChange: setGapValue, - units: units, - value: gapValue - })), showSpacingPresetsControl && (0,external_wp_element_namespaceObject.createElement)(SpacingSizesControl, { - label: (0,external_wp_i18n_namespaceObject.__)('Block spacing'), - min: 0, - onChange: setGapValues, - showSideInLabel: false, - sides: isAxialGap ? gapSides : ['top'] // Use 'top' as the shorthand property in non-axial configurations. - , - values: gapValues, - allowReset: false - })), showMinHeightControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - hasValue: hasMinHeightValue, - label: (0,external_wp_i18n_namespaceObject.__)('Min. height'), - onDeselect: resetMinHeightValue, - isShownByDefault: (_defaultControls$minH = defaultControls.minHeight) !== null && _defaultControls$minH !== void 0 ? _defaultControls$minH : dimensions_panel_DEFAULT_CONTROLS.minHeight, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(HeightControl, { - label: (0,external_wp_i18n_namespaceObject.__)('Min. height'), - value: minHeightValue, - onChange: setMinHeightValue - })), showChildLayoutControl && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { - as: external_wp_components_namespaceObject.__experimentalToolsPanelItem, - spacing: 2, - hasValue: hasChildLayoutValue, - label: childLayoutOrientationLabel, - onDeselect: resetChildLayoutValue, - isShownByDefault: (_defaultControls$chil = defaultControls.childLayout) !== null && _defaultControls$chil !== void 0 ? _defaultControls$chil : dimensions_panel_DEFAULT_CONTROLS.childLayout, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(ChildLayoutControl, { - value: childLayout, - onChange: setChildLayout, - parentLayout: settings?.parentLayout - }))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/margin.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -function getComputedCSS(element, property) { - return element.ownerDocument.defaultView.getComputedStyle(element).getPropertyValue(property); -} -function MarginVisualizer({ - clientId, - attributes, - forceShow -}) { - const blockElement = useBlockElement(clientId); - const [style, setStyle] = (0,external_wp_element_namespaceObject.useState)(); - const margin = attributes?.style?.spacing?.margin; - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (!blockElement || null === blockElement.ownerDocument.defaultView) { - return; - } - const top = getComputedCSS(blockElement, 'margin-top'); - const right = getComputedCSS(blockElement, 'margin-right'); - const bottom = getComputedCSS(blockElement, 'margin-bottom'); - const left = getComputedCSS(blockElement, 'margin-left'); - setStyle({ - borderTopWidth: top, - borderRightWidth: right, - borderBottomWidth: bottom, - borderLeftWidth: left, - top: top ? `-${top}` : 0, - right: right ? `-${right}` : 0, - bottom: bottom ? `-${bottom}` : 0, - left: left ? `-${left}` : 0 - }); - }, [blockElement, margin]); - const [isActive, setIsActive] = (0,external_wp_element_namespaceObject.useState)(false); - const valueRef = (0,external_wp_element_namespaceObject.useRef)(margin); - const timeoutRef = (0,external_wp_element_namespaceObject.useRef)(); - const clearTimer = () => { - if (timeoutRef.current) { - window.clearTimeout(timeoutRef.current); - } - }; - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (!external_wp_isShallowEqual_default()(margin, valueRef.current) && !forceShow) { - setIsActive(true); - valueRef.current = margin; - timeoutRef.current = setTimeout(() => { - setIsActive(false); - }, 400); - } - return () => { - setIsActive(false); - clearTimer(); - }; - }, [margin, forceShow]); - if (!isActive && !forceShow) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(block_popover, { - clientId: clientId, - __unstableCoverTarget: true, - __unstableRefreshSize: margin, - __unstablePopoverSlot: "block-toolbar", - shift: false - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor__padding-visualizer", - style: style - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/padding.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -function padding_getComputedCSS(element, property) { - return element.ownerDocument.defaultView.getComputedStyle(element).getPropertyValue(property); -} -function PaddingVisualizer({ - clientId, - attributes, - forceShow -}) { - const blockElement = useBlockElement(clientId); - const [style, setStyle] = (0,external_wp_element_namespaceObject.useState)(); - const padding = attributes?.style?.spacing?.padding; - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (!blockElement || null === blockElement.ownerDocument.defaultView) { - return; - } - setStyle({ - borderTopWidth: padding_getComputedCSS(blockElement, 'padding-top'), - borderRightWidth: padding_getComputedCSS(blockElement, 'padding-right'), - borderBottomWidth: padding_getComputedCSS(blockElement, 'padding-bottom'), - borderLeftWidth: padding_getComputedCSS(blockElement, 'padding-left') - }); - }, [blockElement, padding]); - const [isActive, setIsActive] = (0,external_wp_element_namespaceObject.useState)(false); - const valueRef = (0,external_wp_element_namespaceObject.useRef)(padding); - const timeoutRef = (0,external_wp_element_namespaceObject.useRef)(); - const clearTimer = () => { - if (timeoutRef.current) { - window.clearTimeout(timeoutRef.current); - } - }; - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (!external_wp_isShallowEqual_default()(padding, valueRef.current) && !forceShow) { - setIsActive(true); - valueRef.current = padding; - timeoutRef.current = setTimeout(() => { - setIsActive(false); - }, 400); - } - return () => { - setIsActive(false); - clearTimer(); - }; - }, [padding, forceShow]); - if (!isActive && !forceShow) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(block_popover, { - clientId: clientId, - __unstableCoverTarget: true, - __unstableRefreshSize: padding, - __unstablePopoverSlot: "block-toolbar", - shift: false - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor__padding-visualizer", - style: style - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/dimensions.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - - - - -const DIMENSIONS_SUPPORT_KEY = 'dimensions'; -const SPACING_SUPPORT_KEY = 'spacing'; -const dimensions_ALL_SIDES = (/* unused pure expression or super */ null && (['top', 'right', 'bottom', 'left'])); -const dimensions_AXIAL_SIDES = (/* unused pure expression or super */ null && (['vertical', 'horizontal'])); -function useVisualizer() { - const [property, setProperty] = (0,external_wp_element_namespaceObject.useState)(false); - const { - hideBlockInterface, - showBlockInterface - } = unlock((0,external_wp_data_namespaceObject.useDispatch)(store)); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (!property) { - showBlockInterface(); - } else { - hideBlockInterface(); - } - }, [property, showBlockInterface, hideBlockInterface]); - return [property, setProperty]; -} -function DimensionsInspectorControl({ - children, - resetAllFilter -}) { - const attributesResetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(attributes => { - const existingStyle = attributes.style; - const updatedStyle = resetAllFilter(existingStyle); - return { - ...attributes, - style: updatedStyle - }; - }, [resetAllFilter]); - return (0,external_wp_element_namespaceObject.createElement)(inspector_controls, { - group: "dimensions", - resetAllFilter: attributesResetAllFilter - }, children); -} -function dimensions_DimensionsPanel(props) { - const { - clientId, - name, - attributes, - setAttributes, - __unstableParentLayout - } = props; - const settings = useBlockSettings(name, __unstableParentLayout); - const isEnabled = useHasDimensionsPanel(settings); - const value = attributes.style; - const [visualizedProperty, setVisualizedProperty] = useVisualizer(); - const onChange = newStyle => { - setAttributes({ - style: utils_cleanEmptyObject(newStyle) - }); - }; - if (!isEnabled) { - return null; - } - const defaultDimensionsControls = (0,external_wp_blocks_namespaceObject.getBlockSupport)(props.name, [DIMENSIONS_SUPPORT_KEY, '__experimentalDefaultControls']); - const defaultSpacingControls = (0,external_wp_blocks_namespaceObject.getBlockSupport)(props.name, [SPACING_SUPPORT_KEY, '__experimentalDefaultControls']); - const defaultControls = { - ...defaultDimensionsControls, - ...defaultSpacingControls - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(DimensionsPanel, { - as: DimensionsInspectorControl, - panelId: clientId, - settings: settings, - value: value, - onChange: onChange, - defaultControls: defaultControls, - onVisualize: setVisualizedProperty - }), !!settings?.spacing?.padding && (0,external_wp_element_namespaceObject.createElement)(PaddingVisualizer, { - forceShow: visualizedProperty === 'padding', - ...props - }), !!settings?.spacing?.margin && (0,external_wp_element_namespaceObject.createElement)(MarginVisualizer, { - forceShow: visualizedProperty === 'margin', - ...props - })); -} - -/** - * @deprecated - */ -function useCustomSides() { - external_wp_deprecated_default()('wp.blockEditor.__experimentalUseCustomSides', { - since: '6.3', - version: '6.4' - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/style.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - - - - - - -const styleSupportKeys = [...TYPOGRAPHY_SUPPORT_KEYS, BORDER_SUPPORT_KEY, COLOR_SUPPORT_KEY, DIMENSIONS_SUPPORT_KEY, BACKGROUND_SUPPORT_KEY, SPACING_SUPPORT_KEY]; -const hasStyleSupport = nameOrType => styleSupportKeys.some(key => (0,external_wp_blocks_namespaceObject.hasBlockSupport)(nameOrType, key)); - -/** - * Returns the inline styles to add depending on the style object - * - * @param {Object} styles Styles configuration. - * - * @return {Object} Flattened CSS variables declaration. - */ -function getInlineStyles(styles = {}) { - const output = {}; - // The goal is to move everything to server side generated engine styles - // This is temporary as we absorb more and more styles into the engine. - (0,external_wp_styleEngine_namespaceObject.getCSSRules)(styles).forEach(rule => { - output[rule.key] = rule.value; - }); - return output; -} - -/** - * Filters registered block settings, extending attributes to include `style` attribute. - * - * @param {Object} settings Original block settings. - * - * @return {Object} Filtered block settings. - */ -function style_addAttribute(settings) { - if (!hasStyleSupport(settings)) { - return settings; - } - - // Allow blocks to specify their own attribute definition with default values if needed. - if (!settings.attributes.style) { - Object.assign(settings.attributes, { - style: { - type: 'object' - } - }); - } - return settings; -} - -/** - * A dictionary of paths to flag skipping block support serialization as the key, - * with values providing the style paths to be omitted from serialization. - * - * @constant - * @type {Record} - */ -const skipSerializationPathsEdit = { - [`${BORDER_SUPPORT_KEY}.__experimentalSkipSerialization`]: ['border'], - [`${COLOR_SUPPORT_KEY}.__experimentalSkipSerialization`]: [COLOR_SUPPORT_KEY], - [`${TYPOGRAPHY_SUPPORT_KEY}.__experimentalSkipSerialization`]: [TYPOGRAPHY_SUPPORT_KEY], - [`${DIMENSIONS_SUPPORT_KEY}.__experimentalSkipSerialization`]: [DIMENSIONS_SUPPORT_KEY], - [`${SPACING_SUPPORT_KEY}.__experimentalSkipSerialization`]: [SPACING_SUPPORT_KEY] -}; - -/** - * A dictionary of paths to flag skipping block support serialization as the key, - * with values providing the style paths to be omitted from serialization. - * - * Extends the Edit skip paths to enable skipping additional paths in just - * the Save component. This allows a block support to be serialized within the - * editor, while using an alternate approach, such as server-side rendering, when - * the support is saved. - * - * @constant - * @type {Record} - */ -const skipSerializationPathsSave = { - ...skipSerializationPathsEdit, - [`${BACKGROUND_SUPPORT_KEY}`]: [BACKGROUND_SUPPORT_KEY] // Skip serialization of background support in save mode. -}; - -const skipSerializationPathsSaveChecks = { - [`${BACKGROUND_SUPPORT_KEY}`]: true -}; - -/** - * A dictionary used to normalize feature names between support flags, style - * object properties and __experimentSkipSerialization configuration arrays. - * - * This allows not having to provide a migration for a support flag and possible - * backwards compatibility bridges, while still achieving consistency between - * the support flag and the skip serialization array. - * - * @constant - * @type {Record} - */ -const renamedFeatures = { - gradients: 'gradient' -}; - -/** - * A utility function used to remove one or more paths from a style object. - * Works in a way similar to Lodash's `omit()`. See unit tests and examples below. - * - * It supports a single string path: - * - * ``` - * omitStyle( { color: 'red' }, 'color' ); // {} - * ``` - * - * or an array of paths: - * - * ``` - * omitStyle( { color: 'red', background: '#fff' }, [ 'color', 'background' ] ); // {} - * ``` - * - * It also allows you to specify paths at multiple levels in a string. - * - * ``` - * omitStyle( { typography: { textDecoration: 'underline' } }, 'typography.textDecoration' ); // {} - * ``` - * - * You can remove multiple paths at the same time: - * - * ``` - * omitStyle( - * { - * typography: { - * textDecoration: 'underline', - * textTransform: 'uppercase', - * } - * }, - * [ - * 'typography.textDecoration', - * 'typography.textTransform', - * ] - * ); - * // {} - * ``` - * - * You can also specify nested paths as arrays: - * - * ``` - * omitStyle( - * { - * typography: { - * textDecoration: 'underline', - * textTransform: 'uppercase', - * } - * }, - * [ - * [ 'typography', 'textDecoration' ], - * [ 'typography', 'textTransform' ], - * ] - * ); - * // {} - * ``` - * - * With regards to nesting of styles, infinite depth is supported: - * - * ``` - * omitStyle( - * { - * border: { - * radius: { - * topLeft: '10px', - * topRight: '0.5rem', - * } - * } - * }, - * [ - * [ 'border', 'radius', 'topRight' ], - * ] - * ); - * // { border: { radius: { topLeft: '10px' } } } - * ``` - * - * The third argument, `preserveReference`, defines how to treat the input style object. - * It is mostly necessary to properly handle mutation when recursively handling the style object. - * Defaulting to `false`, this will always create a new object, avoiding to mutate `style`. - * However, when recursing, we change that value to `true` in order to work with a single copy - * of the original style object. - * - * @see https://lodash.com/docs/4.17.15#omit - * - * @param {Object} style Styles object. - * @param {Array|string} paths Paths to remove. - * @param {boolean} preserveReference True to mutate the `style` object, false otherwise. - * @return {Object} Styles object with the specified paths removed. - */ -function omitStyle(style, paths, preserveReference = false) { - if (!style) { - return style; - } - let newStyle = style; - if (!preserveReference) { - newStyle = JSON.parse(JSON.stringify(style)); - } - if (!Array.isArray(paths)) { - paths = [paths]; - } - paths.forEach(path => { - if (!Array.isArray(path)) { - path = path.split('.'); - } - if (path.length > 1) { - const [firstSubpath, ...restPath] = path; - omitStyle(newStyle[firstSubpath], [restPath], true); - } else if (path.length === 1) { - delete newStyle[path[0]]; - } - }); - return newStyle; -} - -/** - * Override props assigned to save component to inject the CSS variables definition. - * - * @param {Object} props Additional props applied to save element. - * @param {Object} blockType Block type. - * @param {Object} attributes Block attributes. - * @param {?Record} skipPaths An object of keys and paths to skip serialization. - * - * @return {Object} Filtered props applied to save element. - */ -function style_addSaveProps(props, blockType, attributes, skipPaths = skipSerializationPathsSave) { - if (!hasStyleSupport(blockType)) { - return props; - } - let { - style - } = attributes; - Object.entries(skipPaths).forEach(([indicator, path]) => { - const skipSerialization = skipSerializationPathsSaveChecks[indicator] || (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, indicator); - if (skipSerialization === true) { - style = omitStyle(style, path); - } - if (Array.isArray(skipSerialization)) { - skipSerialization.forEach(featureName => { - const feature = renamedFeatures[featureName] || featureName; - style = omitStyle(style, [[...path, feature]]); - }); - } - }); - props.style = { - ...getInlineStyles(style), - ...props.style - }; - return props; -} - -/** - * Filters registered block settings to extend the block edit wrapper - * to apply the desired styles and classnames properly. - * - * @param {Object} settings Original block settings. - * - * @return {Object}.Filtered block settings. - */ -function style_addEditProps(settings) { - if (!hasStyleSupport(settings)) { - return settings; - } - const existingGetEditWrapperProps = settings.getEditWrapperProps; - settings.getEditWrapperProps = attributes => { - let props = {}; - if (existingGetEditWrapperProps) { - props = existingGetEditWrapperProps(attributes); - } - return style_addSaveProps(props, settings, attributes, skipSerializationPathsEdit); - }; - return settings; -} - -/** - * Override the default edit UI to include new inspector controls for - * all the custom styles configs. - * - * @param {Function} BlockEdit Original component. - * - * @return {Function} Wrapped component. - */ -const withBlockControls = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => props => { - if (!hasStyleSupport(props.name)) { - return (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - key: "edit", - ...props - }); - } - const shouldDisplayControls = useDisplayBlockControls(); - const blockEditingMode = useBlockEditingMode(); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, shouldDisplayControls && blockEditingMode === 'default' && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(ColorEdit, { - ...props - }), (0,external_wp_element_namespaceObject.createElement)(BackgroundImagePanel, { - ...props - }), (0,external_wp_element_namespaceObject.createElement)(typography_TypographyPanel, { - ...props - }), (0,external_wp_element_namespaceObject.createElement)(border_BorderPanel, { - ...props - }), (0,external_wp_element_namespaceObject.createElement)(dimensions_DimensionsPanel, { - ...props - })), (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - key: "edit", - ...props - })); -}, 'withToolbarControls'); - -// Defines which element types are supported, including their hover styles or -// any other elements that have been included under a single element type -// e.g. heading and h1-h6. -const elementTypes = [{ - elementType: 'button' -}, { - elementType: 'link', - pseudo: [':hover'] -}, { - elementType: 'heading', - elements: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] -}]; - -/** - * Override the default block element to include elements styles. - * - * @param {Function} BlockListBlock Original component - * @return {Function} Wrapped component - */ -const withElementsStyles = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockListBlock => props => { - const blockElementsContainerIdentifier = `wp-elements-${(0,external_wp_compose_namespaceObject.useInstanceId)(BlockListBlock)}`; - - // The .editor-styles-wrapper selector is required on elements styles. As it is - // added to all other editor styles, not providing it causes reset and global - // styles to override element styles because of higher specificity. - const baseElementSelector = `.editor-styles-wrapper .${blockElementsContainerIdentifier}`; - const blockElementStyles = props.attributes.style?.elements; - const styles = (0,external_wp_element_namespaceObject.useMemo)(() => { - if (!blockElementStyles) { - return; - } - const elementCSSRules = []; - elementTypes.forEach(({ - elementType, - pseudo, - elements - }) => { - const skipSerialization = shouldSkipSerialization(props.name, COLOR_SUPPORT_KEY, elementType); - if (skipSerialization) { - return; - } - const elementStyles = blockElementStyles?.[elementType]; - - // Process primary element type styles. - if (elementStyles) { - const selector = scopeSelector(baseElementSelector, external_wp_blocks_namespaceObject.__EXPERIMENTAL_ELEMENTS[elementType]); - elementCSSRules.push((0,external_wp_styleEngine_namespaceObject.compileCSS)(elementStyles, { - selector - })); - - // Process any interactive states for the element type. - if (pseudo) { - pseudo.forEach(pseudoSelector => { - if (elementStyles[pseudoSelector]) { - elementCSSRules.push((0,external_wp_styleEngine_namespaceObject.compileCSS)(elementStyles[pseudoSelector], { - selector: scopeSelector(baseElementSelector, `${external_wp_blocks_namespaceObject.__EXPERIMENTAL_ELEMENTS[elementType]}${pseudoSelector}`) - })); - } - }); - } - } - - // Process related elements e.g. h1-h6 for headings - if (elements) { - elements.forEach(element => { - if (blockElementStyles[element]) { - elementCSSRules.push((0,external_wp_styleEngine_namespaceObject.compileCSS)(blockElementStyles[element], { - selector: scopeSelector(baseElementSelector, external_wp_blocks_namespaceObject.__EXPERIMENTAL_ELEMENTS[element]) - })); - } - }); - } - }); - return elementCSSRules.length > 0 ? elementCSSRules.join('') : undefined; - }, [baseElementSelector, blockElementStyles, props.name]); - const element = (0,external_wp_element_namespaceObject.useContext)(BlockList.__unstableElementContext); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, styles && element && (0,external_wp_element_namespaceObject.createPortal)((0,external_wp_element_namespaceObject.createElement)("style", { - dangerouslySetInnerHTML: { - __html: styles - } - }), element), (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...props, - className: props.attributes.style?.elements ? classnames_default()(props.className, blockElementsContainerIdentifier) : props.className - })); -}, 'withElementsStyles'); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/style/addAttribute', style_addAttribute); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/style/addSaveProps', style_addSaveProps); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/style/addEditProps', style_addEditProps); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/style/with-block-controls', withBlockControls); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/editor/with-elements-styles', withElementsStyles); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/settings.js -/** - * WordPress dependencies - */ - - -const hasSettingsSupport = blockType => (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockType, '__experimentalSettings', false); -function settings_addAttribute(settings) { - if (!hasSettingsSupport(settings)) { - return settings; - } - - // Allow blocks to specify their own attribute definition with default values if needed. - if (!settings?.attributes?.settings) { - settings.attributes = { - ...settings.attributes, - settings: { - type: 'object' - } - }; - } - return settings; -} -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/settings/addAttribute', settings_addAttribute); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/filter.js - -/** - * WordPress dependencies - */ - -const filter = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M12 4 4 19h16L12 4zm0 3.2 5.5 10.3H12V7.2z" -})); -/* harmony default export */ var library_filter = (filter); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/duotone-control/index.js - -/** - * WordPress dependencies - */ - - - - -function DuotoneControl({ - colorPalette, - duotonePalette, - disableCustomColors, - disableCustomDuotone, - value, - onChange -}) { - let toolbarIcon; - if (value === 'unset') { - toolbarIcon = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ColorIndicator, { - className: "block-editor-duotone-control__unset-indicator" - }); - } else if (value) { - toolbarIcon = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DuotoneSwatch, { - values: value - }); - } else { - toolbarIcon = (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: library_filter - }); - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { - popoverProps: { - className: 'block-editor-duotone-control__popover', - headerTitle: (0,external_wp_i18n_namespaceObject.__)('Duotone') - }, - renderToggle: ({ - isOpen, - onToggle - }) => { - const openOnArrowDown = event => { - if (!isOpen && event.keyCode === external_wp_keycodes_namespaceObject.DOWN) { - event.preventDefault(); - onToggle(); - } - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - showTooltip: true, - onClick: onToggle, - "aria-haspopup": "true", - "aria-expanded": isOpen, - onKeyDown: openOnArrowDown, - label: (0,external_wp_i18n_namespaceObject.__)('Apply duotone filter'), - icon: toolbarIcon - }); - }, - renderContent: () => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, { - label: (0,external_wp_i18n_namespaceObject.__)('Duotone') - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-duotone-control__description" - }, (0,external_wp_i18n_namespaceObject.__)('Create a two-tone color effect without losing your original image.')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DuotonePicker, { - colorPalette: colorPalette, - duotonePalette: duotonePalette, - disableCustomColors: disableCustomColors, - disableCustomDuotone: disableCustomDuotone, - value: value, - onChange: onChange - })) - }); -} -/* harmony default export */ var duotone_control = (DuotoneControl); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/duotone/utils.js -/** - * External dependencies - */ - - -/** - * Convert a list of colors to an object of R, G, and B values. - * - * @param {string[]} colors Array of RBG color strings. - * - * @return {Object} R, G, and B values. - */ -function getValuesFromColors(colors = []) { - const values = { - r: [], - g: [], - b: [], - a: [] - }; - colors.forEach(color => { - const rgbColor = w(color).toRgb(); - values.r.push(rgbColor.r / 255); - values.g.push(rgbColor.g / 255); - values.b.push(rgbColor.b / 255); - values.a.push(rgbColor.a); - }); - return values; -} - -/** - * Stylesheet for disabling a global styles duotone filter. - * - * @param {string} selector Selector to disable the filter for. - * - * @return {string} Filter none style. - */ -function getDuotoneUnsetStylesheet(selector) { - return `${selector}{filter:none}`; -} - -/** - * SVG and stylesheet needed for rendering the duotone filter. - * - * @param {string} selector Selector to apply the filter to. - * @param {string} id Unique id for this duotone filter. - * - * @return {string} Duotone filter style. - */ -function getDuotoneStylesheet(selector, id) { - return `${selector}{filter:url(#${id})}`; -} - -/** - * The SVG part of the duotone filter. - * - * @param {string} id Unique id for this duotone filter. - * @param {string[]} colors Color strings from dark to light. - * - * @return {string} Duotone SVG. - */ -function getDuotoneFilter(id, colors) { - const values = getValuesFromColors(colors); - return ` -`; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/get-block-css-selector.js -/** - * Internal dependencies - */ - - - -/** - * Determine the CSS selector for the block type and target provided, returning - * it if available. - * - * @param {import('@wordpress/blocks').Block} blockType The block's type. - * @param {string|string[]} target The desired selector's target e.g. `root`, delimited string, or array path. - * @param {Object} options Options object. - * @param {boolean} options.fallback Whether or not to fallback to broader selector. - * - * @return {?string} The CSS selector or `null` if no selector available. - */ -function getBlockCSSSelector(blockType, target = 'root', options = {}) { - if (!target) { - return null; - } - const { - fallback = false - } = options; - const { - name, - selectors, - supports - } = blockType; - const hasSelectors = selectors && Object.keys(selectors).length > 0; - const path = Array.isArray(target) ? target.join('.') : target; - - // Root selector. - - // Calculated before returning as it can be used as a fallback for feature - // selectors later on. - let rootSelector = null; - if (hasSelectors && selectors.root) { - // Use the selectors API if available. - rootSelector = selectors?.root; - } else if (supports?.__experimentalSelector) { - // Use the old experimental selector supports property if set. - rootSelector = supports.__experimentalSelector; - } else { - // If no root selector found, generate default block class selector. - rootSelector = '.wp-block-' + name.replace('core/', '').replace('/', '-'); - } - - // Return selector if it's the root target we are looking for. - if (path === 'root') { - return rootSelector; - } - - // If target is not `root` or `duotone` we have a feature or subfeature - // as the target. If the target is a string convert to an array. - const pathArray = Array.isArray(target) ? target : target.split('.'); - - // Feature selectors ( may fallback to root selector ); - if (pathArray.length === 1) { - const fallbackSelector = fallback ? rootSelector : null; - - // Prefer the selectors API if available. - if (hasSelectors) { - // Get selector from either `feature.root` or shorthand path. - const featureSelector = getValueFromObjectPath(selectors, `${path}.root`, null) || getValueFromObjectPath(selectors, path, null); - - // Return feature selector if found or any available fallback. - return featureSelector || fallbackSelector; - } - - // Try getting old experimental supports selector value. - const featureSelector = getValueFromObjectPath(supports, `${path}.__experimentalSelector`, null); - - // If nothing to work with, provide fallback selector if available. - if (!featureSelector) { - return fallbackSelector; - } - - // Scope the feature selector by the block's root selector. - return scopeSelector(rootSelector, featureSelector); - } - - // Subfeature selector. - // This may fallback either to parent feature or root selector. - let subfeatureSelector; - - // Use selectors API if available. - if (hasSelectors) { - subfeatureSelector = getValueFromObjectPath(selectors, path, null); - } - - // Only return if we have a subfeature selector. - if (subfeatureSelector) { - return subfeatureSelector; - } - - // To this point we don't have a subfeature selector. If a fallback has been - // requested, remove subfeature from target path and return results of a - // call for the parent feature's selector. - if (fallback) { - return getBlockCSSSelector(blockType, pathArray[0], options); - } - - // We tried. - return null; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/filters-panel.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -const filters_panel_EMPTY_ARRAY = []; -function useMultiOriginColorPresets(settings, { - presetSetting, - defaultSetting -}) { - const disableDefault = !settings?.color?.[defaultSetting]; - const userPresets = settings?.color?.[presetSetting]?.custom || filters_panel_EMPTY_ARRAY; - const themePresets = settings?.color?.[presetSetting]?.theme || filters_panel_EMPTY_ARRAY; - const defaultPresets = settings?.color?.[presetSetting]?.default || filters_panel_EMPTY_ARRAY; - return (0,external_wp_element_namespaceObject.useMemo)(() => [...userPresets, ...themePresets, ...(disableDefault ? filters_panel_EMPTY_ARRAY : defaultPresets)], [disableDefault, userPresets, themePresets, defaultPresets]); -} -function useHasFiltersPanel(settings) { - return useHasDuotoneControl(settings); -} -function useHasDuotoneControl(settings) { - return settings.color.customDuotone || settings.color.defaultDuotone || settings.color.duotone.length > 0; -} -function FiltersToolsPanel({ - resetAllFilter, - onChange, - value, - panelId, - children -}) { - const resetAll = () => { - const updatedValue = resetAllFilter(value); - onChange(updatedValue); - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { - label: (0,external_wp_i18n_namespaceObject._x)('Filters', 'Name for applying graphical effects'), - resetAll: resetAll, - panelId: panelId - }, children); -} -const filters_panel_DEFAULT_CONTROLS = { - duotone: true -}; -const filters_panel_popoverProps = { - placement: 'left-start', - offset: 36, - shift: true, - className: 'block-editor-duotone-control__popover', - headerTitle: (0,external_wp_i18n_namespaceObject.__)('Duotone') -}; -const LabeledColorIndicator = ({ - indicator, - label -}) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - justify: "flex-start" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalZStack, { - isLayered: false, - offset: -8 -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Flex, { - expanded: false -}, indicator === 'unset' || !indicator ? (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ColorIndicator, { - className: "block-editor-duotone-control__unset-indicator" -}) : (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DuotoneSwatch, { - values: indicator -}))), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, { - title: label -}, label)); -function FiltersPanel({ - as: Wrapper = FiltersToolsPanel, - value, - onChange, - inheritedValue = value, - settings, - panelId, - defaultControls = filters_panel_DEFAULT_CONTROLS -}) { - const decodeValue = rawValue => getValueFromVariable({ - settings - }, '', rawValue); - - // Duotone - const hasDuotoneEnabled = useHasDuotoneControl(settings); - const duotonePalette = useMultiOriginColorPresets(settings, { - presetSetting: 'duotone', - defaultSetting: 'defaultDuotone' - }); - const colorPalette = useMultiOriginColorPresets(settings, { - presetSetting: 'palette', - defaultSetting: 'defaultPalette' - }); - const duotone = decodeValue(inheritedValue?.filter?.duotone); - const setDuotone = newValue => { - const duotonePreset = duotonePalette.find(({ - colors - }) => { - return colors === newValue; - }); - const settedValue = duotonePreset ? `var:preset|duotone|${duotonePreset.slug}` : newValue; - onChange(setImmutably(value, ['filter', 'duotone'], settedValue)); - }; - const hasDuotone = () => !!value?.filter?.duotone; - const resetDuotone = () => setDuotone(undefined); - const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { - return { - ...previousValue, - filter: { - ...previousValue.filter, - duotone: undefined - } - }; - }, []); - return (0,external_wp_element_namespaceObject.createElement)(Wrapper, { - resetAllFilter: resetAllFilter, - value: value, - onChange: onChange, - panelId: panelId - }, hasDuotoneEnabled && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - label: (0,external_wp_i18n_namespaceObject.__)('Duotone'), - hasValue: hasDuotone, - onDeselect: resetDuotone, - isShownByDefault: defaultControls.duotone, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { - popoverProps: filters_panel_popoverProps, - className: "block-editor-global-styles-filters-panel__dropdown", - renderToggle: ({ - onToggle, - isOpen - }) => { - const toggleProps = { - onClick: onToggle, - className: classnames_default()({ - 'is-open': isOpen - }), - 'aria-expanded': isOpen - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalItemGroup, { - isBordered: true, - isSeparated: true - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - ...toggleProps - }, (0,external_wp_element_namespaceObject.createElement)(LabeledColorIndicator, { - indicator: duotone, - label: (0,external_wp_i18n_namespaceObject.__)('Duotone') - }))); - }, - renderContent: () => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalDropdownContentWrapper, { - paddingSize: "medium" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, null, (0,external_wp_element_namespaceObject.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('Create a two-tone color effect without losing your original image.')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DuotonePicker, { - colorPalette: colorPalette, - duotonePalette: duotonePalette - // TODO: Re-enable both when custom colors are supported for block-level styles. - , - disableCustomColors: true, - disableCustomDuotone: true, - value: duotone, - onChange: setDuotone - }))) - }))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/duotone.js - -/** - * External dependencies - */ - - - - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - - - - - - -const duotone_EMPTY_ARRAY = []; - -// Safari does not always update the duotone filter when the duotone colors -// are changed. This browser check is later used to force a re-render of the block -// element to ensure the duotone filter is updated. The check is included at the -// root of this file as it only needs to be run once per page load. -const isSafari = window?.navigator.userAgent && window.navigator.userAgent.includes('Safari') && !window.navigator.userAgent.includes('Chrome') && !window.navigator.userAgent.includes('Chromium'); -k([names]); -function useMultiOriginPresets({ - presetSetting, - defaultSetting -}) { - const disableDefault = !use_setting_useSetting(defaultSetting); - const userPresets = use_setting_useSetting(`${presetSetting}.custom`) || duotone_EMPTY_ARRAY; - const themePresets = use_setting_useSetting(`${presetSetting}.theme`) || duotone_EMPTY_ARRAY; - const defaultPresets = use_setting_useSetting(`${presetSetting}.default`) || duotone_EMPTY_ARRAY; - return (0,external_wp_element_namespaceObject.useMemo)(() => [...userPresets, ...themePresets, ...(disableDefault ? duotone_EMPTY_ARRAY : defaultPresets)], [disableDefault, userPresets, themePresets, defaultPresets]); -} -function getColorsFromDuotonePreset(duotone, duotonePalette) { - if (!duotone) { - return; - } - const preset = duotonePalette?.find(({ - slug - }) => { - return duotone === `var:preset|duotone|${slug}`; - }); - return preset ? preset.colors : undefined; -} -function getDuotonePresetFromColors(colors, duotonePalette) { - if (!colors || !Array.isArray(colors)) { - return; - } - const preset = duotonePalette?.find(duotonePreset => { - return duotonePreset?.colors?.every((val, index) => val === colors[index]); - }); - return preset ? `var:preset|duotone|${preset.slug}` : undefined; -} -function DuotonePanel({ - attributes, - setAttributes, - name -}) { - const style = attributes?.style; - const duotoneStyle = style?.color?.duotone; - const settings = useBlockSettings(name); - const duotonePalette = useMultiOriginPresets({ - presetSetting: 'color.duotone', - defaultSetting: 'color.defaultDuotone' - }); - const colorPalette = useMultiOriginPresets({ - presetSetting: 'color.palette', - defaultSetting: 'color.defaultPalette' - }); - const disableCustomColors = !use_setting_useSetting('color.custom'); - const disableCustomDuotone = !use_setting_useSetting('color.customDuotone') || colorPalette?.length === 0 && disableCustomColors; - if (duotonePalette?.length === 0 && disableCustomDuotone) { - return null; - } - const duotonePresetOrColors = !Array.isArray(duotoneStyle) ? getColorsFromDuotonePreset(duotoneStyle, duotonePalette) : duotoneStyle; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(inspector_controls, { - group: "filter" - }, (0,external_wp_element_namespaceObject.createElement)(FiltersPanel, { - value: { - filter: { - duotone: duotonePresetOrColors - } - }, - onChange: newDuotone => { - const newStyle = { - ...style, - color: { - ...newDuotone?.filter - } - }; - setAttributes({ - style: newStyle - }); - }, - settings: settings - })), (0,external_wp_element_namespaceObject.createElement)(block_controls, { - group: "block", - __experimentalShareWithChildBlocks: true - }, (0,external_wp_element_namespaceObject.createElement)(duotone_control, { - duotonePalette: duotonePalette, - colorPalette: colorPalette, - disableCustomDuotone: disableCustomDuotone, - disableCustomColors: disableCustomColors, - value: duotonePresetOrColors, - onChange: newDuotone => { - const maybePreset = getDuotonePresetFromColors(newDuotone, duotonePalette); - const newStyle = { - ...style, - color: { - ...style?.color, - duotone: maybePreset !== null && maybePreset !== void 0 ? maybePreset : newDuotone // use preset or fallback to custom colors. - } - }; - - setAttributes({ - style: newStyle - }); - }, - settings: settings - }))); -} - -/** - * Filters registered block settings, extending attributes to include - * the `duotone` attribute. - * - * @param {Object} settings Original block settings. - * - * @return {Object} Filtered block settings. - */ -function addDuotoneAttributes(settings) { - // Previous `color.__experimentalDuotone` support flag is migrated via - // block_type_metadata_settings filter in `lib/block-supports/duotone.php`. - if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(settings, 'filter.duotone')) { - return settings; - } - - // Allow blocks to specify their own attribute definition with default - // values if needed. - if (!settings.attributes.style) { - Object.assign(settings.attributes, { - style: { - type: 'object' - } - }); - } - return settings; -} - -/** - * Override the default edit UI to include toolbar controls for duotone if the - * block supports duotone. - * - * @param {Function} BlockEdit Original component. - * - * @return {Function} Wrapped component. - */ -const withDuotoneControls = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => props => { - // Previous `color.__experimentalDuotone` support flag is migrated via - // block_type_metadata_settings filter in `lib/block-supports/duotone.php`. - const hasDuotoneSupport = (0,external_wp_blocks_namespaceObject.hasBlockSupport)(props.name, 'filter.duotone'); - const blockEditingMode = useBlockEditingMode(); - - // CAUTION: code added before this line will be executed - // for all blocks, not just those that support duotone. Code added - // above this line should be carefully evaluated for its impact on - // performance. - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, hasDuotoneSupport && blockEditingMode === 'default' && (0,external_wp_element_namespaceObject.createElement)(DuotonePanel, { - ...props - }), (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - ...props - })); -}, 'withDuotoneControls'); -function DuotoneStyles({ - clientId, - id: filterId, - selector: duotoneSelector, - attribute: duotoneAttr -}) { - const duotonePalette = useMultiOriginPresets({ - presetSetting: 'color.duotone', - defaultSetting: 'color.defaultDuotone' - }); - - // Possible values for duotone attribute: - // 1. Array of colors - e.g. ['#000000', '#ffffff']. - // 2. Variable for an existing Duotone preset - e.g. 'var:preset|duotone|green-blue' or 'var(--wp--preset--duotone--green-blue)'' - // 3. A CSS string - e.g. 'unset' to remove globally applied duotone. - const isCustom = Array.isArray(duotoneAttr); - const duotonePreset = isCustom ? undefined : getColorsFromDuotonePreset(duotoneAttr, duotonePalette); - const isPreset = typeof duotoneAttr === 'string' && duotonePreset; - const isCSS = typeof duotoneAttr === 'string' && !isPreset; - - // Match the structure of WP_Duotone_Gutenberg::render_duotone_support() in PHP. - let colors = null; - if (isPreset) { - // Array of colors. - colors = duotonePreset; - } else if (isCSS) { - // CSS filter property string (e.g. 'unset'). - colors = duotoneAttr; - } else if (isCustom) { - // Array of colors. - colors = duotoneAttr; - } - - // Build the CSS selectors to which the filter will be applied. - const selectors = duotoneSelector.split(','); - const selectorsScoped = selectors.map(selectorPart => { - // Extra .editor-styles-wrapper specificity is needed in the editor - // since we're not using inline styles to apply the filter. We need to - // override duotone applied by global styles and theme.json. - - // Assuming the selector part is a subclass selector (not a tag name) - // so we can prepend the filter id class. If we want to support elements - // such as `img` or namespaces, we'll need to add a case for that here. - return `.${filterId}${selectorPart.trim()}`; - }); - const selector = selectorsScoped.join(', '); - const isValidFilter = Array.isArray(colors) || colors === 'unset'; - const { - setStyleOverride, - deleteStyleOverride - } = unlock((0,external_wp_data_namespaceObject.useDispatch)(store)); - const blockElement = useBlockElement(clientId); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (!isValidFilter) return; - setStyleOverride(filterId, { - css: colors !== 'unset' ? getDuotoneStylesheet(selector, filterId) : getDuotoneUnsetStylesheet(selector), - __unstableType: 'presets' - }); - setStyleOverride(`duotone-${filterId}`, { - assets: colors !== 'unset' ? getDuotoneFilter(filterId, colors) : '', - __unstableType: 'svgs' - }); - - // Safari does not always update the duotone filter when the duotone colors - // are changed. When using Safari, force the block element to be repainted by - // the browser to ensure any changes are reflected visually. This logic matches - // that used on the site frontend in `block-supports/duotone.php`. - if (blockElement && isSafari) { - const display = blockElement.style.display; - // Switch to `inline-block` to force a repaint. In the editor, `inline-block` - // is used instead of `none` to ensure that scroll position is not affected, - // as `none` results in the editor scrolling to the top of the block. - blockElement.style.display = 'inline-block'; - // Simply accessing el.offsetHeight flushes layout and style - // changes in WebKit without having to wait for setTimeout. - // eslint-disable-next-line no-unused-expressions - blockElement.offsetHeight; - blockElement.style.display = display; - } - return () => { - deleteStyleOverride(filterId); - deleteStyleOverride(`duotone-${filterId}`); - }; - }, [isValidFilter, blockElement, colors, selector, filterId, setStyleOverride, deleteStyleOverride]); - return null; -} - -/** - * Override the default block element to include duotone styles. - * - * @param {Function} BlockListBlock Original component. - * - * @return {Function} Wrapped component. - */ -const withDuotoneStyles = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockListBlock => props => { - const id = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockListBlock); - const selector = (0,external_wp_element_namespaceObject.useMemo)(() => { - const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(props.name); - if (blockType) { - // Backwards compatibility for `supports.color.__experimentalDuotone` - // is provided via the `block_type_metadata_settings` filter. If - // `supports.filter.duotone` has not been set and the - // experimental property has been, the experimental property - // value is copied into `supports.filter.duotone`. - const duotoneSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, 'filter.duotone', false); - if (!duotoneSupport) { - return null; - } - - // If the experimental duotone support was set, that value is - // to be treated as a selector and requires scoping. - const experimentalDuotone = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, 'color.__experimentalDuotone', false); - if (experimentalDuotone) { - const rootSelector = getBlockCSSSelector(blockType); - return typeof experimentalDuotone === 'string' ? scopeSelector(rootSelector, experimentalDuotone) : rootSelector; - } - - // Regular filter.duotone support uses filter.duotone selectors with fallbacks. - return getBlockCSSSelector(blockType, 'filter.duotone', { - fallback: true - }); - } - }, [props.name]); - const attribute = props?.attributes?.style?.color?.duotone; - const filterClass = `wp-duotone-${id}`; - const shouldRender = selector && attribute; - const className = shouldRender ? classnames_default()(props?.className, filterClass) : props?.className; - - // CAUTION: code added before this line will be executed - // for all blocks, not just those that support duotone. Code added - // above this line should be carefully evaluated for its impact on - // performance. - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, shouldRender && (0,external_wp_element_namespaceObject.createElement)(DuotoneStyles, { - clientId: props.clientId, - id: filterClass, - selector: selector, - attribute: attribute - }), (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...props, - className: className - })); -}, 'withDuotoneStyles'); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/editor/duotone/add-attributes', addDuotoneAttributes); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/editor/duotone/with-editor-controls', withDuotoneControls); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/editor/duotone/with-styles', withDuotoneStyles); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-block-display-information/index.js -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -/** @typedef {import('@wordpress/blocks').WPIcon} WPIcon */ - -/** - * Contains basic block's information for display reasons. - * - * @typedef {Object} WPBlockDisplayInformation - * - * @property {boolean} isSynced True if is a reusable block or template part - * @property {string} title Human-readable block type label. - * @property {WPIcon} icon Block type icon. - * @property {string} description A detailed block type description. - * @property {string} anchor HTML anchor. - * @property {name} name A custom, human readable name for the block. - */ - -/** - * Get the display label for a block's position type. - * - * @param {Object} attributes Block attributes. - * @return {string} The position type label. - */ -function getPositionTypeLabel(attributes) { - const positionType = attributes?.style?.position?.type; - if (positionType === 'sticky') { - return (0,external_wp_i18n_namespaceObject.__)('Sticky'); - } - if (positionType === 'fixed') { - return (0,external_wp_i18n_namespaceObject.__)('Fixed'); - } - return null; -} - -/** - * Hook used to try to find a matching block variation and return - * the appropriate information for display reasons. In order to - * to try to find a match we need to things: - * 1. Block's client id to extract it's current attributes. - * 2. A block variation should have set `isActive` prop to a proper function. - * - * If for any reason a block variation match cannot be found, - * the returned information come from the Block Type. - * If no blockType is found with the provided clientId, returns null. - * - * @param {string} clientId Block's client id. - * @return {?WPBlockDisplayInformation} Block's display information, or `null` when the block or its type not found. - */ - -function useBlockDisplayInformation(clientId) { - return (0,external_wp_data_namespaceObject.useSelect)(select => { - if (!clientId) return null; - const { - getBlockName, - getBlockAttributes, - __experimentalGetReusableBlockTitle - } = select(store); - const { - getBlockType, - getActiveBlockVariation - } = select(external_wp_blocks_namespaceObject.store); - const blockName = getBlockName(clientId); - const blockType = getBlockType(blockName); - if (!blockType) return null; - const attributes = getBlockAttributes(clientId); - const match = getActiveBlockVariation(blockName, attributes); - const isReusable = (0,external_wp_blocks_namespaceObject.isReusableBlock)(blockType); - const resusableTitle = isReusable ? __experimentalGetReusableBlockTitle(attributes.ref) : undefined; - const title = resusableTitle || blockType.title; - const isSynced = isReusable || (0,external_wp_blocks_namespaceObject.isTemplatePart)(blockType); - const positionLabel = getPositionTypeLabel(attributes); - const blockTypeInfo = { - isSynced, - title, - icon: blockType.icon, - description: blockType.description, - anchor: attributes?.anchor, - positionLabel, - positionType: attributes?.style?.position?.type, - name: attributes?.metadata?.name - }; - if (!match) return blockTypeInfo; - return { - isSynced, - title: match.title || blockType.title, - icon: match.icon || blockType.icon, - description: match.description || blockType.description, - anchor: attributes?.anchor, - positionLabel, - positionType: attributes?.style?.position?.type, - name: attributes?.metadata?.name - }; - }, [clientId]); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/position.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - - - - - - - -const { - CustomSelectControl -} = unlock(external_wp_components_namespaceObject.privateApis); -const POSITION_SUPPORT_KEY = 'position'; -const OPTION_CLASSNAME = 'block-editor-hooks__position-selection__select-control__option'; -const DEFAULT_OPTION = { - key: 'default', - value: '', - name: (0,external_wp_i18n_namespaceObject.__)('Default'), - className: OPTION_CLASSNAME -}; -const STICKY_OPTION = { - key: 'sticky', - value: 'sticky', - name: (0,external_wp_i18n_namespaceObject._x)('Sticky', 'Name for the value of the CSS position property'), - className: OPTION_CLASSNAME, - __experimentalHint: (0,external_wp_i18n_namespaceObject.__)('The block will stick to the top of the window instead of scrolling.') -}; -const FIXED_OPTION = { - key: 'fixed', - value: 'fixed', - name: (0,external_wp_i18n_namespaceObject._x)('Fixed', 'Name for the value of the CSS position property'), - className: OPTION_CLASSNAME, - __experimentalHint: (0,external_wp_i18n_namespaceObject.__)('The block will not move when the page is scrolled.') -}; -const POSITION_SIDES = ['top', 'right', 'bottom', 'left']; -const VALID_POSITION_TYPES = ['sticky', 'fixed']; - -/** - * Get calculated position CSS. - * - * @param {Object} props Component props. - * @param {string} props.selector Selector to use. - * @param {Object} props.style Style object. - * @return {string} The generated CSS rules. - */ -function getPositionCSS({ - selector, - style -}) { - let output = ''; - const { - type: positionType - } = style?.position || {}; - if (!VALID_POSITION_TYPES.includes(positionType)) { - return output; - } - output += `${selector} {`; - output += `position: ${positionType};`; - POSITION_SIDES.forEach(side => { - if (style?.position?.[side] !== undefined) { - output += `${side}: ${style.position[side]};`; - } - }); - if (positionType === 'sticky' || positionType === 'fixed') { - // TODO: Replace hard-coded z-index value with a z-index preset approach in theme.json. - output += `z-index: 10`; - } - output += `}`; - return output; -} - -/** - * Determines if there is sticky position support. - * - * @param {string|Object} blockType Block name or Block Type object. - * - * @return {boolean} Whether there is support. - */ -function hasStickyPositionSupport(blockType) { - const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, POSITION_SUPPORT_KEY); - return !!(true === support || support?.sticky); -} - -/** - * Determines if there is fixed position support. - * - * @param {string|Object} blockType Block name or Block Type object. - * - * @return {boolean} Whether there is support. - */ -function hasFixedPositionSupport(blockType) { - const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, POSITION_SUPPORT_KEY); - return !!(true === support || support?.fixed); -} - -/** - * Determines if there is position support. - * - * @param {string|Object} blockType Block name or Block Type object. - * - * @return {boolean} Whether there is support. - */ -function hasPositionSupport(blockType) { - const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, POSITION_SUPPORT_KEY); - return !!support; -} - -/** - * Checks if there is a current value in the position block support attributes. - * - * @param {Object} props Block props. - * @return {boolean} Whether or not the block has a position value set. - */ -function hasPositionValue(props) { - return props.attributes.style?.position?.type !== undefined; -} - -/** - * Checks if the block is currently set to a sticky or fixed position. - * This check is helpful for determining how to position block toolbars or other elements. - * - * @param {Object} attributes Block attributes. - * @return {boolean} Whether or not the block is set to a sticky or fixed position. - */ -function hasStickyOrFixedPositionValue(attributes) { - const positionType = attributes.style?.position?.type; - return positionType === 'sticky' || positionType === 'fixed'; -} - -/** - * Resets the position block support attributes. This can be used when disabling - * the position support controls for a block via a `ToolsPanel`. - * - * @param {Object} props Block props. - * @param {Object} props.attributes Block's attributes. - * @param {Object} props.setAttributes Function to set block's attributes. - */ -function resetPosition({ - attributes = {}, - setAttributes -}) { - const { - style = {} - } = attributes; - setAttributes({ - style: cleanEmptyObject({ - ...style, - position: { - ...style?.position, - type: undefined, - top: undefined, - right: undefined, - bottom: undefined, - left: undefined - } - }) - }); -} - -/** - * Custom hook that checks if position settings have been disabled. - * - * @param {string} name The name of the block. - * - * @return {boolean} Whether padding setting is disabled. - */ -function useIsPositionDisabled({ - name: blockName -} = {}) { - const allowFixed = use_setting_useSetting('position.fixed'); - const allowSticky = use_setting_useSetting('position.sticky'); - const isDisabled = !allowFixed && !allowSticky; - return !hasPositionSupport(blockName) || isDisabled; -} - -/* - * Position controls rendered in an inspector control panel. - * - * @param {Object} props - * - * @return {WPElement} Position panel. - */ -function PositionPanel(props) { - const { - attributes: { - style = {} - }, - clientId, - name: blockName, - setAttributes - } = props; - const allowFixed = hasFixedPositionSupport(blockName); - const allowSticky = hasStickyPositionSupport(blockName); - const value = style?.position?.type; - const { - firstParentClientId - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockParents - } = select(store); - const parents = getBlockParents(clientId); - return { - firstParentClientId: parents[parents.length - 1] - }; - }, [clientId]); - const blockInformation = useBlockDisplayInformation(firstParentClientId); - const stickyHelpText = allowSticky && value === STICKY_OPTION.value && blockInformation ? (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: the name of the parent block. */ - (0,external_wp_i18n_namespaceObject.__)('The block will stick to the scrollable area of the parent %s block.'), blockInformation.title) : null; - const options = (0,external_wp_element_namespaceObject.useMemo)(() => { - const availableOptions = [DEFAULT_OPTION]; - // Display options if they are allowed, or if a block already has a valid value set. - // This allows for a block to be switched off from a position type that is not allowed. - if (allowSticky || value === STICKY_OPTION.value) { - availableOptions.push(STICKY_OPTION); - } - if (allowFixed || value === FIXED_OPTION.value) { - availableOptions.push(FIXED_OPTION); - } - return availableOptions; - }, [allowFixed, allowSticky, value]); - const onChangeType = next => { - // For now, use a hard-coded `0px` value for the position. - // `0px` is preferred over `0` as it can be used in `calc()` functions. - // In the future, it could be useful to allow for an offset value. - const placementValue = '0px'; - const newStyle = { - ...style, - position: { - ...style?.position, - type: next, - top: next === 'sticky' || next === 'fixed' ? placementValue : undefined - } - }; - setAttributes({ - style: utils_cleanEmptyObject(newStyle) - }); - }; - const selectedOption = value ? options.find(option => option.value === value) || DEFAULT_OPTION : DEFAULT_OPTION; - - // Only display position controls if there is at least one option to choose from. - return external_wp_element_namespaceObject.Platform.select({ - web: options.length > 1 ? (0,external_wp_element_namespaceObject.createElement)(inspector_controls, { - group: "position" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.BaseControl, { - className: "block-editor-hooks__position-selection", - __nextHasNoMarginBottom: true, - help: stickyHelpText - }, (0,external_wp_element_namespaceObject.createElement)(CustomSelectControl, { - __nextUnconstrainedWidth: true, - __next36pxDefaultSize: true, - className: "block-editor-hooks__position-selection__select-control", - label: (0,external_wp_i18n_namespaceObject.__)('Position'), - hideLabelFromVision: true, - describedBy: (0,external_wp_i18n_namespaceObject.sprintf)( - // translators: %s: Currently selected position. - (0,external_wp_i18n_namespaceObject.__)('Currently selected position: %s'), selectedOption.name), - options: options, - value: selectedOption, - __experimentalShowSelectedHint: true, - onChange: ({ - selectedItem - }) => { - onChangeType(selectedItem.value); - }, - size: '__unstable-large' - }))) : null, - native: null - }); -} - -/** - * Override the default edit UI to include position controls. - * - * @param {Function} BlockEdit Original component. - * - * @return {Function} Wrapped component. - */ -const withInspectorControls = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => props => { - const { - name: blockName - } = props; - const positionSupport = (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, POSITION_SUPPORT_KEY); - const isPositionDisabled = useIsPositionDisabled(props); - const showPositionControls = positionSupport && !isPositionDisabled; - return [showPositionControls && (0,external_wp_element_namespaceObject.createElement)(PositionPanel, { - key: "position", - ...props - }), (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - key: "edit", - ...props - })]; -}, 'withInspectorControls'); - -/** - * Override the default block element to add the position styles. - * - * @param {Function} BlockListBlock Original component. - * - * @return {Function} Wrapped component. - */ -const withPositionStyles = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockListBlock => props => { - const { - name, - attributes - } = props; - const hasPositionBlockSupport = (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, POSITION_SUPPORT_KEY); - const isPositionDisabled = useIsPositionDisabled(props); - const allowPositionStyles = hasPositionBlockSupport && !isPositionDisabled; - const id = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockListBlock); - const element = (0,external_wp_element_namespaceObject.useContext)(BlockList.__unstableElementContext); - - // Higher specificity to override defaults in editor UI. - const positionSelector = `.wp-container-${id}.wp-container-${id}`; - - // Get CSS string for the current position values. - let css; - if (allowPositionStyles) { - css = getPositionCSS({ - selector: positionSelector, - style: attributes?.style - }) || ''; - } - - // Attach a `wp-container-` id-based class name. - const className = classnames_default()(props?.className, { - [`wp-container-${id}`]: allowPositionStyles && !!css, - // Only attach a container class if there is generated CSS to be attached. - [`is-position-${attributes?.style?.position?.type}`]: allowPositionStyles && !!css && !!attributes?.style?.position?.type - }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, allowPositionStyles && element && !!css && (0,external_wp_element_namespaceObject.createPortal)((0,external_wp_element_namespaceObject.createElement)("style", null, css), element), (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...props, - className: className - })); -}, 'withPositionStyles'); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/editor/position/with-position-styles', withPositionStyles); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/editor/position/with-inspector-controls', withInspectorControls); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/layout.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - - - - - - - - - -const layoutBlockSupportKey = 'layout'; -function hasLayoutBlockSupport(blockName) { - return (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, 'layout') || (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, '__experimentalLayout'); -} - -/** - * Generates the utility classnames for the given block's layout attributes. - * - * @param { Object } blockAttributes Block attributes. - * @param { string } blockName Block name. - * - * @return { Array } Array of CSS classname strings. - */ -function useLayoutClasses(blockAttributes = {}, blockName = '') { - const rootPaddingAlignment = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSettings - } = select(store); - return getSettings().__experimentalFeatures?.useRootPaddingAwareAlignments; - }, []); - const { - layout - } = blockAttributes; - const { - default: defaultBlockLayout - } = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockName, layoutBlockSupportKey) || {}; - const usedLayout = layout?.inherit || layout?.contentSize || layout?.wideSize ? { - ...layout, - type: 'constrained' - } : layout || defaultBlockLayout || {}; - const layoutClassnames = []; - if (LAYOUT_DEFINITIONS[usedLayout?.type || 'default']?.className) { - const baseClassName = LAYOUT_DEFINITIONS[usedLayout?.type || 'default']?.className; - const splitBlockName = blockName.split('/'); - const fullBlockName = splitBlockName[0] === 'core' ? splitBlockName.pop() : splitBlockName.join('-'); - const compoundClassName = `wp-block-${fullBlockName}-${baseClassName}`; - layoutClassnames.push(baseClassName, compoundClassName); - } - if ((usedLayout?.inherit || usedLayout?.contentSize || usedLayout?.type === 'constrained') && rootPaddingAlignment) { - layoutClassnames.push('has-global-padding'); - } - if (usedLayout?.orientation) { - layoutClassnames.push(`is-${kebabCase(usedLayout.orientation)}`); - } - if (usedLayout?.justifyContent) { - layoutClassnames.push(`is-content-justification-${kebabCase(usedLayout.justifyContent)}`); - } - if (usedLayout?.flexWrap && usedLayout.flexWrap === 'nowrap') { - layoutClassnames.push('is-nowrap'); - } - return layoutClassnames; -} - -/** - * Generates a CSS rule with the given block's layout styles. - * - * @param { Object } blockAttributes Block attributes. - * @param { string } blockName Block name. - * @param { string } selector A selector to use in generating the CSS rule. - * - * @return { string } CSS rule. - */ -function useLayoutStyles(blockAttributes = {}, blockName, selector) { - const { - layout = {}, - style = {} - } = blockAttributes; - // Update type for blocks using legacy layouts. - const usedLayout = layout?.inherit || layout?.contentSize || layout?.wideSize ? { - ...layout, - type: 'constrained' - } : layout || {}; - const fullLayoutType = getLayoutType(usedLayout?.type || 'default'); - const blockGapSupport = use_setting_useSetting('spacing.blockGap'); - const hasBlockGapSupport = blockGapSupport !== null; - const css = fullLayoutType?.getLayoutStyle?.({ - blockName, - selector, - layout, - style, - hasBlockGapSupport - }); - return css; -} -function LayoutPanel({ - setAttributes, - attributes, - name: blockName -}) { - const settings = useBlockSettings(blockName); - const { - layout: { - allowEditing: allowEditingSetting - } - } = settings; - const { - layout - } = attributes; - const defaultThemeLayout = use_setting_useSetting('layout'); - const { - themeSupportsLayout - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSettings - } = select(store); - return { - themeSupportsLayout: getSettings().supportsLayout - }; - }, []); - const blockEditingMode = useBlockEditingMode(); - const layoutBlockSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockName, layoutBlockSupportKey, {}); - const { - allowSwitching, - allowEditing = allowEditingSetting !== null && allowEditingSetting !== void 0 ? allowEditingSetting : true, - allowInheriting = true, - default: defaultBlockLayout - } = layoutBlockSupport; - if (!allowEditing) { - return null; - } - - // Only show the inherit toggle if it's supported, - // a default theme layout is set (e.g. one that provides `contentSize` and/or `wideSize` values), - // and either the default / flow or the constrained layout type is in use, as the toggle switches from one to the other. - const showInheritToggle = !!(allowInheriting && !!defaultThemeLayout && (!layout?.type || layout?.type === 'default' || layout?.type === 'constrained' || layout?.inherit)); - const usedLayout = layout || defaultBlockLayout || {}; - const { - inherit = false, - type = 'default', - contentSize = null - } = usedLayout; - /** - * `themeSupportsLayout` is only relevant to the `default/flow` or - * `constrained` layouts and it should not be taken into account when other - * `layout` types are used. - */ - if ((type === 'default' || type === 'constrained') && !themeSupportsLayout) { - return null; - } - const layoutType = getLayoutType(type); - const constrainedType = getLayoutType('constrained'); - const displayControlsForLegacyLayouts = !usedLayout.type && (contentSize || inherit); - const hasContentSizeOrLegacySettings = !!inherit || !!contentSize; - const onChangeType = newType => setAttributes({ - layout: { - type: newType - } - }); - const onChangeLayout = newLayout => setAttributes({ - layout: newLayout - }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(inspector_controls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { - title: (0,external_wp_i18n_namespaceObject.__)('Layout') - }, showInheritToggle && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { - __nextHasNoMarginBottom: true, - className: "block-editor-hooks__toggle-control", - label: (0,external_wp_i18n_namespaceObject.__)('Inner blocks use content width'), - checked: layoutType?.name === 'constrained' || hasContentSizeOrLegacySettings, - onChange: () => setAttributes({ - layout: { - type: layoutType?.name === 'constrained' || hasContentSizeOrLegacySettings ? 'default' : 'constrained' - } - }), - help: layoutType?.name === 'constrained' || hasContentSizeOrLegacySettings ? (0,external_wp_i18n_namespaceObject.__)('Nested blocks use content width with options for full and wide widths.') : (0,external_wp_i18n_namespaceObject.__)('Nested blocks will fill the width of this container. Toggle to constrain.') - })), !inherit && allowSwitching && (0,external_wp_element_namespaceObject.createElement)(LayoutTypeSwitcher, { - type: type, - onChange: onChangeType - }), layoutType && layoutType.name !== 'default' && (0,external_wp_element_namespaceObject.createElement)(layoutType.inspectorControls, { - layout: usedLayout, - onChange: onChangeLayout, - layoutBlockSupport: layoutBlockSupport - }), constrainedType && displayControlsForLegacyLayouts && (0,external_wp_element_namespaceObject.createElement)(constrainedType.inspectorControls, { - layout: usedLayout, - onChange: onChangeLayout, - layoutBlockSupport: layoutBlockSupport - }))), !inherit && blockEditingMode === 'default' && layoutType && (0,external_wp_element_namespaceObject.createElement)(layoutType.toolBarControls, { - layout: usedLayout, - onChange: onChangeLayout, - layoutBlockSupport: layoutBlockSupport - })); -} -function LayoutTypeSwitcher({ - type, - onChange -}) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ButtonGroup, null, getLayoutTypes().map(({ - name, - label - }) => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - key: name, - isPressed: type === name, - onClick: () => onChange(name) - }, label); - })); -} - -/** - * Filters registered block settings, extending attributes to include `layout`. - * - * @param {Object} settings Original block settings. - * - * @return {Object} Filtered block settings. - */ -function layout_addAttribute(settings) { - var _settings$attributes$; - if ('type' in ((_settings$attributes$ = settings.attributes?.layout) !== null && _settings$attributes$ !== void 0 ? _settings$attributes$ : {})) { - return settings; - } - if (hasLayoutBlockSupport(settings)) { - settings.attributes = { - ...settings.attributes, - layout: { - type: 'object' - } - }; - } - return settings; -} - -/** - * Override the default edit UI to include layout controls - * - * @param {Function} BlockEdit Original component. - * - * @return {Function} Wrapped component. - */ -const layout_withInspectorControls = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => props => { - const { - name: blockName - } = props; - const supportLayout = hasLayoutBlockSupport(blockName); - const blockEditingMode = useBlockEditingMode(); - return [supportLayout && blockEditingMode === 'default' && (0,external_wp_element_namespaceObject.createElement)(LayoutPanel, { - key: "layout", - ...props - }), (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - key: "edit", - ...props - })]; -}, 'withInspectorControls'); - -/** - * Override the default block element to add the layout styles. - * - * @param {Function} BlockListBlock Original component. - * - * @return {Function} Wrapped component. - */ -const withLayoutStyles = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockListBlock => props => { - const { - name, - attributes - } = props; - const blockSupportsLayout = hasLayoutBlockSupport(name); - const disableLayoutStyles = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSettings - } = select(store); - return !!getSettings().disableLayoutStyles; - }); - const shouldRenderLayoutStyles = blockSupportsLayout && !disableLayoutStyles; - const id = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockListBlock); - const { - layout - } = attributes; - const { - default: defaultBlockLayout - } = (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, layoutBlockSupportKey) || {}; - const usedLayout = layout?.inherit || layout?.contentSize || layout?.wideSize ? { - ...layout, - type: 'constrained' - } : layout || defaultBlockLayout || {}; - const layoutClasses = blockSupportsLayout ? useLayoutClasses(attributes, name) : null; - // Higher specificity to override defaults from theme.json. - const selector = `.wp-container-${id}.wp-container-${id}`; - const blockGapSupport = use_setting_useSetting('spacing.blockGap'); - const hasBlockGapSupport = blockGapSupport !== null; - - // Get CSS string for the current layout type. - // The CSS and `style` element is only output if it is not empty. - let css; - if (shouldRenderLayoutStyles) { - const fullLayoutType = getLayoutType(usedLayout?.type || 'default'); - css = fullLayoutType?.getLayoutStyle?.({ - blockName: name, - selector, - layout: usedLayout, - style: attributes?.style, - hasBlockGapSupport - }); - } - - // Attach a `wp-container-` id-based class name as well as a layout class name such as `is-layout-flex`. - const layoutClassNames = classnames_default()({ - [`wp-container-${id}`]: shouldRenderLayoutStyles && !!css // Only attach a container class if there is generated CSS to be attached. - }, layoutClasses); - const { - setStyleOverride, - deleteStyleOverride - } = unlock((0,external_wp_data_namespaceObject.useDispatch)(store)); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (!css) return; - setStyleOverride(selector, { - css - }); - return () => { - deleteStyleOverride(selector); - }; - }, [selector, css, setStyleOverride, deleteStyleOverride]); - return (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...props, - __unstableLayoutClassNames: layoutClassNames - }); -}, 'withLayoutStyles'); - -/** - * Override the default block element to add the child layout styles. - * - * @param {Function} BlockListBlock Original component. - * - * @return {Function} Wrapped component. - */ -const withChildLayoutStyles = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockListBlock => props => { - const { - attributes - } = props; - const { - style: { - layout = {} - } = {} - } = attributes; - const { - selfStretch, - flexSize - } = layout; - const hasChildLayout = selfStretch || flexSize; - const disableLayoutStyles = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSettings - } = select(store); - return !!getSettings().disableLayoutStyles; - }); - const shouldRenderChildLayoutStyles = hasChildLayout && !disableLayoutStyles; - const id = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockListBlock); - const selector = `.wp-container-content-${id}`; - let css = ''; - if (selfStretch === 'fixed' && flexSize) { - css += `${selector} { - flex-basis: ${flexSize}; - box-sizing: border-box; - }`; - } else if (selfStretch === 'fill') { - css += `${selector} { - flex-grow: 1; - }`; - } - - // Attach a `wp-container-content` id-based classname. - const className = classnames_default()(props?.className, { - [`wp-container-content-${id}`]: shouldRenderChildLayoutStyles && !!css // Only attach a container class if there is generated CSS to be attached. - }); - - const { - setStyleOverride, - deleteStyleOverride - } = unlock((0,external_wp_data_namespaceObject.useDispatch)(store)); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (!css) return; - setStyleOverride(selector, { - css - }); - return () => { - deleteStyleOverride(selector); - }; - }, [selector, css, setStyleOverride, deleteStyleOverride]); - return (0,external_wp_element_namespaceObject.createElement)(BlockListBlock, { - ...props, - className: className - }); -}, 'withChildLayoutStyles'); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/layout/addAttribute', layout_addAttribute); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/editor/layout/with-layout-styles', withLayoutStyles); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/editor/layout/with-child-layout-styles', withChildLayoutStyles); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/editor/layout/with-inspector-controls', layout_withInspectorControls); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -/** - * Contains the properties `ConvertToGroupButton` component needs. - * - * @typedef {Object} ConvertToGroupButtonProps - * @property {string[]} clientIds An array of the selected client ids. - * @property {boolean} isGroupable Indicates if the selected blocks can be grouped. - * @property {boolean} isUngroupable Indicates if the selected blocks can be ungrouped. - * @property {WPBlock[]} blocksSelection An array of the selected blocks. - * @property {string} groupingBlockName The name of block used for handling grouping interactions. - */ - -/** - * Returns the properties `ConvertToGroupButton` component needs to work properly. - * It is used in `BlockSettingsMenuControls` to know if `ConvertToGroupButton` - * should be rendered, to avoid ending up with an empty MenuGroup. - * - * @param {?string[]} selectedClientIds An optional array of clientIds to group. The selected blocks - * from the block editor store are used if this is not provided. - * - * @return {ConvertToGroupButtonProps} Returns the properties needed by `ConvertToGroupButton`. - */ -function useConvertToGroupButtonProps(selectedClientIds) { - return (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlocksByClientId, - getSelectedBlockClientIds, - isUngroupable, - isGroupable - } = select(store); - const { - getGroupingBlockName, - getBlockType - } = select(external_wp_blocks_namespaceObject.store); - const clientIds = selectedClientIds?.length ? selectedClientIds : getSelectedBlockClientIds(); - const blocksSelection = getBlocksByClientId(clientIds); - const [firstSelectedBlock] = blocksSelection; - const _isUngroupable = clientIds.length === 1 && isUngroupable(clientIds[0]); - return { - clientIds, - isGroupable: isGroupable(clientIds), - isUngroupable: _isUngroupable, - blocksSelection, - groupingBlockName: getGroupingBlockName(), - onUngroup: _isUngroupable && getBlockType(firstSelectedBlock.name)?.transforms?.ungroup - }; - }, [selectedClientIds]); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/convert-to-group-buttons/index.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - -function ConvertToGroupButton({ - clientIds, - isGroupable, - isUngroupable, - onUngroup, - blocksSelection, - groupingBlockName, - onClose = () => {} -}) { - const { - replaceBlocks - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const onConvertToGroup = () => { - // Activate the `transform` on the Grouping Block which does the conversion. - const newBlocks = (0,external_wp_blocks_namespaceObject.switchToBlockType)(blocksSelection, groupingBlockName); - if (newBlocks) { - replaceBlocks(clientIds, newBlocks); - } - }; - const onConvertFromGroup = () => { - let innerBlocks = blocksSelection[0].innerBlocks; - if (!innerBlocks.length) { - return; - } - if (onUngroup) { - innerBlocks = onUngroup(blocksSelection[0].attributes, blocksSelection[0].innerBlocks); - } - replaceBlocks(clientIds, innerBlocks); - }; - if (!isGroupable && !isUngroupable) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, isGroupable && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - onClick: () => { - onConvertToGroup(); - onClose(); - } - }, (0,external_wp_i18n_namespaceObject._x)('Group', 'verb')), isUngroupable && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - onClick: () => { - onConvertFromGroup(); - onClose(); - } - }, (0,external_wp_i18n_namespaceObject._x)('Ungroup', 'Ungrouping blocks from within a grouping block back into individual blocks within the Editor '))); -} - - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-lock/use-block-lock.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -/** - * Return details about the block lock status. - * - * @param {string} clientId The block client Id. - * - * @return {Object} Block lock status - */ -function useBlockLock(clientId) { - return (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - canEditBlock, - canMoveBlock, - canRemoveBlock, - canLockBlockType, - getBlockName, - getBlockRootClientId, - getTemplateLock - } = select(store); - const rootClientId = getBlockRootClientId(clientId); - const canEdit = canEditBlock(clientId); - const canMove = canMoveBlock(clientId, rootClientId); - const canRemove = canRemoveBlock(clientId, rootClientId); - return { - canEdit, - canMove, - canRemove, - canLock: canLockBlockType(getBlockName(clientId)), - isContentLocked: getTemplateLock(clientId) === 'contentOnly', - isLocked: !canEdit || !canMove || !canRemove - }; - }, [clientId]); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/unlock.js - -/** - * WordPress dependencies - */ - -const unlock_unlock = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8h1.5c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1z" -})); -/* harmony default export */ var library_unlock = (unlock_unlock); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/lock-outline.js - -/** - * WordPress dependencies - */ - -const lockOutline = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zM9.8 7c0-1.2 1-2.2 2.2-2.2 1.2 0 2.2 1 2.2 2.2v3H9.8V7zm6.7 11.5h-9v-7h9v7z" -})); -/* harmony default export */ var lock_outline = (lockOutline); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/lock.js - -/** - * WordPress dependencies - */ - -const lock_lock = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zm-2.8 0H9.8V7c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3z" -})); -/* harmony default export */ var library_lock = (lock_lock); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-lock/modal.js - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - - - - -// Entity based blocks which allow edit locking -const ALLOWS_EDIT_LOCKING = ['core/block', 'core/navigation']; -function getTemplateLockValue(lock) { - // Prevents all operations. - if (lock.remove && lock.move) { - return 'all'; - } - - // Prevents inserting or removing blocks, but allows moving existing blocks. - if (lock.remove && !lock.move) { - return 'insert'; - } - return false; -} -function BlockLockModal({ - clientId, - onClose -}) { - const [lock, setLock] = (0,external_wp_element_namespaceObject.useState)({ - move: false, - remove: false - }); - const { - canEdit, - canMove, - canRemove - } = useBlockLock(clientId); - const { - allowsEditLocking, - templateLock, - hasTemplateLock - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockName, - getBlockAttributes - } = select(store); - const blockName = getBlockName(clientId); - const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(blockName); - return { - allowsEditLocking: ALLOWS_EDIT_LOCKING.includes(blockName), - templateLock: getBlockAttributes(clientId)?.templateLock, - hasTemplateLock: !!blockType?.attributes?.templateLock - }; - }, [clientId]); - const [applyTemplateLock, setApplyTemplateLock] = (0,external_wp_element_namespaceObject.useState)(!!templateLock); - const { - updateBlockAttributes - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const blockInformation = useBlockDisplayInformation(clientId); - const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockLockModal, 'block-editor-block-lock-modal__options-title'); - (0,external_wp_element_namespaceObject.useEffect)(() => { - setLock({ - move: !canMove, - remove: !canRemove, - ...(allowsEditLocking ? { - edit: !canEdit - } : {}) - }); - }, [canEdit, canMove, canRemove, allowsEditLocking]); - const isAllChecked = Object.values(lock).every(Boolean); - const isMixed = Object.values(lock).some(Boolean) && !isAllChecked; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Modal, { - title: (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: Name of the block. */ - (0,external_wp_i18n_namespaceObject.__)('Lock %s'), blockInformation.title), - overlayClassName: "block-editor-block-lock-modal", - onRequestClose: onClose - }, (0,external_wp_element_namespaceObject.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('Choose specific attributes to restrict or lock all available options.')), (0,external_wp_element_namespaceObject.createElement)("form", { - onSubmit: event => { - event.preventDefault(); - updateBlockAttributes([clientId], { - lock, - templateLock: applyTemplateLock ? getTemplateLockValue(lock) : undefined - }); - onClose(); - } - }, (0,external_wp_element_namespaceObject.createElement)("div", { - role: "group", - "aria-labelledby": instanceId, - className: "block-editor-block-lock-modal__options" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.CheckboxControl, { - __nextHasNoMarginBottom: true, - className: "block-editor-block-lock-modal__options-title", - label: (0,external_wp_element_namespaceObject.createElement)("span", { - id: instanceId - }, (0,external_wp_i18n_namespaceObject.__)('Lock all')), - checked: isAllChecked, - indeterminate: isMixed, - onChange: newValue => setLock({ - move: newValue, - remove: newValue, - ...(allowsEditLocking ? { - edit: newValue - } : {}) - }) - }), (0,external_wp_element_namespaceObject.createElement)("ul", { - className: "block-editor-block-lock-modal__checklist" - }, allowsEditLocking && (0,external_wp_element_namespaceObject.createElement)("li", { - className: "block-editor-block-lock-modal__checklist-item" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.CheckboxControl, { - __nextHasNoMarginBottom: true, - label: (0,external_wp_i18n_namespaceObject.__)('Restrict editing'), - checked: !!lock.edit, - onChange: edit => setLock(prevLock => ({ - ...prevLock, - edit - })) - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Icon, { - className: "block-editor-block-lock-modal__lock-icon", - icon: lock.edit ? library_lock : library_unlock - })), (0,external_wp_element_namespaceObject.createElement)("li", { - className: "block-editor-block-lock-modal__checklist-item" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.CheckboxControl, { - __nextHasNoMarginBottom: true, - label: (0,external_wp_i18n_namespaceObject.__)('Disable movement'), - checked: lock.move, - onChange: move => setLock(prevLock => ({ - ...prevLock, - move - })) - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Icon, { - className: "block-editor-block-lock-modal__lock-icon", - icon: lock.move ? library_lock : library_unlock - })), (0,external_wp_element_namespaceObject.createElement)("li", { - className: "block-editor-block-lock-modal__checklist-item" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.CheckboxControl, { - __nextHasNoMarginBottom: true, - label: (0,external_wp_i18n_namespaceObject.__)('Prevent removal'), - checked: lock.remove, - onChange: remove => setLock(prevLock => ({ - ...prevLock, - remove - })) - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Icon, { - className: "block-editor-block-lock-modal__lock-icon", - icon: lock.remove ? library_lock : library_unlock - }))), hasTemplateLock && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { - __nextHasNoMarginBottom: true, - className: "block-editor-block-lock-modal__template-lock", - label: (0,external_wp_i18n_namespaceObject.__)('Apply to all blocks inside'), - checked: applyTemplateLock, - disabled: lock.move && !lock.remove, - onChange: () => setApplyTemplateLock(!applyTemplateLock) - })), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Flex, { - className: "block-editor-block-lock-modal__actions", - justify: "flex-end", - expanded: false - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - variant: "tertiary", - onClick: onClose - }, (0,external_wp_i18n_namespaceObject.__)('Cancel'))), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - variant: "primary", - type: "submit" - }, (0,external_wp_i18n_namespaceObject.__)('Apply')))))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-lock/menu-item.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - -function BlockLockMenuItem({ - clientId -}) { - const { - canLock, - isLocked - } = useBlockLock(clientId); - const [isModalOpen, toggleModal] = (0,external_wp_element_namespaceObject.useReducer)(isActive => !isActive, false); - if (!canLock) { - return null; - } - const label = isLocked ? (0,external_wp_i18n_namespaceObject.__)('Unlock') : (0,external_wp_i18n_namespaceObject.__)('Lock'); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - icon: isLocked ? library_unlock : lock_outline, - onClick: toggleModal, - "aria-expanded": isModalOpen, - "aria-haspopup": "dialog" - }, label), isModalOpen && (0,external_wp_element_namespaceObject.createElement)(BlockLockModal, { - clientId: clientId, - onClose: toggleModal - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-mode-toggle.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - -const block_mode_toggle_noop = () => {}; -function BlockModeToggle({ - blockType, - mode, - onToggleMode, - small = false, - isCodeEditingEnabled = true -}) { - if (!blockType || !(0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockType, 'html', true) || !isCodeEditingEnabled) { - return null; - } - const label = mode === 'visual' ? (0,external_wp_i18n_namespaceObject.__)('Edit as HTML') : (0,external_wp_i18n_namespaceObject.__)('Edit visually'); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - onClick: onToggleMode - }, !small && label); -} -/* harmony default export */ var block_mode_toggle = ((0,external_wp_compose_namespaceObject.compose)([(0,external_wp_data_namespaceObject.withSelect)((select, { - clientId -}) => { - const { - getBlock, - getBlockMode, - getSettings - } = select(store); - const block = getBlock(clientId); - const isCodeEditingEnabled = getSettings().codeEditingEnabled; - return { - mode: getBlockMode(clientId), - blockType: block ? (0,external_wp_blocks_namespaceObject.getBlockType)(block.name) : null, - isCodeEditingEnabled - }; -}), (0,external_wp_data_namespaceObject.withDispatch)((dispatch, { - onToggle = block_mode_toggle_noop, - clientId -}) => ({ - onToggleMode() { - dispatch(store).toggleBlockMode(clientId); - onToggle(); - } -}))])(BlockModeToggle)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-rename/use-block-rename.js -/** - * WordPress dependencies - */ - -function useBlockRename(name) { - const metaDataSupport = (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, '__experimentalMetadata', false); - const supportsBlockNaming = !!(true === metaDataSupport || metaDataSupport?.name); - return { - canRename: supportsBlockNaming - }; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-rename/is-empty-string.js -function isEmptyString(testString) { - return testString?.trim()?.length === 0; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-rename/modal.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - -function BlockRenameModal({ - blockName, - originalBlockName, - onClose, - onSave -}) { - const [editedBlockName, setEditedBlockName] = (0,external_wp_element_namespaceObject.useState)(blockName); - const nameHasChanged = editedBlockName !== blockName; - const nameIsOriginal = editedBlockName === originalBlockName; - const nameIsEmpty = isEmptyString(editedBlockName); - const isNameValid = nameHasChanged || nameIsOriginal; - const autoSelectInputText = event => event.target.select(); - const dialogDescription = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockRenameModal, `block-editor-rename-modal__description`); - const handleSubmit = () => { - const message = nameIsOriginal || nameIsEmpty ? (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: new name/label for the block */ - (0,external_wp_i18n_namespaceObject.__)('Block name reset to: "%s".'), editedBlockName) : (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: new name/label for the block */ - (0,external_wp_i18n_namespaceObject.__)('Block name changed to: "%s".'), editedBlockName); - - // Must be assertive to immediately announce change. - (0,external_wp_a11y_namespaceObject.speak)(message, 'assertive'); - onSave(editedBlockName); - - // Immediate close avoids ability to hit save multiple times. - onClose(); - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Modal, { - title: (0,external_wp_i18n_namespaceObject.__)('Rename'), - onRequestClose: onClose, - overlayClassName: "block-editor-block-rename-modal", - aria: { - describedby: dialogDescription - }, - focusOnMount: "firstContentElement" - }, (0,external_wp_element_namespaceObject.createElement)("p", { - id: dialogDescription - }, (0,external_wp_i18n_namespaceObject.__)('Enter a custom name for this block.')), (0,external_wp_element_namespaceObject.createElement)("form", { - onSubmit: e => { - e.preventDefault(); - if (!isNameValid) { - return; - } - handleSubmit(); - } - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { - spacing: "3" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextControl, { - __nextHasNoMarginBottom: true, - value: editedBlockName, - label: (0,external_wp_i18n_namespaceObject.__)('Block name'), - hideLabelFromVision: true, - placeholder: originalBlockName, - onChange: setEditedBlockName, - onFocus: autoSelectInputText - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - justify: "right" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - variant: "tertiary", - onClick: onClose - }, (0,external_wp_i18n_namespaceObject.__)('Cancel')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - "aria-disabled": !isNameValid, - variant: "primary", - type: "submit" - }, (0,external_wp_i18n_namespaceObject.__)('Save')))))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-rename/rename-control.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - -function BlockRenameControl({ - clientId -}) { - const [renamingBlock, setRenamingBlock] = (0,external_wp_element_namespaceObject.useState)(false); - const { - metadata - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockAttributes - } = select(store); - const _metadata = getBlockAttributes(clientId)?.metadata; - return { - metadata: _metadata - }; - }, [clientId]); - const { - updateBlockAttributes - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const customName = metadata?.name; - function onChange(newName) { - updateBlockAttributes([clientId], { - metadata: { - ...(metadata && metadata), - name: newName - } - }); - } - const blockInformation = useBlockDisplayInformation(clientId); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - onClick: () => { - setRenamingBlock(true); - }, - "aria-expanded": renamingBlock, - "aria-haspopup": "dialog" - }, (0,external_wp_i18n_namespaceObject.__)('Rename')), renamingBlock && (0,external_wp_element_namespaceObject.createElement)(BlockRenameModal, { - blockName: customName || '', - originalBlockName: blockInformation?.title, - onClose: () => setRenamingBlock(false), - onSave: newName => { - // If the new value is the block's original name (e.g. `Group`) - // or it is an empty string then assume the intent is to reset - // the value. Therefore reset the metadata. - if (newName === blockInformation?.title || isEmptyString(newName)) { - newName = undefined; - } - onChange(newName); - } - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu-controls/index.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - - -const { - Fill, - Slot: block_settings_menu_controls_Slot -} = (0,external_wp_components_namespaceObject.createSlotFill)('BlockSettingsMenuControls'); -const BlockSettingsMenuControlsSlot = ({ - fillProps, - clientIds = null, - __unstableDisplayLocation -}) => { - const { - selectedBlocks, - selectedClientIds - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockNamesByClientId, - getSelectedBlockClientIds - } = select(store); - const ids = clientIds !== null ? clientIds : getSelectedBlockClientIds(); - return { - selectedBlocks: getBlockNamesByClientId(ids), - selectedClientIds: ids - }; - }, [clientIds]); - const { - canLock - } = useBlockLock(selectedClientIds[0]); - const { - canRename - } = useBlockRename(selectedBlocks[0]); - const showLockButton = selectedClientIds.length === 1 && canLock; - const showRenameButton = selectedClientIds.length === 1 && canRename; - - // Check if current selection of blocks is Groupable or Ungroupable - // and pass this props down to ConvertToGroupButton. - const convertToGroupButtonProps = useConvertToGroupButtonProps(selectedClientIds); - const { - isGroupable, - isUngroupable - } = convertToGroupButtonProps; - const showConvertToGroupButton = isGroupable || isUngroupable; - return (0,external_wp_element_namespaceObject.createElement)(block_settings_menu_controls_Slot, { - fillProps: { - ...fillProps, - __unstableDisplayLocation, - selectedBlocks, - selectedClientIds - } - }, fills => { - if (!fills?.length > 0 && !showConvertToGroupButton && !showLockButton) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, null, showConvertToGroupButton && (0,external_wp_element_namespaceObject.createElement)(ConvertToGroupButton, { - ...convertToGroupButtonProps, - onClose: fillProps?.onClose - }), showLockButton && (0,external_wp_element_namespaceObject.createElement)(BlockLockMenuItem, { - clientId: selectedClientIds[0] - }), showRenameButton && (0,external_wp_element_namespaceObject.createElement)(BlockRenameControl, { - clientId: selectedClientIds[0] - }), fills, fillProps?.canMove && !fillProps?.onlyBlock && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - onClick: (0,external_wp_compose_namespaceObject.pipe)(fillProps?.onClose, fillProps?.onMoveTo) - }, (0,external_wp_i18n_namespaceObject.__)('Move to')), fillProps?.count === 1 && (0,external_wp_element_namespaceObject.createElement)(block_mode_toggle, { - clientId: fillProps?.firstBlockClientId, - onToggle: fillProps?.onClose - })); - }); -}; - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-settings-menu-controls/README.md - * - * @param {Object} props Fill props. - * @return {WPElement} Element. - */ -function BlockSettingsMenuControls({ - ...props -}) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalStyleProvider, { - document: document - }, (0,external_wp_element_namespaceObject.createElement)(Fill, { - ...props - })); -} -BlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot; -/* harmony default export */ var block_settings_menu_controls = (BlockSettingsMenuControls); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/content-lock-ui.js - -/** - * WordPress dependencies - */ - - - - - - - -/** - * Internal dependencies - */ - - -function StopEditingAsBlocksOnOutsideSelect({ - clientId, - stopEditingAsBlock -}) { - const isBlockOrDescendantSelected = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - isBlockSelected, - hasSelectedInnerBlock - } = select(store); - return isBlockSelected(clientId) || hasSelectedInnerBlock(clientId, true); - }, [clientId]); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (!isBlockOrDescendantSelected) { - stopEditingAsBlock(); - } - }, [isBlockOrDescendantSelected, stopEditingAsBlock]); - return null; -} -const content_lock_ui_withBlockControls = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => props => { - const { - getBlockListSettings, - getSettings - } = (0,external_wp_data_namespaceObject.useSelect)(store); - const focusModeToRevert = (0,external_wp_element_namespaceObject.useRef)(); - const { - templateLock, - isLockedByParent, - isEditingAsBlocks - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - __unstableGetContentLockingParent, - getTemplateLock, - __unstableGetTemporarilyEditingAsBlocks - } = select(store); - return { - templateLock: getTemplateLock(props.clientId), - isLockedByParent: !!__unstableGetContentLockingParent(props.clientId), - isEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks() === props.clientId - }; - }, [props.clientId]); - const { - updateSettings, - updateBlockListSettings, - __unstableSetTemporarilyEditingAsBlocks - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const isContentLocked = !isLockedByParent && templateLock === 'contentOnly'; - const { - __unstableMarkNextChangeAsNotPersistent, - updateBlockAttributes - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const stopEditingAsBlock = (0,external_wp_element_namespaceObject.useCallback)(() => { - __unstableMarkNextChangeAsNotPersistent(); - updateBlockAttributes(props.clientId, { - templateLock: 'contentOnly' - }); - updateBlockListSettings(props.clientId, { - ...getBlockListSettings(props.clientId), - templateLock: 'contentOnly' - }); - updateSettings({ - focusMode: focusModeToRevert.current - }); - __unstableSetTemporarilyEditingAsBlocks(); - }, [props.clientId, updateSettings, updateBlockListSettings, getBlockListSettings, __unstableMarkNextChangeAsNotPersistent, updateBlockAttributes, __unstableSetTemporarilyEditingAsBlocks]); - if (!isContentLocked && !isEditingAsBlocks) { - return (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - key: "edit", - ...props - }); - } - const showStopEditingAsBlocks = isEditingAsBlocks && !isContentLocked; - const showStartEditingAsBlocks = !isEditingAsBlocks && isContentLocked && props.isSelected; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, showStopEditingAsBlocks && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(StopEditingAsBlocksOnOutsideSelect, { - clientId: props.clientId, - stopEditingAsBlock: stopEditingAsBlock - }), (0,external_wp_element_namespaceObject.createElement)(block_controls, { - group: "other" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - onClick: () => { - stopEditingAsBlock(); - } - }, (0,external_wp_i18n_namespaceObject.__)('Done')))), showStartEditingAsBlocks && (0,external_wp_element_namespaceObject.createElement)(block_settings_menu_controls, null, ({ - onClose - }) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - onClick: () => { - __unstableMarkNextChangeAsNotPersistent(); - updateBlockAttributes(props.clientId, { - templateLock: undefined - }); - updateBlockListSettings(props.clientId, { - ...getBlockListSettings(props.clientId), - templateLock: false - }); - focusModeToRevert.current = getSettings().focusMode; - updateSettings({ - focusMode: true - }); - __unstableSetTemporarilyEditingAsBlocks(props.clientId); - onClose(); - } - }, (0,external_wp_i18n_namespaceObject.__)('Modify'))), (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - key: "edit", - ...props - })); -}, 'withToolbarControls'); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/content-lock-ui/with-block-controls', content_lock_ui_withBlockControls); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/metadata.js -/** - * WordPress dependencies - */ - - -const META_ATTRIBUTE_NAME = 'metadata'; -function hasBlockMetadataSupport(blockType, feature = '') { - // Only core blocks are allowed to use __experimentalMetadata until the fetaure is stablised. - if (!blockType.name.startsWith('core/')) { - return false; - } - const support = (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockType, '__experimentalMetadata'); - return !!(true === support || support?.[feature]); -} - -/** - * Filters registered block settings, extending attributes to include `metadata`. - * - * see: https://github.com/WordPress/gutenberg/pull/40393/files#r864632012 - * - * @param {Object} blockTypeSettings Original block settings. - * @return {Object} Filtered block settings. - */ -function addMetaAttribute(blockTypeSettings) { - // Allow blocks to specify their own attribute definition with default values if needed. - if (blockTypeSettings?.attributes?.[META_ATTRIBUTE_NAME]?.type) { - return blockTypeSettings; - } - const supportsBlockNaming = hasBlockMetadataSupport(blockTypeSettings, 'name'); - if (supportsBlockNaming) { - blockTypeSettings.attributes = { - ...blockTypeSettings.attributes, - [META_ATTRIBUTE_NAME]: { - type: 'object' - } - }; - } - return blockTypeSettings; -} -function metadata_addSaveProps(extraProps, blockType, attributes) { - if (hasBlockMetadataSupport(blockType)) { - extraProps[META_ATTRIBUTE_NAME] = attributes[META_ATTRIBUTE_NAME]; - } - return extraProps; -} -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/metadata/addMetaAttribute', addMetaAttribute); -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.getSaveContent.extraProps', 'core/metadata/save-props', metadata_addSaveProps); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/metadata-name.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -/** - * Filters registered block settings, adding an `__experimentalLabel` callback if one does not already exist. - * - * @param {Object} settings Original block settings. - * - * @return {Object} Filtered block settings. - */ -function addLabelCallback(settings) { - // If blocks provide their own label callback, do not override it. - if (settings.__experimentalLabel) { - return settings; - } - const supportsBlockNaming = hasBlockMetadataSupport(settings, 'name', false // default value - ); - - // Check whether block metadata is supported before using it. - if (supportsBlockNaming) { - settings.__experimentalLabel = (attributes, { - context - }) => { - const { - metadata - } = attributes; - - // In the list view, use the block's name attribute as the label. - if (context === 'list-view' && metadata?.name) { - return metadata.name; - } - }; - } - return settings; -} -(0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/metadata/addLabelCallback', addLabelCallback); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/custom-fields.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - -/** - * Filters registered block settings, extending attributes to include `connections`. - * - * @param {Object} settings Original block settings. - * - * @return {Object} Filtered block settings. - */ -function custom_fields_addAttribute(settings) { - if ((0,external_wp_blocks_namespaceObject.hasBlockSupport)(settings, '__experimentalConnections', true)) { - // Gracefully handle if settings.attributes.connections is undefined. - settings.attributes = { - ...settings.attributes, - connections: { - type: 'object' - } - }; - } - return settings; -} - -/** - * Override the default edit UI to include a new block inspector control for - * assigning a connection to blocks that has support for connections. - * Currently, only the `core/paragraph` block is supported and there is only a relation - * between paragraph content and a custom field. - * - * @param {WPComponent} BlockEdit Original component. - * - * @return {WPComponent} Wrapped component. - */ -const custom_fields_withInspectorControl = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => { - return props => { - const blockEditingMode = useBlockEditingMode(); - const hasCustomFieldsSupport = (0,external_wp_blocks_namespaceObject.hasBlockSupport)(props.name, '__experimentalConnections', false); - - // Check if the current block is a paragraph or image block. - // Currently, only these two blocks are supported. - if (!['core/paragraph', 'core/image'].includes(props.name)) { - return (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - ...props - }); - } - - // If the block is a paragraph or image block, we need to know which - // attribute to use for the connection. Only the `content` attribute - // of the paragraph block and the `url` attribute of the image block are supported. - let attributeName; - if (props.name === 'core/paragraph') attributeName = 'content'; - if (props.name === 'core/image') attributeName = 'url'; - if (hasCustomFieldsSupport && props.isSelected) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - ...props - }), blockEditingMode === 'default' && (0,external_wp_element_namespaceObject.createElement)(inspector_controls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { - title: (0,external_wp_i18n_namespaceObject.__)('Connections'), - initialOpen: true - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextControl, { - __nextHasNoMarginBottom: true, - autoComplete: "off", - label: (0,external_wp_i18n_namespaceObject.__)('Custom field meta_key'), - value: props.attributes?.connections?.attributes?.[attributeName]?.value || '', - onChange: nextValue => { - if (nextValue === '') { - props.setAttributes({ - connections: undefined, - [attributeName]: undefined, - placeholder: undefined - }); - } else { - props.setAttributes({ - connections: { - attributes: { - // The attributeName will be either `content` or `url`. - [attributeName]: { - // Source will be variable, could be post_meta, user_meta, term_meta, etc. - // Could even be a custom source like a social media attribute. - source: 'meta_fields', - value: nextValue - } - } - }, - [attributeName]: undefined, - placeholder: (0,external_wp_i18n_namespaceObject.sprintf)('This content will be replaced on the frontend by the value of "%s" custom field.', nextValue) - }); - } - } - })))); - } - return (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - ...props - }); - }; -}, 'withInspectorControl'); -if (window.__experimentalConnections) { - (0,external_wp_hooks_namespaceObject.addFilter)('blocks.registerBlockType', 'core/connections/attribute', custom_fields_addAttribute); - (0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/connections/with-inspector-control', custom_fields_withInspectorControl); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/block-hooks.js - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - - -const block_hooks_EMPTY_OBJECT = {}; -function BlockHooksControl(props) { - const blockTypes = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_blocks_namespaceObject.store).getBlockTypes(), []); - const hookedBlocksForCurrentBlock = (0,external_wp_element_namespaceObject.useMemo)(() => blockTypes?.filter(({ - blockHooks - }) => blockHooks && props.blockName in blockHooks), [blockTypes, props.blockName]); + const selectedBlockElement = useBlockElement(clientId); + const [toolbarHeight, setToolbarHeight] = (0,external_wp_element_namespaceObject.useState)(0); const { blockIndex, - rootClientId, - innerBlocksLength + isSticky } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { - getBlock, getBlockIndex, - getBlockRootClientId + getBlockAttributes } = select(store); return { - blockIndex: getBlockIndex(props.clientId), - innerBlocksLength: getBlock(props.clientId)?.innerBlocks?.length, - rootClientId: getBlockRootClientId(props.clientId) + blockIndex: getBlockIndex(clientId), + isSticky: hasStickyOrFixedPositionValue(getBlockAttributes(clientId)) }; - }, [props.clientId]); - const hookedBlockClientIds = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlock, - getGlobalBlockCount - } = select(store); - const _hookedBlockClientIds = hookedBlocksForCurrentBlock.reduce((clientIds, block) => { - // If the block doesn't exist anywhere in the block tree, - // we know that we have to display the toggle for it, and set - // it to disabled. - if (getGlobalBlockCount(block.name) === 0) { - return clientIds; - } - const relativePosition = block?.blockHooks?.[props.blockName]; - let candidates; - switch (relativePosition) { - case 'before': - case 'after': - // Any of the current block's siblings (with the right block type) qualifies - // as a hooked block (inserted `before` or `after` the current one), as the block - // might've been automatically inserted and then moved around a bit by the user. - candidates = getBlock(rootClientId)?.innerBlocks; - break; - case 'first_child': - case 'last_child': - // Any of the current block's child blocks (with the right block type) qualifies - // as a hooked first or last child block, as the block might've been automatically - // inserted and then moved around a bit by the user. - candidates = getBlock(props.clientId).innerBlocks; - break; - } - const hookedBlock = candidates?.find(({ - name - }) => name === block.name); - - // If the block exists in the designated location, we consider it hooked - // and show the toggle as enabled. - if (hookedBlock) { - return { - ...clientIds, - [block.name]: hookedBlock.clientId - }; - } - - // If no hooked block was found in any of its designated locations, - // but it exists elsewhere in the block tree, we consider it manually inserted. - // In this case, we take note and will remove the corresponding toggle from the - // block inspector panel. - return { - ...clientIds, - [block.name]: false - }; - }, {}); - if (Object.values(_hookedBlockClientIds).length > 0) { - return _hookedBlockClientIds; + }, [clientId]); + const scrollContainer = (0,external_wp_element_namespaceObject.useMemo)(() => { + if (!contentElement) { + return; } - return block_hooks_EMPTY_OBJECT; - }, [hookedBlocksForCurrentBlock, props.blockName, props.clientId, rootClientId]); - const { - insertBlock, - removeBlock - } = (0,external_wp_data_namespaceObject.useDispatch)(store); + return (0,external_wp_dom_namespaceObject.getScrollContainer)(contentElement); + }, [contentElement]); + const [props, setProps] = (0,external_wp_element_namespaceObject.useState)(() => getProps(contentElement, selectedBlockElement, scrollContainer, toolbarHeight, isSticky)); + const popoverRef = (0,external_wp_compose_namespaceObject.useRefEffect)(popoverNode => { + setToolbarHeight(popoverNode.offsetHeight); + }, []); + const updateProps = (0,external_wp_element_namespaceObject.useCallback)(() => setProps(getProps(contentElement, selectedBlockElement, scrollContainer, toolbarHeight, isSticky)), [contentElement, selectedBlockElement, scrollContainer, toolbarHeight]); - // Remove toggle if block isn't present in the designated location but elsewhere in the block tree. - const hookedBlocksForCurrentBlockIfNotPresentElsewhere = hookedBlocksForCurrentBlock?.filter(block => hookedBlockClientIds?.[block.name] !== false); - if (!hookedBlocksForCurrentBlockIfNotPresentElsewhere.length) { - return null; - } + // Update props when the block is moved. This also ensures the props are + // correct on initial mount, and when the selected block or content element + // changes (since the callback ref will update). + (0,external_wp_element_namespaceObject.useLayoutEffect)(updateProps, [blockIndex, updateProps]); - // Group by block namespace (i.e. prefix before the slash). - const groupedHookedBlocks = hookedBlocksForCurrentBlock.reduce((groups, block) => { - const [namespace] = block.name.split('/'); - if (!groups[namespace]) { - groups[namespace] = []; + // Update props when the viewport is resized or the block is resized. + (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { + if (!contentElement || !selectedBlockElement) { + return; } - groups[namespace].push(block); - return groups; - }, {}); - const insertBlockIntoDesignatedLocation = (block, relativePosition) => { - switch (relativePosition) { - case 'before': - case 'after': - insertBlock(block, relativePosition === 'after' ? blockIndex + 1 : blockIndex, rootClientId, - // Insert as a child of the current block's parent - false); - break; - case 'first_child': - case 'last_child': - insertBlock(block, - // TODO: It'd be great if insertBlock() would accept negative indices for insertion. - relativePosition === 'first_child' ? 0 : innerBlocksLength, props.clientId, - // Insert as a child of the current block. - false); - break; + + // Update the toolbar props on viewport resize. + const contentView = contentElement?.ownerDocument?.defaultView; + contentView?.addEventHandler?.('resize', updateProps); + + // Update the toolbar props on block resize. + let resizeObserver; + const blockView = selectedBlockElement?.ownerDocument?.defaultView; + if (blockView.ResizeObserver) { + resizeObserver = new blockView.ResizeObserver(updateProps); + resizeObserver.observe(selectedBlockElement); } + return () => { + contentView?.removeEventHandler?.('resize', updateProps); + if (resizeObserver) { + resizeObserver.disconnect(); + } + }; + }, [updateProps, contentElement, selectedBlockElement]); + return { + ...props, + ref: popoverRef }; - return (0,external_wp_element_namespaceObject.createElement)(inspector_controls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { - className: "block-editor-hooks__block-hooks", - title: (0,external_wp_i18n_namespaceObject.__)('Plugins'), - initialOpen: true - }, Object.keys(groupedHookedBlocks).map(vendor => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, { - key: vendor - }, (0,external_wp_element_namespaceObject.createElement)("h3", null, vendor), groupedHookedBlocks[vendor].map(block => { - const checked = (block.name in hookedBlockClientIds); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { - checked: checked, - key: block.title, - label: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - justify: "flex-start" - }, (0,external_wp_element_namespaceObject.createElement)(block_icon, { - icon: block.icon - }), (0,external_wp_element_namespaceObject.createElement)("span", null, block.title)), - onChange: () => { - if (!checked) { - // Create and insert block. - const relativePosition = block.blockHooks[props.blockName]; - insertBlockIntoDesignatedLocation((0,external_wp_blocks_namespaceObject.createBlock)(block.name), relativePosition); - return; - } +} - // Remove block. - const clientId = hookedBlockClientIds[block.name]; - removeBlock(clientId, false); - } - }); - })); +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/use-selected-block-tool-props.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +/** + * Returns props for the selected block tools and empty block inserter. + * + * @param {string} clientId Selected block client ID. + */ +function useSelectedBlockToolProps(clientId) { + const selectedBlockProps = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlockRootClientId, + getBlockParents, + __experimentalGetBlockListSettingsForBlocks, + isBlockInsertionPointVisible, + getBlockInsertionPoint, + getBlockOrder, + hasMultiSelection, + getLastMultiSelectedBlockClientId + } = select(store); + const blockParentsClientIds = getBlockParents(clientId); + + // Get Block List Settings for all ancestors of the current Block clientId. + const parentBlockListSettings = __experimentalGetBlockListSettingsForBlocks(blockParentsClientIds); + + // Get the clientId of the topmost parent with the capture toolbars setting. + const capturingClientId = blockParentsClientIds.find(parentClientId => parentBlockListSettings[parentClientId]?.__experimentalCaptureToolbars); + let isInsertionPointVisible = false; + if (isBlockInsertionPointVisible()) { + const insertionPoint = getBlockInsertionPoint(); + const order = getBlockOrder(insertionPoint.rootClientId); + isInsertionPointVisible = order[insertionPoint.index] === clientId; + } + return { + capturingClientId, + isInsertionPointVisible, + lastClientId: hasMultiSelection() ? getLastMultiSelectedBlockClientId() : null, + rootClientId: getBlockRootClientId(clientId) + }; + }, [clientId]); + return selectedBlockProps; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/empty-block-inserter.js + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + +function EmptyBlockInserter({ + clientId, + __unstableContentRef +}) { + const { + capturingClientId, + isInsertionPointVisible, + lastClientId, + rootClientId + } = useSelectedBlockToolProps(clientId); + const popoverProps = useBlockToolbarPopoverProps({ + contentElement: __unstableContentRef?.current, + clientId + }); + return (0,external_React_.createElement)(block_popover, { + clientId: capturingClientId || clientId, + __unstableCoverTarget: true, + bottomClientId: lastClientId, + className: classnames_default()('block-editor-block-list__block-side-inserter-popover', { + 'is-insertion-point-visible': isInsertionPointVisible + }), + __unstableContentRef: __unstableContentRef, + resize: false, + shift: false, + ...popoverProps + }, (0,external_React_.createElement)("div", { + className: "block-editor-block-list__empty-block-inserter" + }, (0,external_React_.createElement)(inserter, { + position: "bottom right", + rootClientId: rootClientId, + clientId: clientId, + __experimentalIsQuick: true }))); } -const withBlockHooks = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => { - return props => { - const blockEdit = (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - key: "edit", - ...props - }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, blockEdit, (0,external_wp_element_namespaceObject.createElement)(BlockHooksControl, { - blockName: props.name, - clientId: props.clientId - })); - }; -}, 'withBlockHooks'); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/block-hooks/with-inspector-control', withBlockHooks); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/block-rename.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-draggable/use-scroll-when-dragging.js /** * WordPress dependencies */ - - - +const SCROLL_INACTIVE_DISTANCE_PX = 50; +const SCROLL_INTERVAL_MS = 25; +const PIXELS_PER_SECOND_PER_PERCENTAGE = 1000; +const VELOCITY_MULTIPLIER = PIXELS_PER_SECOND_PER_PERCENTAGE * (SCROLL_INTERVAL_MS / 1000); /** - * Internal dependencies + * React hook that scrolls the scroll container when a block is being dragged. + * + * @return {Function[]} `startScrolling`, `scrollOnDragOver`, `stopScrolling` + * functions to be called in `onDragStart`, `onDragOver` + * and `onDragEnd` events respectively. */ +function useScrollWhenDragging() { + const dragStartY = (0,external_wp_element_namespaceObject.useRef)(null); + const velocityY = (0,external_wp_element_namespaceObject.useRef)(null); + const scrollParentY = (0,external_wp_element_namespaceObject.useRef)(null); + const scrollEditorInterval = (0,external_wp_element_namespaceObject.useRef)(null); -const withBlockRenameControl = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => props => { - const { - name, - attributes, - setAttributes, - isSelected - } = props; - const supportsBlockNaming = (0,external_wp_blocks_namespaceObject.hasBlockSupport)(name, '__experimentalMetadata', false); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, isSelected && supportsBlockNaming && (0,external_wp_element_namespaceObject.createElement)(inspector_controls, { - group: "advanced" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextControl, { - __nextHasNoMarginBottom: true, - label: (0,external_wp_i18n_namespaceObject.__)('Block name'), - value: attributes?.metadata?.name || '', - onChange: newName => { - setAttributes({ - metadata: { - ...attributes?.metadata, - name: newName - } - }); + // Clear interval when unmounting. + (0,external_wp_element_namespaceObject.useEffect)(() => () => { + if (scrollEditorInterval.current) { + clearInterval(scrollEditorInterval.current); + scrollEditorInterval.current = null; } - })), (0,external_wp_element_namespaceObject.createElement)(BlockEdit, { - key: "edit", - ...props - })); -}, 'withToolbarControls'); -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/block-rename-ui/with-block-rename-control', withBlockRenameControl); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/use-border-props.js -/** - * Internal dependencies - */ - - - - -// This utility is intended to assist where the serialization of the border -// block support is being skipped for a block but the border related CSS classes -// & styles still need to be generated so they can be applied to inner elements. - -/** - * Provides the CSS class names and inline styles for a block's border support - * attributes. - * - * @param {Object} attributes Block attributes. - * @return {Object} Border block support derived CSS classes & styles. - */ -function getBorderClassesAndStyles(attributes) { - const border = attributes.style?.border || {}; - const className = getBorderClasses(attributes); - return { - className: className || undefined, - style: getInlineStyles({ - border - }) - }; -} - -/** - * Derives the border related props for a block from its border block support - * attributes. - * - * Inline styles are forced for named colors to ensure these selections are - * reflected when themes do not load their color stylesheets in the editor. - * - * @param {Object} attributes Block attributes. - * - * @return {Object} ClassName & style props from border block support. - */ -function useBorderProps(attributes) { - const { - colors - } = useMultipleOriginColorsAndGradients(); - const borderProps = getBorderClassesAndStyles(attributes); - const { - borderColor - } = attributes; - - // Force inline styles to apply named border colors when themes do not load - // their color stylesheets in the editor. - if (borderColor) { - const borderColorObject = getMultiOriginColor({ - colors, - namedColor: borderColor - }); - borderProps.style.borderColor = borderColorObject.color; - } - return borderProps; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/use-color-props.js -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - - - -// The code in this file has largely been lifted from the color block support -// hook. -// -// This utility is intended to assist where the serialization of the colors -// block support is being skipped for a block but the color related CSS classes -// & styles still need to be generated so they can be applied to inner elements. - -/** - * Provides the CSS class names and inline styles for a block's color support - * attributes. - * - * @param {Object} attributes Block attributes. - * - * @return {Object} Color block support derived CSS classes & styles. - */ -function getColorClassesAndStyles(attributes) { - const { - backgroundColor, - textColor, - gradient, - style - } = attributes; - - // Collect color CSS classes. - const backgroundClass = getColorClassName('background-color', backgroundColor); - const textClass = getColorClassName('color', textColor); - const gradientClass = __experimentalGetGradientClass(gradient); - const hasGradient = gradientClass || style?.color?.gradient; - - // Determine color CSS class name list. - const className = classnames_default()(textClass, gradientClass, { - // Don't apply the background class if there's a gradient. - [backgroundClass]: !hasGradient && !!backgroundClass, - 'has-text-color': textColor || style?.color?.text, - 'has-background': backgroundColor || style?.color?.background || gradient || style?.color?.gradient, - 'has-link-color': style?.elements?.link?.color - }); - - // Collect inline styles for colors. - const colorStyles = style?.color || {}; - const styleProp = getInlineStyles({ - color: colorStyles - }); - return { - className: className || undefined, - style: styleProp - }; -} -const use_color_props_EMPTY_OBJECT = {}; - -/** - * Determines the color related props for a block derived from its color block - * support attributes. - * - * Inline styles are forced for named colors to ensure these selections are - * reflected when themes do not load their color stylesheets in the editor. - * - * @param {Object} attributes Block attributes. - * - * @return {Object} ClassName & style props from colors block support. - */ -function useColorProps(attributes) { - const { - backgroundColor, - textColor, - gradient - } = attributes; - - // Some color settings have a special handling for deprecated flags in `useSetting`, - // so we can't unwrap them by doing const { ... } = useSetting('color') - // until https://github.com/WordPress/gutenberg/issues/37094 is fixed. - const userPalette = use_setting_useSetting('color.palette.custom'); - const themePalette = use_setting_useSetting('color.palette.theme'); - const defaultPalette = use_setting_useSetting('color.palette.default'); - const gradientsPerOrigin = use_setting_useSetting('color.gradients') || use_color_props_EMPTY_OBJECT; - const colors = (0,external_wp_element_namespaceObject.useMemo)(() => [...(userPalette || []), ...(themePalette || []), ...(defaultPalette || [])], [userPalette, themePalette, defaultPalette]); - const gradients = (0,external_wp_element_namespaceObject.useMemo)(() => [...(gradientsPerOrigin?.custom || []), ...(gradientsPerOrigin?.theme || []), ...(gradientsPerOrigin?.default || [])], [gradientsPerOrigin]); - const colorProps = getColorClassesAndStyles(attributes); - - // Force inline styles to apply colors when themes do not load their color - // stylesheets in the editor. - if (backgroundColor) { - const backgroundColorObject = getColorObjectByAttributeValues(colors, backgroundColor); - colorProps.style.backgroundColor = backgroundColorObject.color; - } - if (gradient) { - colorProps.style.background = getGradientValueBySlug(gradients, gradient); - } - if (textColor) { - const textColorObject = getColorObjectByAttributeValues(colors, textColor); - colorProps.style.color = textColorObject.color; - } - return colorProps; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/use-spacing-props.js -/** - * Internal dependencies - */ - - -// This utility is intended to assist where the serialization of the spacing -// block support is being skipped for a block but the spacing related CSS -// styles still need to be generated so they can be applied to inner elements. - -/** - * Provides the CSS class names and inline styles for a block's spacing support - * attributes. - * - * @param {Object} attributes Block attributes. - * - * @return {Object} Spacing block support derived CSS classes & styles. - */ -function getSpacingClassesAndStyles(attributes) { - const { - style - } = attributes; - - // Collect inline styles for spacing. - const spacingStyles = style?.spacing || {}; - const styleProp = getInlineStyles({ - spacing: spacingStyles - }); - return { - style: styleProp - }; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/use-typography-props.js -/** - * External dependencies - */ - - -/** - * Internal dependencies - */ - - - - - -/* - * This utility is intended to assist where the serialization of the typography - * block support is being skipped for a block but the typography related CSS - * styles still need to be generated so they can be applied to inner elements. - */ -/** - * Provides the CSS class names and inline styles for a block's typography support - * attributes. - * - * @param {Object} attributes Block attributes. - * @param {Object|boolean} settings Merged theme.json settings - * - * @return {Object} Typography block support derived CSS classes & styles. - */ -function getTypographyClassesAndStyles(attributes, settings) { - let typographyStyles = attributes?.style?.typography || {}; - const fluidTypographySettings = getFluidTypographyOptionsFromSettings(settings); - typographyStyles = { - ...typographyStyles, - fontSize: getTypographyFontSizeValue({ - size: attributes?.style?.typography?.fontSize - }, fluidTypographySettings) - }; - const style = getInlineStyles({ - typography: typographyStyles - }); - const fontFamilyClassName = !!attributes?.fontFamily ? `has-${kebabCase(attributes.fontFamily)}-font-family` : ''; - const className = classnames_default()(fontFamilyClassName, getFontSizeClass(attributes?.fontSize)); - return { - className, - style - }; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/use-cached-truthy.js -/** - * WordPress dependencies - */ - - -/** - * Keeps an up-to-date copy of the passed value and returns it. If value becomes falsy, it will return the last truthy copy. - * - * @param {any} value - * @return {any} value - */ -function useCachedTruthy(value) { - const [cachedValue, setCachedValue] = (0,external_wp_element_namespaceObject.useState)(value); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (value) { - setCachedValue(value); - } - }, [value]); - return cachedValue; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/index.js -/** - * Internal dependencies - */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/with-colors.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - -/** - * Capitalizes the first letter in a string. - * - * @param {string} str The string whose first letter the function will capitalize. - * - * @return {string} Capitalized string. - */ -const upperFirst = ([firstLetter, ...rest]) => firstLetter.toUpperCase() + rest.join(''); - -/** - * Higher order component factory for injecting the `colorsArray` argument as - * the colors prop in the `withCustomColors` HOC. - * - * @param {Array} colorsArray An array of color objects. - * - * @return {Function} The higher order component. - */ -const withCustomColorPalette = colorsArray => (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(WrappedComponent => props => (0,external_wp_element_namespaceObject.createElement)(WrappedComponent, { - ...props, - colors: colorsArray -}), 'withCustomColorPalette'); - -/** - * Higher order component factory for injecting the editor colors as the - * `colors` prop in the `withColors` HOC. - * - * @return {Function} The higher order component. - */ -const withEditorColorPalette = () => (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(WrappedComponent => props => { - // Some color settings have a special handling for deprecated flags in `useSetting`, - // so we can't unwrap them by doing const { ... } = useSetting('color') - // until https://github.com/WordPress/gutenberg/issues/37094 is fixed. - const userPalette = use_setting_useSetting('color.palette.custom'); - const themePalette = use_setting_useSetting('color.palette.theme'); - const defaultPalette = use_setting_useSetting('color.palette.default'); - const allColors = (0,external_wp_element_namespaceObject.useMemo)(() => [...(userPalette || []), ...(themePalette || []), ...(defaultPalette || [])], [userPalette, themePalette, defaultPalette]); - return (0,external_wp_element_namespaceObject.createElement)(WrappedComponent, { - ...props, - colors: allColors - }); -}, 'withEditorColorPalette'); - -/** - * Helper function used with `createHigherOrderComponent` to create - * higher order components for managing color logic. - * - * @param {Array} colorTypes An array of color types (e.g. 'backgroundColor, borderColor). - * @param {Function} withColorPalette A HOC for injecting the 'colors' prop into the WrappedComponent. - * - * @return {WPComponent} The component that can be used as a HOC. - */ -function createColorHOC(colorTypes, withColorPalette) { - const colorMap = colorTypes.reduce((colorObject, colorType) => { - return { - ...colorObject, - ...(typeof colorType === 'string' ? { - [colorType]: kebabCase(colorType) - } : colorType) - }; - }, {}); - return (0,external_wp_compose_namespaceObject.compose)([withColorPalette, WrappedComponent => { - return class extends external_wp_element_namespaceObject.Component { - constructor(props) { - super(props); - this.setters = this.createSetters(); - this.colorUtils = { - getMostReadableColor: this.getMostReadableColor.bind(this) - }; - this.state = {}; - } - getMostReadableColor(colorValue) { - const { - colors - } = this.props; - return getMostReadableColor(colors, colorValue); - } - createSetters() { - return Object.keys(colorMap).reduce((settersAccumulator, colorAttributeName) => { - const upperFirstColorAttributeName = upperFirst(colorAttributeName); - const customColorAttributeName = `custom${upperFirstColorAttributeName}`; - settersAccumulator[`set${upperFirstColorAttributeName}`] = this.createSetColor(colorAttributeName, customColorAttributeName); - return settersAccumulator; - }, {}); - } - createSetColor(colorAttributeName, customColorAttributeName) { - return colorValue => { - const colorObject = getColorObjectByColorValue(this.props.colors, colorValue); - this.props.setAttributes({ - [colorAttributeName]: colorObject && colorObject.slug ? colorObject.slug : undefined, - [customColorAttributeName]: colorObject && colorObject.slug ? undefined : colorValue - }); - }; - } - static getDerivedStateFromProps({ - attributes, - colors - }, previousState) { - return Object.entries(colorMap).reduce((newState, [colorAttributeName, colorContext]) => { - const colorObject = getColorObjectByAttributeValues(colors, attributes[colorAttributeName], attributes[`custom${upperFirst(colorAttributeName)}`]); - const previousColorObject = previousState[colorAttributeName]; - const previousColor = previousColorObject?.color; - /** - * The "and previousColorObject" condition checks that a previous color object was already computed. - * At the start previousColorObject and colorValue are both equal to undefined - * bus as previousColorObject does not exist we should compute the object. - */ - if (previousColor === colorObject.color && previousColorObject) { - newState[colorAttributeName] = previousColorObject; - } else { - newState[colorAttributeName] = { - ...colorObject, - class: getColorClassName(colorContext, colorObject.slug) - }; - } - return newState; - }, {}); - } - render() { - return (0,external_wp_element_namespaceObject.createElement)(WrappedComponent, { - ...this.props, - colors: undefined, - ...this.state, - ...this.setters, - colorUtils: this.colorUtils + }, []); + const startScrolling = (0,external_wp_element_namespaceObject.useCallback)(event => { + dragStartY.current = event.clientY; + + // Find nearest parent(s) to scroll. + scrollParentY.current = (0,external_wp_dom_namespaceObject.getScrollContainer)(event.target); + scrollEditorInterval.current = setInterval(() => { + if (scrollParentY.current && velocityY.current) { + const newTop = scrollParentY.current.scrollTop + velocityY.current; + + // Setting `behavior: 'smooth'` as a scroll property seems to hurt performance. + // Better to use a small scroll interval. + scrollParentY.current.scroll({ + top: newTop }); } - }; - }]); -} - -/** - * A higher-order component factory for creating a 'withCustomColors' HOC, which handles color logic - * for class generation color value, retrieval and color attribute setting. - * - * Use this higher-order component to work with a custom set of colors. - * - * @example - * - * ```jsx - * const CUSTOM_COLORS = [ { name: 'Red', slug: 'red', color: '#ff0000' }, { name: 'Blue', slug: 'blue', color: '#0000ff' } ]; - * const withCustomColors = createCustomColorsHOC( CUSTOM_COLORS ); - * // ... - * export default compose( - * withCustomColors( 'backgroundColor', 'borderColor' ), - * MyColorfulComponent, - * ); - * ``` - * - * @param {Array} colorsArray The array of color objects (name, slug, color, etc... ). - * - * @return {Function} Higher-order component. - */ -function createCustomColorsHOC(colorsArray) { - return (...colorTypes) => { - const withColorPalette = withCustomColorPalette(colorsArray); - return (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(createColorHOC(colorTypes, withColorPalette), 'withCustomColors'); - }; -} - -/** - * A higher-order component, which handles color logic for class generation color value, retrieval and color attribute setting. - * - * For use with the default editor/theme color palette. - * - * @example - * - * ```jsx - * export default compose( - * withColors( 'backgroundColor', { textColor: 'color' } ), - * MyColorfulComponent, - * ); - * ``` - * - * @param {...(Object|string)} colorTypes The arguments can be strings or objects. If the argument is an object, - * it should contain the color attribute name as key and the color context as value. - * If the argument is a string the value should be the color attribute name, - * the color context is computed by applying a kebab case transform to the value. - * Color context represents the context/place where the color is going to be used. - * The class name of the color is generated using 'has' followed by the color name - * and ending with the color context all in kebab case e.g: has-green-background-color. - * - * @return {Function} Higher-order component. - */ -function withColors(...colorTypes) { - const withColorPalette = withEditorColorPalette(); - return (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(createColorHOC(colorTypes, withColorPalette), 'withColors'); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/index.js - - - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/gradients/index.js - - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/font-size-picker.js - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - -function font_size_picker_FontSizePicker(props) { - const fontSizes = use_setting_useSetting('typography.fontSizes'); - const disableCustomFontSizes = !use_setting_useSetting('typography.customFontSize'); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FontSizePicker, { - ...props, - fontSizes: fontSizes, - disableCustomFontSizes: disableCustomFontSizes - }); -} - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/font-sizes/README.md - */ -/* harmony default export */ var font_size_picker = (font_size_picker_FontSizePicker); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/with-font-sizes.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -const DEFAULT_FONT_SIZES = []; - -/** - * Capitalizes the first letter in a string. - * - * @param {string} str The string whose first letter the function will capitalize. - * - * @return {string} Capitalized string. - */ -const with_font_sizes_upperFirst = ([firstLetter, ...rest]) => firstLetter.toUpperCase() + rest.join(''); - -/** - * Higher-order component, which handles font size logic for class generation, - * font size value retrieval, and font size change handling. - * - * @param {...(Object|string)} fontSizeNames The arguments should all be strings. - * Each string contains the font size - * attribute name e.g: 'fontSize'. - * - * @return {Function} Higher-order component. - */ -/* harmony default export */ var with_font_sizes = ((...fontSizeNames) => { - /* - * Computes an object whose key is the font size attribute name as passed in the array, - * and the value is the custom font size attribute name. - * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized. - */ - const fontSizeAttributeNames = fontSizeNames.reduce((fontSizeAttributeNamesAccumulator, fontSizeAttributeName) => { - fontSizeAttributeNamesAccumulator[fontSizeAttributeName] = `custom${with_font_sizes_upperFirst(fontSizeAttributeName)}`; - return fontSizeAttributeNamesAccumulator; - }, {}); - return (0,external_wp_compose_namespaceObject.createHigherOrderComponent)((0,external_wp_compose_namespaceObject.compose)([(0,external_wp_compose_namespaceObject.createHigherOrderComponent)(WrappedComponent => props => { - const fontSizes = use_setting_useSetting('typography.fontSizes') || DEFAULT_FONT_SIZES; - return (0,external_wp_element_namespaceObject.createElement)(WrappedComponent, { - ...props, - fontSizes: fontSizes - }); - }, 'withFontSizes'), WrappedComponent => { - return class extends external_wp_element_namespaceObject.Component { - constructor(props) { - super(props); - this.setters = this.createSetters(); - this.state = {}; - } - createSetters() { - return Object.entries(fontSizeAttributeNames).reduce((settersAccumulator, [fontSizeAttributeName, customFontSizeAttributeName]) => { - const upperFirstFontSizeAttributeName = with_font_sizes_upperFirst(fontSizeAttributeName); - settersAccumulator[`set${upperFirstFontSizeAttributeName}`] = this.createSetFontSize(fontSizeAttributeName, customFontSizeAttributeName); - return settersAccumulator; - }, {}); - } - createSetFontSize(fontSizeAttributeName, customFontSizeAttributeName) { - return fontSizeValue => { - const fontSizeObject = this.props.fontSizes?.find(({ - size - }) => size === Number(fontSizeValue)); - this.props.setAttributes({ - [fontSizeAttributeName]: fontSizeObject && fontSizeObject.slug ? fontSizeObject.slug : undefined, - [customFontSizeAttributeName]: fontSizeObject && fontSizeObject.slug ? undefined : fontSizeValue - }); - }; - } - static getDerivedStateFromProps({ - attributes, - fontSizes - }, previousState) { - const didAttributesChange = (customFontSizeAttributeName, fontSizeAttributeName) => { - if (previousState[fontSizeAttributeName]) { - // If new font size is name compare with the previous slug. - if (attributes[fontSizeAttributeName]) { - return attributes[fontSizeAttributeName] !== previousState[fontSizeAttributeName].slug; - } - // If font size is not named, update when the font size value changes. - return previousState[fontSizeAttributeName].size !== attributes[customFontSizeAttributeName]; - } - // In this case we need to build the font size object. - return true; - }; - if (!Object.values(fontSizeAttributeNames).some(didAttributesChange)) { - return null; - } - const newState = Object.entries(fontSizeAttributeNames).filter(([key, value]) => didAttributesChange(value, key)).reduce((newStateAccumulator, [fontSizeAttributeName, customFontSizeAttributeName]) => { - const fontSizeAttributeValue = attributes[fontSizeAttributeName]; - const fontSizeObject = utils_getFontSize(fontSizes, fontSizeAttributeValue, attributes[customFontSizeAttributeName]); - newStateAccumulator[fontSizeAttributeName] = { - ...fontSizeObject, - class: getFontSizeClass(fontSizeAttributeValue) - }; - return newStateAccumulator; - }, {}); - return { - ...previousState, - ...newState - }; - } - render() { - return (0,external_wp_element_namespaceObject.createElement)(WrappedComponent, { - ...this.props, - fontSizes: undefined, - ...this.state, - ...this.setters - }); - } - }; - }]), 'withFontSizes'); -}); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/index.js - - - - - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/align-left.js - -/** - * WordPress dependencies - */ - -const alignLeft = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M13 5.5H4V4h9v1.5Zm7 7H4V11h16v1.5Zm-7 7H4V18h9v1.5Z" -})); -/* harmony default export */ var align_left = (alignLeft); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/align-center.js - -/** - * WordPress dependencies - */ - -const align_center_alignCenter = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M7.5 5.5h9V4h-9v1.5Zm-3.5 7h16V11H4v1.5Zm3.5 7h9V18h-9v1.5Z" -})); -/* harmony default export */ var align_center = (align_center_alignCenter); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/align-right.js - -/** - * WordPress dependencies - */ - -const alignRight = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M11.111 5.5H20V4h-8.889v1.5ZM4 12.5h16V11H4v1.5Zm7.111 7H20V18h-8.889v1.5Z" -})); -/* harmony default export */ var align_right = (alignRight); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/alignment-control/ui.js - -/** - * WordPress dependencies - */ - - - -const DEFAULT_ALIGNMENT_CONTROLS = [{ - icon: align_left, - title: (0,external_wp_i18n_namespaceObject.__)('Align text left'), - align: 'left' -}, { - icon: align_center, - title: (0,external_wp_i18n_namespaceObject.__)('Align text center'), - align: 'center' -}, { - icon: align_right, - title: (0,external_wp_i18n_namespaceObject.__)('Align text right'), - align: 'right' -}]; -const ui_POPOVER_PROPS = { - placement: 'bottom-start' -}; -function AlignmentUI({ - value, - onChange, - alignmentControls = DEFAULT_ALIGNMENT_CONTROLS, - label = (0,external_wp_i18n_namespaceObject.__)('Align text'), - describedBy = (0,external_wp_i18n_namespaceObject.__)('Change text alignment'), - isCollapsed = true, - isToolbar -}) { - function applyOrUnset(align) { - return () => onChange(value === align ? undefined : align); - } - const activeAlignment = alignmentControls.find(control => control.align === value); - function setIcon() { - if (activeAlignment) return activeAlignment.icon; - return (0,external_wp_i18n_namespaceObject.isRTL)() ? align_right : align_left; - } - const UIComponent = isToolbar ? external_wp_components_namespaceObject.ToolbarGroup : external_wp_components_namespaceObject.ToolbarDropdownMenu; - const extraProps = isToolbar ? { - isCollapsed - } : { - toggleProps: { - describedBy - }, - popoverProps: ui_POPOVER_PROPS - }; - return (0,external_wp_element_namespaceObject.createElement)(UIComponent, { - icon: setIcon(), - label: label, - controls: alignmentControls.map(control => { - const { - align - } = control; - const isActive = value === align; - return { - ...control, - isActive, - role: isCollapsed ? 'menuitemradio' : undefined, - onClick: applyOrUnset(align) - }; - }), - ...extraProps - }); -} -/* harmony default export */ var alignment_control_ui = (AlignmentUI); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/alignment-control/index.js - -/** - * Internal dependencies - */ - -const AlignmentControl = props => { - return (0,external_wp_element_namespaceObject.createElement)(alignment_control_ui, { - ...props, - isToolbar: false - }); -}; -const AlignmentToolbar = props => { - return (0,external_wp_element_namespaceObject.createElement)(alignment_control_ui, { - ...props, - isToolbar: true - }); -}; - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/alignment-control/README.md - */ - - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/autocompleters/block.js - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - - -const block_noop = () => {}; -const block_SHOWN_BLOCK_TYPES = 9; - -/** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */ - -/** - * Creates a blocks repeater for replacing the current block with a selected block type. - * - * @return {WPCompleter} A blocks completer. - */ -function createBlockCompleter() { - return { - name: 'blocks', - className: 'block-editor-autocompleters__block', - triggerPrefix: '/', - useItems(filterValue) { - const { - rootClientId, - selectedBlockName, - prioritizedBlocks - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSelectedBlockClientId, - getBlockName, - getBlockListSettings, - getBlockRootClientId - } = select(store); - const selectedBlockClientId = getSelectedBlockClientId(); - const _rootClientId = getBlockRootClientId(selectedBlockClientId); - return { - selectedBlockName: selectedBlockClientId ? getBlockName(selectedBlockClientId) : null, - rootClientId: _rootClientId, - prioritizedBlocks: getBlockListSettings(_rootClientId)?.prioritizedInserterBlocks - }; - }, []); - const [items, categories, collections] = use_block_types_state(rootClientId, block_noop); - const filteredItems = (0,external_wp_element_namespaceObject.useMemo)(() => { - const initialFilteredItems = !!filterValue.trim() ? searchBlockItems(items, categories, collections, filterValue) : orderInserterBlockItems(orderBy(items, 'frecency', 'desc'), prioritizedBlocks); - return initialFilteredItems.filter(item => item.name !== selectedBlockName).slice(0, block_SHOWN_BLOCK_TYPES); - }, [filterValue, selectedBlockName, items, categories, collections, prioritizedBlocks]); - const options = (0,external_wp_element_namespaceObject.useMemo)(() => filteredItems.map(blockItem => { - const { - title, - icon, - isDisabled - } = blockItem; - return { - key: `block-${blockItem.id}`, - value: blockItem, - label: (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(block_icon, { - key: "icon", - icon: icon, - showColors: true - }), title), - isDisabled - }; - }), [filteredItems]); - return [options]; - }, - allowContext(before, after) { - return !(/\S/.test(before) || /\S/.test(after)); - }, - getOptionCompletion(inserterItem) { - const { - name, - initialAttributes, - innerBlocks, - syncStatus, - content - } = inserterItem; - return { - action: 'replace', - value: syncStatus === 'unsynced' ? (0,external_wp_blocks_namespaceObject.parse)(content, { - __unstableSkipMigrationLogs: true - }) : (0,external_wp_blocks_namespaceObject.createBlock)(name, initialAttributes, (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(innerBlocks)) - }; + }, SCROLL_INTERVAL_MS); + }, []); + const scrollOnDragOver = (0,external_wp_element_namespaceObject.useCallback)(event => { + if (!scrollParentY.current) { + return; + } + const scrollParentHeight = scrollParentY.current.offsetHeight; + const offsetDragStartPosition = dragStartY.current - scrollParentY.current.offsetTop; + const offsetDragPosition = event.clientY - scrollParentY.current.offsetTop; + if (event.clientY > offsetDragStartPosition) { + // User is dragging downwards. + const moveableDistance = Math.max(scrollParentHeight - offsetDragStartPosition - SCROLL_INACTIVE_DISTANCE_PX, 0); + const dragDistance = Math.max(offsetDragPosition - offsetDragStartPosition - SCROLL_INACTIVE_DISTANCE_PX, 0); + const distancePercentage = moveableDistance === 0 || dragDistance === 0 ? 0 : dragDistance / moveableDistance; + velocityY.current = VELOCITY_MULTIPLIER * distancePercentage; + } else if (event.clientY < offsetDragStartPosition) { + // User is dragging upwards. + const moveableDistance = Math.max(offsetDragStartPosition - SCROLL_INACTIVE_DISTANCE_PX, 0); + const dragDistance = Math.max(offsetDragStartPosition - offsetDragPosition - SCROLL_INACTIVE_DISTANCE_PX, 0); + const distancePercentage = moveableDistance === 0 || dragDistance === 0 ? 0 : dragDistance / moveableDistance; + velocityY.current = -VELOCITY_MULTIPLIER * distancePercentage; + } else { + velocityY.current = 0; + } + }, []); + const stopScrolling = () => { + dragStartY.current = null; + scrollParentY.current = null; + if (scrollEditorInterval.current) { + clearInterval(scrollEditorInterval.current); + scrollEditorInterval.current = null; } }; + return [startScrolling, scrollOnDragOver, stopScrolling]; } -/** - * Creates a blocks repeater for replacing the current block with a selected block type. - * - * @return {WPCompleter} A blocks completer. - */ -/* harmony default export */ var autocompleters_block = (createBlockCompleter()); - -;// CONCATENATED MODULE: external ["wp","apiFetch"] -var external_wp_apiFetch_namespaceObject = window["wp"]["apiFetch"]; -var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_namespaceObject); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-draggable/index.js /** * WordPress dependencies */ -const post = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "m7.3 9.7 1.4 1.4c.2-.2.3-.3.4-.5 0 0 0-.1.1-.1.3-.5.4-1.1.3-1.6L12 7 9 4 7.2 6.5c-.6-.1-1.1 0-1.6.3 0 0-.1 0-.1.1-.3.1-.4.2-.6.4l1.4 1.4L4 11v1h1l2.3-2.3zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z" -})); -/* harmony default export */ var library_post = (post); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/autocompleters/link.js - -/** - * WordPress dependencies - */ -// Disable Reason: Needs to be refactored. -// eslint-disable-next-line no-restricted-imports - - - -const SHOWN_SUGGESTIONS = 10; - -/** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */ - -/** - * Creates a suggestion list for links to posts or pages. - * - * @return {WPCompleter} A links completer. - */ -function createLinkCompleter() { - return { - name: 'links', - className: 'block-editor-autocompleters__link', - triggerPrefix: '[[', - options: async letters => { - let options = await external_wp_apiFetch_default()({ - path: (0,external_wp_url_namespaceObject.addQueryArgs)('/wp/v2/search', { - per_page: SHOWN_SUGGESTIONS, - search: letters, - type: 'post', - order_by: 'menu_order' - }) - }); - options = options.filter(option => option.title !== ''); - return options; - }, - getOptionKeywords(item) { - const expansionWords = item.title.split(/\s+/); - return [...expansionWords]; - }, - getOptionLabel(item) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - key: "icon", - icon: item.subtype === 'page' ? library_page : library_post - }), item.title); - }, - getOptionCompletion(item) { - return (0,external_wp_element_namespaceObject.createElement)("a", { - href: item.url - }, item.title); - } - }; -} - -/** - * Creates a suggestion list for links to posts or pages.. - * - * @return {WPCompleter} A link completer. - */ -/* harmony default export */ var autocompleters_link = (createLinkCompleter()); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/autocomplete/index.js - -/** - * WordPress dependencies - */ @@ -45467,1070 +51356,179 @@ function createLinkCompleter() { -/** - * Shared reference to an empty array for cases where it is important to avoid - * returning a new array reference on every invocation. - * - * @type {Array} - */ -const autocomplete_EMPTY_ARRAY = []; -function useCompleters({ - completers = autocomplete_EMPTY_ARRAY -}) { + +const BlockDraggable = ({ + appendToOwnerDocument, + children, + clientIds, + cloneClassname, + elementId, + onDragStart, + onDragEnd, + fadeWhenDisabled = false, + dragComponent +}) => { const { - name - } = useBlockEditContext(); - return (0,external_wp_element_namespaceObject.useMemo)(() => { - let filteredCompleters = [...completers, autocompleters_link]; - if (name === (0,external_wp_blocks_namespaceObject.getDefaultBlockName)() || (0,external_wp_blocks_namespaceObject.getBlockSupport)(name, '__experimentalSlashInserter', false)) { - filteredCompleters = [...filteredCompleters, autocompleters_block]; - } - if ((0,external_wp_hooks_namespaceObject.hasFilter)('editor.Autocomplete.completers')) { - // Provide copies so filters may directly modify them. - if (filteredCompleters === completers) { - filteredCompleters = filteredCompleters.map(completer => ({ - ...completer - })); - } - filteredCompleters = (0,external_wp_hooks_namespaceObject.applyFilters)('editor.Autocomplete.completers', filteredCompleters, name); - } - return filteredCompleters; - }, [completers, name]); -} -function useBlockEditorAutocompleteProps(props) { - return (0,external_wp_components_namespaceObject.__unstableUseAutocompleteProps)({ - ...props, - completers: useCompleters(props) - }); -} - -/** - * Wrap the default Autocomplete component with one that supports a filter hook - * for customizing its list of autocompleters. - * - * @type {import('react').FC} - */ -function BlockEditorAutocomplete(props) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Autocomplete, { - ...props, - completers: useCompleters(props) - }); -} - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/autocomplete/README.md - */ -/* harmony default export */ var autocomplete = (BlockEditorAutocomplete); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/fullscreen.js - -/** - * WordPress dependencies - */ - -const fullscreen = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M6 4a2 2 0 0 0-2 2v3h1.5V6a.5.5 0 0 1 .5-.5h3V4H6Zm3 14.5H6a.5.5 0 0 1-.5-.5v-3H4v3a2 2 0 0 0 2 2h3v-1.5Zm6 1.5v-1.5h3a.5.5 0 0 0 .5-.5v-3H20v3a2 2 0 0 1-2 2h-3Zm3-16a2 2 0 0 1 2 2v3h-1.5V6a.5.5 0 0 0-.5-.5h-3V4h3Z" -})); -/* harmony default export */ var library_fullscreen = (fullscreen); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-full-height-alignment-control/index.js - -/** - * WordPress dependencies - */ - - - -function BlockFullHeightAlignmentControl({ - isActive, - label = (0,external_wp_i18n_namespaceObject.__)('Toggle full height'), - onToggle, - isDisabled -}) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - isActive: isActive, - icon: library_fullscreen, - label: label, - onClick: () => onToggle(!isActive), - disabled: isDisabled - }); -} -/* harmony default export */ var block_full_height_alignment_control = (BlockFullHeightAlignmentControl); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-alignment-matrix-control/index.js - -/** - * WordPress dependencies - */ - - - -const block_alignment_matrix_control_noop = () => {}; -function BlockAlignmentMatrixControl(props) { - const { - label = (0,external_wp_i18n_namespaceObject.__)('Change matrix alignment'), - onChange = block_alignment_matrix_control_noop, - value = 'center', - isDisabled - } = props; - const icon = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalAlignmentMatrixControl.Icon, { - value: value - }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { - popoverProps: { - placement: 'bottom-start' - }, - renderToggle: ({ - onToggle, - isOpen - }) => { - const openOnArrowDown = event => { - if (!isOpen && event.keyCode === external_wp_keycodes_namespaceObject.DOWN) { - event.preventDefault(); - onToggle(); - } - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - onClick: onToggle, - "aria-haspopup": "true", - "aria-expanded": isOpen, - onKeyDown: openOnArrowDown, - label: label, - icon: icon, - showTooltip: true, - disabled: isDisabled - }); - }, - renderContent: () => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalAlignmentMatrixControl, { - hasFocusBorder: false, - onChange: onChange, - value: value - }) - }); -} -/* harmony default export */ var block_alignment_matrix_control = (BlockAlignmentMatrixControl); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-title/use-block-display-title.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -/** - * Returns the block's configured title as a string, or empty if the title - * cannot be determined. - * - * @example - * - * ```js - * useBlockDisplayTitle( { clientId: 'afd1cb17-2c08-4e7a-91be-007ba7ddc3a1', maximumLength: 17 } ); - * ``` - * - * @param {Object} props - * @param {string} props.clientId Client ID of block. - * @param {number|undefined} props.maximumLength The maximum length that the block title string may be before truncated. - * @param {string|undefined} props.context The context to pass to `getBlockLabel`. - * @return {?string} Block title. - */ -function useBlockDisplayTitle({ - clientId, - maximumLength, - context -}) { - const { - attributes, - name, - reusableBlockTitle + srcRootClientId, + isDraggable, + icon, + visibleInserter, + getBlockType } = (0,external_wp_data_namespaceObject.useSelect)(select => { - if (!clientId) { - return {}; - } const { + canMoveBlocks, + getBlockRootClientId, getBlockName, getBlockAttributes, - __experimentalGetReusableBlockTitle + isBlockInsertionPointVisible } = select(store); - const blockName = getBlockName(clientId); - if (!blockName) { - return {}; - } - const isReusable = (0,external_wp_blocks_namespaceObject.isReusableBlock)((0,external_wp_blocks_namespaceObject.getBlockType)(blockName)); - return { - attributes: getBlockAttributes(clientId), - name: blockName, - reusableBlockTitle: isReusable && __experimentalGetReusableBlockTitle(getBlockAttributes(clientId).ref) - }; - }, [clientId]); - const blockInformation = useBlockDisplayInformation(clientId); - if (!name || !blockInformation) { - return null; - } - const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(name); - const blockLabel = blockType ? (0,external_wp_blocks_namespaceObject.__experimentalGetBlockLabel)(blockType, attributes, context) : null; - const label = reusableBlockTitle || blockLabel; - // Label will fallback to the title if no label is defined for the current - // label context. If the label is defined we prioritize it over a - // possible block variation title match. - const blockTitle = label && label !== blockType.title ? label : blockInformation.title; - if (maximumLength && maximumLength > 0 && blockTitle.length > maximumLength) { - const omission = '...'; - return blockTitle.slice(0, maximumLength - omission.length) + omission; - } - return blockTitle; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-title/index.js -/** - * Internal dependencies - */ - - - -/** - * Renders the block's configured title as a string, or empty if the title - * cannot be determined. - * - * @example - * - * ```jsx - * - * ``` - * - * @param {Object} props - * @param {string} props.clientId Client ID of block. - * @param {number|undefined} props.maximumLength The maximum length that the block title string may be before truncated. - * @param {string|undefined} props.context The context to pass to `getBlockLabel`. - * - * @return {JSX.Element} Block title. - */ -function BlockTitle({ - clientId, - maximumLength, - context -}) { - return useBlockDisplayTitle({ - clientId, - maximumLength, - context - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-breadcrumb/index.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - -/** - * Block breadcrumb component, displaying the hierarchy of the current block selection as a breadcrumb. - * - * @param {Object} props Component props. - * @param {string} props.rootLabelText Translated label for the root element of the breadcrumb trail. - * @return {WPElement} Block Breadcrumb. - */ -function BlockBreadcrumb({ - rootLabelText -}) { - const { - selectBlock, - clearSelectedBlock - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const { - clientId, - parents, - hasSelection - } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { - getSelectionStart, - getSelectedBlockClientId, - getEnabledBlockParents - } = unlock(select(store)); - const selectedBlockClientId = getSelectedBlockClientId(); + getBlockType: _getBlockType, + getActiveBlockVariation + } = select(external_wp_blocks_namespaceObject.store); + const rootClientId = getBlockRootClientId(clientIds[0]); + const blockName = getBlockName(clientIds[0]); + const variation = getActiveBlockVariation(blockName, getBlockAttributes(clientIds[0])); return { - parents: getEnabledBlockParents(selectedBlockClientId), - clientId: selectedBlockClientId, - hasSelection: !!getSelectionStart().clientId + srcRootClientId: rootClientId, + isDraggable: canMoveBlocks(clientIds, rootClientId), + icon: variation?.icon || _getBlockType(blockName)?.icon, + visibleInserter: isBlockInsertionPointVisible(), + getBlockType: _getBlockType + }; + }, [clientIds]); + const isDragging = (0,external_wp_element_namespaceObject.useRef)(false); + const [startScrolling, scrollOnDragOver, stopScrolling] = useScrollWhenDragging(); + const { + getAllowedBlocks, + getBlockNamesByClientId, + getBlockRootClientId + } = (0,external_wp_data_namespaceObject.useSelect)(store); + const { + startDraggingBlocks, + stopDraggingBlocks + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + + // Stop dragging blocks if the block draggable is unmounted. + (0,external_wp_element_namespaceObject.useEffect)(() => { + return () => { + if (isDragging.current) { + stopDraggingBlocks(); + } }; }, []); - const rootLabel = rootLabelText || (0,external_wp_i18n_namespaceObject.__)('Document'); + + // Find the root of the editor iframe. + const blockRef = useBlockRef(clientIds[0]); + const editorRoot = blockRef.current?.closest('body'); /* - * Disable reason: The `list` ARIA role is redundant but - * Safari+VoiceOver won't announce the list otherwise. + * Add a dragover event listener to the editor root to track the blocks being dragged over. + * The listener has to be inside the editor iframe otherwise the target isn't accessible. */ - /* eslint-disable jsx-a11y/no-redundant-roles */ - return (0,external_wp_element_namespaceObject.createElement)("ul", { - className: "block-editor-block-breadcrumb", - role: "list", - "aria-label": (0,external_wp_i18n_namespaceObject.__)('Block breadcrumb') - }, (0,external_wp_element_namespaceObject.createElement)("li", { - className: !hasSelection ? 'block-editor-block-breadcrumb__current' : undefined, - "aria-current": !hasSelection ? 'true' : undefined - }, hasSelection && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - className: "block-editor-block-breadcrumb__button", - variant: "tertiary", - onClick: clearSelectedBlock - }, rootLabel), !hasSelection && rootLabel, !!clientId && (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: chevron_right_small, - className: "block-editor-block-breadcrumb__separator" - })), parents.map(parentClientId => (0,external_wp_element_namespaceObject.createElement)("li", { - key: parentClientId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - className: "block-editor-block-breadcrumb__button", - variant: "tertiary", - onClick: () => selectBlock(parentClientId) - }, (0,external_wp_element_namespaceObject.createElement)(BlockTitle, { - clientId: parentClientId, - maximumLength: 35 - })), (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: chevron_right_small, - className: "block-editor-block-breadcrumb__separator" - }))), !!clientId && (0,external_wp_element_namespaceObject.createElement)("li", { - className: "block-editor-block-breadcrumb__current", - "aria-current": "true" - }, (0,external_wp_element_namespaceObject.createElement)(BlockTitle, { - clientId: clientId, - maximumLength: 35 - }))) - /* eslint-enable jsx-a11y/no-redundant-roles */; -} - -/* harmony default export */ var block_breadcrumb = (BlockBreadcrumb); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/pasting.js -/** - * WordPress dependencies - */ - -function getPasteEventData({ - clipboardData -}) { - let plainText = ''; - let html = ''; - - // IE11 only supports `Text` as an argument for `getData` and will - // otherwise throw an invalid argument error, so we try the standard - // arguments first, then fallback to `Text` if they fail. - try { - plainText = clipboardData.getData('text/plain'); - html = clipboardData.getData('text/html'); - } catch (error1) { - try { - html = clipboardData.getData('Text'); - } catch (error2) { - // Some browsers like UC Browser paste plain text by default and - // don't support clipboardData at all, so allow default - // behaviour. + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (!editorRoot || !fadeWhenDisabled) { return; } - } - const files = (0,external_wp_dom_namespaceObject.getFilesFromDataTransfer)(clipboardData); - if (files.length && !shouldDismissPastedFiles(files, html, plainText)) { - return { - files + const onDragOver = event => { + if (!event.target.closest('[data-block]')) { + return; + } + const draggedBlockNames = getBlockNamesByClientId(clientIds); + const targetClientId = event.target.closest('[data-block]').getAttribute('data-block'); + const allowedBlocks = getAllowedBlocks(targetClientId); + const targetBlockName = getBlockNamesByClientId([targetClientId])[0]; + + /* + * Check if the target is valid to drop in. + * If the target's allowedBlocks is an empty array, + * it isn't a container block, in which case we check + * its parent's validity instead. + */ + let dropTargetValid; + if (allowedBlocks?.length === 0) { + const targetRootClientId = getBlockRootClientId(targetClientId); + const targetRootBlockName = getBlockNamesByClientId([targetRootClientId])[0]; + const rootAllowedBlocks = getAllowedBlocks(targetRootClientId); + dropTargetValid = isDropTargetValid(getBlockType, rootAllowedBlocks, draggedBlockNames, targetRootBlockName); + } else { + dropTargetValid = isDropTargetValid(getBlockType, allowedBlocks, draggedBlockNames, targetBlockName); + } + + /* + * Update the body class to reflect if drop target is valid. + * This has to be done on the document body because the draggable + * chip is rendered outside of the editor iframe. + */ + if (!dropTargetValid && !visibleInserter) { + window?.document?.body?.classList?.add('block-draggable-invalid-drag-token'); + } else { + window?.document?.body?.classList?.remove('block-draggable-invalid-drag-token'); + } }; - } - return { - html, - plainText, - files: [] - }; -} - -/** - * Given a collection of DataTransfer files and HTML and plain text strings, - * determine whether the files are to be dismissed in favor of the HTML. - * - * Certain office-type programs, like Microsoft Word or Apple Numbers, - * will, upon copy, generate a screenshot of the content being copied and - * attach it to the clipboard alongside the actual rich text that the user - * sought to copy. In those cases, we should let Gutenberg handle the rich text - * content and not the screenshot, since this allows Gutenberg to insert - * meaningful blocks, like paragraphs, lists or even tables. - * - * @param {File[]} files File objects obtained from a paste event - * @param {string} html HTML content obtained from a paste event - * @return {boolean} True if the files should be dismissed - */ -function shouldDismissPastedFiles(files, html /*, plainText */) { - // The question is only relevant when there is actual HTML content and when - // there is exactly one image file. - if (html && files?.length === 1 && files[0].type.indexOf('image/') === 0) { - // A single tag found in the HTML source suggests that the - // content being pasted revolves around an image. Sometimes there are - // other elements found, like
    , but we assume that the user's - // intention is to paste the actual image file. - const IMAGE_TAG = /<\s*img\b/gi; - if (html.match(IMAGE_TAG)?.length !== 1) return true; - - // Even when there is exactly one tag in the HTML payload, we - // choose to weed out local images, i.e. those whose source starts with - // "file://". These payloads occur in specific configurations, such as - // when copying an entire document from Microsoft Word, that contains - // text and exactly one image, and pasting that content using Google - // Chrome. - const IMG_WITH_LOCAL_SRC = /<\s*img\b[^>]*\bsrc="file:\/\//i; - if (html.match(IMG_WITH_LOCAL_SRC)) return true; - } - return false; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/copy-handler/index.js - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - - -function useNotifyCopy() { - const { - getBlockName - } = (0,external_wp_data_namespaceObject.useSelect)(store); - const { - getBlockType - } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blocks_namespaceObject.store); - const { - createSuccessNotice - } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); - return (0,external_wp_element_namespaceObject.useCallback)((eventType, selectedBlockClientIds) => { - let notice = ''; - if (selectedBlockClientIds.length === 1) { - const clientId = selectedBlockClientIds[0]; - const title = getBlockType(getBlockName(clientId))?.title; - notice = eventType === 'copy' ? (0,external_wp_i18n_namespaceObject.sprintf)( - // Translators: Name of the block being copied, e.g. "Paragraph". - (0,external_wp_i18n_namespaceObject.__)('Copied "%s" to clipboard.'), title) : (0,external_wp_i18n_namespaceObject.sprintf)( - // Translators: Name of the block being cut, e.g. "Paragraph". - (0,external_wp_i18n_namespaceObject.__)('Moved "%s" to clipboard.'), title); - } else { - notice = eventType === 'copy' ? (0,external_wp_i18n_namespaceObject.sprintf)( - // Translators: %d: Number of blocks being copied. - (0,external_wp_i18n_namespaceObject._n)('Copied %d block to clipboard.', 'Copied %d blocks to clipboard.', selectedBlockClientIds.length), selectedBlockClientIds.length) : (0,external_wp_i18n_namespaceObject.sprintf)( - // Translators: %d: Number of blocks being cut. - (0,external_wp_i18n_namespaceObject._n)('Moved %d block to clipboard.', 'Moved %d blocks to clipboard.', selectedBlockClientIds.length), selectedBlockClientIds.length); - } - createSuccessNotice(notice, { - type: 'snackbar' - }); - }, []); -} -function useClipboardHandler() { - const { - getBlocksByClientId, - getSelectedBlockClientIds, - hasMultiSelection, - getSettings, - __unstableIsFullySelected, - __unstableIsSelectionCollapsed, - __unstableIsSelectionMergeable, - __unstableGetSelectedBlocksWithPartialSelection, - canInsertBlockType - } = (0,external_wp_data_namespaceObject.useSelect)(store); - const { - flashBlock, - removeBlocks, - replaceBlocks, - __unstableDeleteSelection, - __unstableExpandSelection, - insertBlocks - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const notifyCopy = useNotifyCopy(); - return (0,external_wp_compose_namespaceObject.useRefEffect)(node => { - function handler(event) { - if (event.defaultPrevented) { - // This was likely already handled in rich-text/use-paste-handler.js. - return; - } - const selectedBlockClientIds = getSelectedBlockClientIds(); - if (selectedBlockClientIds.length === 0) { - return; - } - - // Always handle multiple selected blocks. - if (!hasMultiSelection()) { - const { - target - } = event; - const { - ownerDocument - } = target; - // If copying, only consider actual text selection as selection. - // Otherwise, any focus on an input field is considered. - const hasSelection = event.type === 'copy' || event.type === 'cut' ? (0,external_wp_dom_namespaceObject.documentHasUncollapsedSelection)(ownerDocument) : (0,external_wp_dom_namespaceObject.documentHasSelection)(ownerDocument); - - // Let native copy behaviour take over in input fields. - if (hasSelection) { - return; - } - } - if (!node.contains(event.target.ownerDocument.activeElement)) { - return; - } - event.preventDefault(); - const isSelectionMergeable = __unstableIsSelectionMergeable(); - const shouldHandleWholeBlocks = __unstableIsSelectionCollapsed() || __unstableIsFullySelected(); - const expandSelectionIsNeeded = !shouldHandleWholeBlocks && !isSelectionMergeable; - if (event.type === 'copy' || event.type === 'cut') { - if (selectedBlockClientIds.length === 1) { - flashBlock(selectedBlockClientIds[0]); - } - // If we have a partial selection that is not mergeable, just - // expand the selection to the whole blocks. - if (expandSelectionIsNeeded) { - __unstableExpandSelection(); - } else { - notifyCopy(event.type, selectedBlockClientIds); - let blocks; - // Check if we have partial selection. - if (shouldHandleWholeBlocks) { - blocks = getBlocksByClientId(selectedBlockClientIds); - } else { - const [head, tail] = __unstableGetSelectedBlocksWithPartialSelection(); - const inBetweenBlocks = getBlocksByClientId(selectedBlockClientIds.slice(1, selectedBlockClientIds.length - 1)); - blocks = [head, ...inBetweenBlocks, tail]; - } - const wrapperBlockName = event.clipboardData.getData('__unstableWrapperBlockName'); - if (wrapperBlockName) { - blocks = (0,external_wp_blocks_namespaceObject.createBlock)(wrapperBlockName, JSON.parse(event.clipboardData.getData('__unstableWrapperBlockAttributes')), blocks); - } - const serialized = (0,external_wp_blocks_namespaceObject.serialize)(blocks); - event.clipboardData.setData('text/plain', toPlainText(serialized)); - event.clipboardData.setData('text/html', serialized); - } - } - if (event.type === 'cut') { - // We need to also check if at the start we needed to - // expand the selection, as in this point we might have - // programmatically fully selected the blocks above. - if (shouldHandleWholeBlocks && !expandSelectionIsNeeded) { - removeBlocks(selectedBlockClientIds); - } else { - event.target.ownerDocument.activeElement.contentEditable = false; - __unstableDeleteSelection(); - } - } else if (event.type === 'paste') { - const { - __experimentalCanUserUseUnfilteredHTML: canUserUseUnfilteredHTML - } = getSettings(); - const { - plainText, - html, - files - } = getPasteEventData(event); - let blocks = []; - if (files.length) { - const fromTransforms = (0,external_wp_blocks_namespaceObject.getBlockTransforms)('from'); - blocks = files.reduce((accumulator, file) => { - const transformation = (0,external_wp_blocks_namespaceObject.findTransform)(fromTransforms, transform => transform.type === 'files' && transform.isMatch([file])); - if (transformation) { - accumulator.push(transformation.transform([file])); - } - return accumulator; - }, []).flat(); - } else { - blocks = (0,external_wp_blocks_namespaceObject.pasteHandler)({ - HTML: html, - plainText, - mode: 'BLOCKS', - canUserUseUnfilteredHTML - }); - } - if (selectedBlockClientIds.length === 1) { - const [selectedBlockClientId] = selectedBlockClientIds; - if (blocks.every(block => canInsertBlockType(block.name, selectedBlockClientId))) { - insertBlocks(blocks, undefined, selectedBlockClientId); - return; - } - } - replaceBlocks(selectedBlockClientIds, blocks, blocks.length - 1, -1); - } - } - node.ownerDocument.addEventListener('copy', handler); - node.ownerDocument.addEventListener('cut', handler); - node.ownerDocument.addEventListener('paste', handler); + const throttledOnDragOver = (0,external_wp_compose_namespaceObject.throttle)(onDragOver, 200); + editorRoot.addEventListener('dragover', throttledOnDragOver); return () => { - node.ownerDocument.removeEventListener('copy', handler); - node.ownerDocument.removeEventListener('cut', handler); - node.ownerDocument.removeEventListener('paste', handler); + editorRoot.removeEventListener('dragover', throttledOnDragOver); }; - }, []); -} -function CopyHandler({ - children -}) { - return (0,external_wp_element_namespaceObject.createElement)("div", { - ref: useClipboardHandler() - }, children); -} - -/** - * Given a string of HTML representing serialized blocks, returns the plain - * text extracted after stripping the HTML of any tags and fixing line breaks. - * - * @param {string} html Serialized blocks. - * @return {string} The plain-text content with any html removed. - */ -function toPlainText(html) { - // Manually handle BR tags as line breaks prior to `stripHTML` call - html = html.replace(/
    /g, '\n'); - const plainText = (0,external_wp_dom_namespaceObject.__unstableStripHTML)(html).trim(); - - // Merge any consecutive line breaks - return plainText.replace(/\n\n+/g, '\n\n'); -} - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/copy-handler/README.md - */ -/* harmony default export */ var copy_handler = (CopyHandler); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-canvas/index.js - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - - - - - -function ExperimentalBlockCanvas({ - shouldIframe = true, - height = '300px', - children = (0,external_wp_element_namespaceObject.createElement)(BlockList, null), - styles, - contentRef: contentRefProp, - iframeProps -}) { - const resetTypingRef = useMouseMoveTypingReset(); - const copyHandler = useClipboardHandler(); - const clearerRef = useBlockSelectionClearer(); - const contentRef = (0,external_wp_compose_namespaceObject.useMergeRefs)([copyHandler, contentRefProp, clearerRef]); - if (!shouldIframe) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(EditorStyles, { - styles: styles, - scope: ".editor-styles-wrapper" - }), (0,external_wp_element_namespaceObject.createElement)(writing_flow, { - ref: contentRef, - className: "editor-styles-wrapper", - tabIndex: -1, - style: { - height - } - }, children)); + }, [clientIds, editorRoot, fadeWhenDisabled, getAllowedBlocks, getBlockNamesByClientId, getBlockRootClientId, getBlockType, visibleInserter]); + if (!isDraggable) { + return children({ + draggable: false + }); } - return (0,external_wp_element_namespaceObject.createElement)(iframe, { - ...iframeProps, - ref: resetTypingRef, - contentRef: contentRef, - style: { - width: '100%', - height, - ...iframeProps?.style - }, - name: "editor-canvas" - }, (0,external_wp_element_namespaceObject.createElement)(EditorStyles, { - styles: styles - }), children); -} - -/** - * BlockCanvas component is a component used to display the canvas of the block editor. - * What we call the canvas is an iframe containing the block list that you can manipulate. - * The component is also responsible of wiring up all the necessary hooks to enable - * the keyboard navigation across blocks in the editor and inject content styles into the iframe. - * - * @example - * - * ```jsx - * function MyBlockEditor() { - * const [ blocks, updateBlocks ] = useState([]); - * return ( - * - * - * - * ); - * } - * ``` - * - * @param {Object} props Component props. - * @param {string} props.height Canvas height, defaults to 300px. - * @param {Array} props.styles Content styles to inject into the iframe. - * @param {WPElement} props.children Content of the canvas, defaults to the BlockList component. - * @return {WPElement} Block Breadcrumb. - */ -function BlockCanvas({ - children, - height, - styles -}) { - return (0,external_wp_element_namespaceObject.createElement)(ExperimentalBlockCanvas, { - height: height, - styles: styles - }, children); -} -/* harmony default export */ var block_canvas = (BlockCanvas); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/color-style-selector/index.js - -/** - * WordPress dependencies - */ - - - - -const ColorSelectorSVGIcon = () => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 20 20" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { - d: "M7.434 5l3.18 9.16H8.538l-.692-2.184H4.628l-.705 2.184H2L5.18 5h2.254zm-1.13 1.904h-.115l-1.148 3.593H7.44L6.304 6.904zM14.348 7.006c1.853 0 2.9.876 2.9 2.374v4.78h-1.79v-.914h-.114c-.362.64-1.123 1.022-2.031 1.022-1.346 0-2.292-.826-2.292-2.108 0-1.27.972-2.006 2.71-2.107l1.696-.102V9.38c0-.584-.42-.914-1.18-.914-.667 0-1.112.228-1.264.647h-1.701c.12-1.295 1.307-2.107 3.066-2.107zm1.079 4.1l-1.416.09c-.793.056-1.18.342-1.18.844 0 .52.45.837 1.091.837.857 0 1.505-.545 1.505-1.256v-.515z" -})); - -/** - * Color Selector Icon component. - * - * @param {Object} props Component properties. - * @param {Object} props.style Style object. - * @param {string} props.className Class name for component. - * - * @return {*} React Icon component. - */ -const ColorSelectorIcon = ({ - style, - className -}) => { - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-library-colors-selector__icon-container" - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: `${className} block-library-colors-selector__state-selection`, - style: style - }, (0,external_wp_element_namespaceObject.createElement)(ColorSelectorSVGIcon, null))); -}; - -/** - * Renders the Colors Selector Toolbar with the icon button. - * - * @param {Object} props Component properties. - * @param {Object} props.TextColor Text color component that wraps icon. - * @param {Object} props.BackgroundColor Background color component that wraps icon. - * - * @return {*} React toggle button component. - */ -const renderToggleComponent = ({ - TextColor, - BackgroundColor -}) => ({ - onToggle, - isOpen -}) => { - const openOnArrowDown = event => { - if (!isOpen && event.keyCode === external_wp_keycodes_namespaceObject.DOWN) { - event.preventDefault(); - onToggle(); - } + const transferData = { + type: 'block', + srcClientIds: clientIds, + srcRootClientId }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - className: "components-toolbar__control block-library-colors-selector__toggle", - label: (0,external_wp_i18n_namespaceObject.__)('Open Colors Selector'), - onClick: onToggle, - onKeyDown: openOnArrowDown, - icon: (0,external_wp_element_namespaceObject.createElement)(BackgroundColor, null, (0,external_wp_element_namespaceObject.createElement)(TextColor, null, (0,external_wp_element_namespaceObject.createElement)(ColorSelectorIcon, null))) - })); -}; -const BlockColorsStyleSelector = ({ - children, - ...other -}) => { - external_wp_deprecated_default()(`wp.blockEditor.BlockColorsStyleSelector`, { - alternative: 'block supports API', - since: '6.1', - version: '6.3' - }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { - popoverProps: { - placement: 'bottom-start' + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Draggable, { + appendToOwnerDocument: appendToOwnerDocument, + cloneClassname: cloneClassname, + __experimentalTransferDataType: "wp-blocks", + transferData: transferData, + onDragStart: event => { + // Defer hiding the dragged source element to the next + // frame to enable dragging. + window.requestAnimationFrame(() => { + startDraggingBlocks(clientIds); + isDragging.current = true; + startScrolling(event); + if (onDragStart) { + onDragStart(); + } + }); }, - className: "block-library-colors-selector", - contentClassName: "block-library-colors-selector__popover", - renderToggle: renderToggleComponent(other), - renderContent: () => children - }); -}; -/* harmony default export */ var color_style_selector = (BlockColorsStyleSelector); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/list-view.js - -/** - * WordPress dependencies - */ - -const listView = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M3 6h11v1.5H3V6Zm3.5 5.5h11V13h-11v-1.5ZM21 17H10v1.5h11V17Z" -})); -/* harmony default export */ var list_view = (listView); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/context.js -/** - * WordPress dependencies - */ - -const ListViewContext = (0,external_wp_element_namespaceObject.createContext)({}); -const useListViewContext = () => (0,external_wp_element_namespaceObject.useContext)(ListViewContext); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/aria-referenced-text.js - -/** - * WordPress dependencies - */ - - -/** - * A component specifically designed to be used as an element referenced - * by ARIA attributes such as `aria-labelledby` or `aria-describedby`. - * - * @param {Object} props Props. - * @param {import('react').ReactNode} props.children - */ -function AriaReferencedText({ - children, - ...props -}) { - const ref = (0,external_wp_element_namespaceObject.useRef)(); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (ref.current) { - // This seems like a no-op, but it fixes a bug in Firefox where - // it fails to recompute the text when only the text node changes. - // @see https://github.com/WordPress/gutenberg/pull/51035 - ref.current.textContent = ref.current.textContent; - } - }, [children]); - return (0,external_wp_element_namespaceObject.createElement)("div", { - hidden: true, - ...props, - ref: ref - }, children); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/appender.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - -const Appender = (0,external_wp_element_namespaceObject.forwardRef)(({ - nestingLevel, - blockCount, - clientId, - ...props -}, ref) => { - const { - insertedBlock, - setInsertedBlock - } = useListViewContext(); - const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(Appender); - const hideInserter = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getTemplateLock, - __unstableGetEditorMode - } = select(store); - return !!getTemplateLock(clientId) || __unstableGetEditorMode() === 'zoom-out'; - }, [clientId]); - const blockTitle = useBlockDisplayTitle({ - clientId, - context: 'list-view' - }); - const insertedBlockTitle = useBlockDisplayTitle({ - clientId: insertedBlock?.clientId, - context: 'list-view' - }); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (!insertedBlockTitle?.length) { - return; - } - (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.sprintf)( - // translators: %s: name of block being inserted (i.e. Paragraph, Image, Group etc) - (0,external_wp_i18n_namespaceObject.__)('%s block inserted'), insertedBlockTitle), 'assertive'); - }, [insertedBlockTitle]); - if (hideInserter) { - return null; - } - const descriptionId = `list-view-appender__${instanceId}`; - const description = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: 1: The name of the block. 2: The numerical position of the block. 3: The level of nesting for the block. */ - (0,external_wp_i18n_namespaceObject.__)('Append to %1$s block at position %2$d, Level %3$d'), blockTitle, blockCount + 1, nestingLevel); - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: "list-view-appender" - }, (0,external_wp_element_namespaceObject.createElement)(inserter, { - ref: ref, - rootClientId: clientId, - position: "bottom right", - isAppender: true, - selectBlockOnInsert: false, - shouldDirectInsert: false, - __experimentalIsQuick: true, - ...props, - toggleProps: { - 'aria-describedby': descriptionId - }, - onSelectOrClose: maybeInsertedBlock => { - if (maybeInsertedBlock?.clientId) { - setInsertedBlock(maybeInsertedBlock); + onDragOver: scrollOnDragOver, + onDragEnd: () => { + stopDraggingBlocks(); + isDragging.current = false; + stopScrolling(); + if (onDragEnd) { + onDragEnd(); } - } - }), (0,external_wp_element_namespaceObject.createElement)(AriaReferencedText, { - id: descriptionId - }, description)); -}); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/leaf.js - -/** - * External dependencies - */ - - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - -const AnimatedTreeGridRow = animated(external_wp_components_namespaceObject.__experimentalTreeGridRow); -const ListViewLeaf = (0,external_wp_element_namespaceObject.forwardRef)(({ - isSelected, - position, - level, - rowCount, - children, - className, - path, - ...props -}, ref) => { - const animationRef = use_moving_animation({ - isSelected, - adjustScrolling: false, - enableAnimation: true, - triggerAnimationOnChange: path + }, + __experimentalDragComponent: + // Check against `undefined` so that `null` can be used to disable + // the default drag component. + dragComponent !== undefined ? dragComponent : (0,external_React_.createElement)(BlockDraggableChip, { + count: clientIds.length, + icon: icon, + fadeWhenDisabled: true + }), + elementId: elementId + }, ({ + onDraggableStart, + onDraggableEnd + }) => { + return children({ + draggable: true, + onDragStart: onDraggableStart, + onDragEnd: onDraggableEnd + }); }); - const mergedRef = (0,external_wp_compose_namespaceObject.useMergeRefs)([ref, animationRef]); - return (0,external_wp_element_namespaceObject.createElement)(AnimatedTreeGridRow, { - ref: mergedRef, - className: classnames_default()('block-editor-list-view-leaf', className), - level: level, - positionInSet: position, - setSize: rowCount, - isExpanded: undefined, - ...props - }, children); -}); -/* harmony default export */ var leaf = (ListViewLeaf); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-list-view-scroll-into-view.js -/** - * WordPress dependencies - */ - - -function useListViewScrollIntoView({ - isSelected, - selectedClientIds, - rowItemRef -}) { - const isSingleSelection = selectedClientIds.length === 1; - (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { - // Skip scrolling into view if this particular block isn't selected, - // or if more than one block is selected overall. This is to avoid - // scrolling the view in a multi selection where the user has intentionally - // selected multiple blocks within the list view, but the initially - // selected block may be out of view. - if (!isSelected || !isSingleSelection || !rowItemRef.current) { - return; - } - const scrollContainer = (0,external_wp_dom_namespaceObject.getScrollContainer)(rowItemRef.current); - const { - ownerDocument - } = rowItemRef.current; - const windowScroll = scrollContainer === ownerDocument.body || scrollContainer === ownerDocument.documentElement; - - // If the there is no scroll container, of if the scroll container is the window, - // do not scroll into view, as the block is already in view. - if (windowScroll || !scrollContainer) { - return; - } - const rowRect = rowItemRef.current.getBoundingClientRect(); - const scrollContainerRect = scrollContainer.getBoundingClientRect(); - - // If the selected block is not currently visible, scroll to it. - if (rowRect.top < scrollContainerRect.top || rowRect.bottom > scrollContainerRect.bottom) { - rowItemRef.current.scrollIntoView(); - } - }, [isSelected, isSingleSelection, rowItemRef]); -} +}; +/* harmony default export */ var block_draggable = (BlockDraggable); ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-up.js @@ -46538,10 +51536,10 @@ function useListViewScrollIntoView({ * WordPress dependencies */ -const chevronUp = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const chevronUp = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z" })); /* harmony default export */ var chevron_up = (chevronUp); @@ -46552,10 +51550,10 @@ const chevronUp = (0,external_wp_element_namespaceObject.createElement)(external * WordPress dependencies */ -const chevronDown = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const chevronDown = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z" })); /* harmony default export */ var chevron_down = (chevronDown); @@ -46879,7 +51877,7 @@ const BlockMoverButton = (0,external_wp_element_namespaceObject.forwardRef)(({ } }; const descriptionId = `block-editor-block-mover-button__description-${instanceId}`; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { ref: ref, className: classnames_default()('block-editor-block-mover-button', `is-${direction}-button`), icon: getArrowIcon(direction, orientation), @@ -46889,171 +51887,26 @@ const BlockMoverButton = (0,external_wp_element_namespaceObject.forwardRef)(({ onClick: isDisabled ? null : onClick, disabled: isDisabled, __experimentalIsFocusable: true - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { id: descriptionId }, getBlockMoverDescription(blocksCount, blockType && blockType.title, firstIndex, isFirst, isLast, direction === 'up' ? -1 : 1, orientation))); }); const BlockMoverUpButton = (0,external_wp_element_namespaceObject.forwardRef)((props, ref) => { - return (0,external_wp_element_namespaceObject.createElement)(BlockMoverButton, { + return (0,external_React_.createElement)(BlockMoverButton, { direction: "up", ref: ref, ...props }); }); const BlockMoverDownButton = (0,external_wp_element_namespaceObject.forwardRef)((props, ref) => { - return (0,external_wp_element_namespaceObject.createElement)(BlockMoverButton, { + return (0,external_React_.createElement)(BlockMoverButton, { direction: "down", ref: ref, ...props }); }); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pin-small.js - -/** - * WordPress dependencies - */ - -const pinSmall = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - width: "24", - height: "24", - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M10.97 10.159a3.382 3.382 0 0 0-2.857.955l1.724 1.723-2.836 2.913L7 17h1.25l2.913-2.837 1.723 1.723a3.38 3.38 0 0 0 .606-.825c.33-.63.446-1.343.35-2.032L17 10.695 13.305 7l-2.334 3.159Z" -})); -/* harmony default export */ var pin_small = (pinSmall); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/lock-small.js - -/** - * WordPress dependencies - */ - -const lockSmall = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M15 11h-.2V9c0-1.5-1.2-2.8-2.8-2.8S9.2 7.5 9.2 9v2H9c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1zm-1.8 0h-2.5V9c0-.7.6-1.2 1.2-1.2s1.2.6 1.2 1.2v2z" -})); -/* harmony default export */ var lock_small = (lockSmall); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/expander.js - -/** - * WordPress dependencies - */ - - -function ListViewExpander({ - onClick -}) { - return ( - // Keyboard events are handled by TreeGrid see: components/src/tree-grid/index.js - // - // The expander component is implemented as a pseudo element in the w3 example - // https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html - // - // We've mimicked this by adding an icon with aria-hidden set to true to hide this from the accessibility tree. - // For the current tree grid implementation, please do not try to make this a button. - // - // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions - (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-list-view__expander", - onClick: event => onClick(event, { - forceToggle: true - }), - "aria-hidden": "true", - "data-testid": "list-view-expander" - }, (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? chevron_left_small : chevron_right_small - })) - ); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-list-view-images.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -// Maximum number of images to display in a list view row. -const MAX_IMAGES = 3; -function getImage(block) { - if (block.name !== 'core/image') { - return; - } - if (block.attributes?.url) { - return { - url: block.attributes.url, - alt: block.attributes.alt, - clientId: block.clientId - }; - } -} -function getImagesFromGallery(block) { - if (block.name !== 'core/gallery' || !block.innerBlocks) { - return []; - } - const images = []; - for (const innerBlock of block.innerBlocks) { - const img = getImage(innerBlock); - if (img) { - images.push(img); - } - if (images.length >= MAX_IMAGES) { - return images; - } - } - return images; -} -function getImagesFromBlock(block, isExpanded) { - const img = getImage(block); - if (img) { - return [img]; - } - return isExpanded ? [] : getImagesFromGallery(block); -} - -/** - * Get a block's preview images for display within a list view row. - * - * TODO: Currently only supports images from the core/image and core/gallery - * blocks. This should be expanded to support other blocks that have images, - * potentially via an API that blocks can opt into / provide their own logic. - * - * @param {Object} props Hook properties. - * @param {string} props.clientId The block's clientId. - * @param {boolean} props.isExpanded Whether or not the block is expanded in the list view. - * @return {Array} Images. - */ -function useListViewImages({ - clientId, - isExpanded -}) { - const { - block - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const _block = select(store).getBlock(clientId); - return { - block: _block - }; - }, [clientId]); - const images = (0,external_wp_element_namespaceObject.useMemo)(() => { - return getImagesFromBlock(block, isExpanded); - }, [block, isExpanded]); - return images; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/block-select-button.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-mover/index.js /** * External dependencies @@ -47069,406 +51922,82 @@ function useListViewImages({ - - - /** * Internal dependencies */ - - - - -function ListViewBlockSelectButton({ - className, - block: { - clientId - }, - onClick, - onToggleExpanded, - tabIndex, - onFocus, - onDragStart, - onDragEnd, - draggable, - isExpanded, - ariaLabel, - ariaDescribedBy, - updateFocusAndSelection -}, ref) { - const blockInformation = useBlockDisplayInformation(clientId); - const blockTitle = useBlockDisplayTitle({ - clientId, - context: 'list-view' - }); - const { - isLocked - } = useBlockLock(clientId); - const { - canInsertBlockType, - getSelectedBlockClientIds, - getPreviousBlockClientId, - getBlockRootClientId, - getBlockOrder, - getBlocksByClientId, - canRemoveBlocks - } = (0,external_wp_data_namespaceObject.useSelect)(store); - const { - duplicateBlocks, - removeBlocks - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const isMatch = (0,external_wp_keyboardShortcuts_namespaceObject.__unstableUseShortcutEventMatch)(); - const isSticky = blockInformation?.positionType === 'sticky'; - const images = useListViewImages({ - clientId, - isExpanded - }); - const positionLabel = blockInformation?.positionLabel ? (0,external_wp_i18n_namespaceObject.sprintf)( - // translators: 1: Position of selected block, e.g. "Sticky" or "Fixed". - (0,external_wp_i18n_namespaceObject.__)('Position: %1$s'), blockInformation.positionLabel) : ''; - - // The `href` attribute triggers the browser's native HTML drag operations. - // When the link is dragged, the element's outerHTML is set in DataTransfer object as text/html. - // We need to clear any HTML drag data to prevent `pasteHandler` from firing - // inside the `useOnBlockDrop` hook. - const onDragStartHandler = event => { - event.dataTransfer.clearData(); - onDragStart?.(event); - }; - - // Determine which blocks to update: - // If the current (focused) block is part of the block selection, use the whole selection. - // If the focused block is not part of the block selection, only update the focused block. - function getBlocksToUpdate() { - const selectedBlockClientIds = getSelectedBlockClientIds(); - const isUpdatingSelectedBlocks = selectedBlockClientIds.includes(clientId); - const firstBlockClientId = isUpdatingSelectedBlocks ? selectedBlockClientIds[0] : clientId; - const firstBlockRootClientId = getBlockRootClientId(firstBlockClientId); - const blocksToUpdate = isUpdatingSelectedBlocks ? selectedBlockClientIds : [clientId]; - return { - blocksToUpdate, - firstBlockClientId, - firstBlockRootClientId, - selectedBlockClientIds - }; - } - - /** - * @param {KeyboardEvent} event - */ - async function onKeyDownHandler(event) { - if (event.keyCode === external_wp_keycodes_namespaceObject.ENTER || event.keyCode === external_wp_keycodes_namespaceObject.SPACE) { - onClick(event); - } else if (event.keyCode === external_wp_keycodes_namespaceObject.BACKSPACE || event.keyCode === external_wp_keycodes_namespaceObject.DELETE || isMatch('core/block-editor/remove', event)) { - var _getPreviousBlockClie; - const { - blocksToUpdate: blocksToDelete, - firstBlockClientId, - firstBlockRootClientId, - selectedBlockClientIds - } = getBlocksToUpdate(); - - // Don't update the selection if the blocks cannot be deleted. - if (!canRemoveBlocks(blocksToDelete, firstBlockRootClientId)) { - return; - } - let blockToFocus = (_getPreviousBlockClie = getPreviousBlockClientId(firstBlockClientId)) !== null && _getPreviousBlockClie !== void 0 ? _getPreviousBlockClie : - // If the previous block is not found (when the first block is deleted), - // fallback to focus the parent block. - firstBlockRootClientId; - removeBlocks(blocksToDelete, false); - - // Update the selection if the original selection has been removed. - const shouldUpdateSelection = selectedBlockClientIds.length > 0 && getSelectedBlockClientIds().length === 0; - - // If there's no previous block nor parent block, focus the first block. - if (!blockToFocus) { - blockToFocus = getBlockOrder()[0]; - } - updateFocusAndSelection(blockToFocus, shouldUpdateSelection); - } else if (isMatch('core/block-editor/duplicate', event)) { - if (event.defaultPrevented) { - return; - } - event.preventDefault(); - const { - blocksToUpdate, - firstBlockRootClientId - } = getBlocksToUpdate(); - const canDuplicate = getBlocksByClientId(blocksToUpdate).every(block => { - return !!block && (0,external_wp_blocks_namespaceObject.hasBlockSupport)(block.name, 'multiple', true) && canInsertBlockType(block.name, firstBlockRootClientId); - }); - if (canDuplicate) { - const updatedBlocks = await duplicateBlocks(blocksToUpdate, false); - if (updatedBlocks?.length) { - // If blocks have been duplicated, focus the first duplicated block. - updateFocusAndSelection(updatedBlocks[0], false); - } - } - } - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - className: classnames_default()('block-editor-list-view-block-select-button', className), - onClick: onClick, - onKeyDown: onKeyDownHandler, - ref: ref, - tabIndex: tabIndex, - onFocus: onFocus, - onDragStart: onDragStartHandler, - onDragEnd: onDragEnd, - draggable: draggable, - href: `#block-${clientId}`, - "aria-label": ariaLabel, - "aria-describedby": ariaDescribedBy, - "aria-expanded": isExpanded - }, (0,external_wp_element_namespaceObject.createElement)(ListViewExpander, { - onClick: onToggleExpanded - }), (0,external_wp_element_namespaceObject.createElement)(block_icon, { - icon: blockInformation?.icon, - showColors: true, - context: "list-view" - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - alignment: "center", - className: "block-editor-list-view-block-select-button__label-wrapper", - justify: "flex-start", - spacing: 1 - }, (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-list-view-block-select-button__title" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { - ellipsizeMode: "auto" - }, blockTitle)), blockInformation?.anchor && (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-list-view-block-select-button__anchor-wrapper" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { - className: "block-editor-list-view-block-select-button__anchor", - ellipsizeMode: "auto" - }, blockInformation.anchor)), positionLabel && isSticky && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Tooltip, { - text: positionLabel - }, (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: pin_small - })), images.length ? (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-list-view-block-select-button__images", - "aria-hidden": true - }, images.map((image, index) => (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-list-view-block-select-button__image", - key: image.clientId, - style: { - backgroundImage: `url(${image.url})`, - zIndex: images.length - index // Ensure the first image is on top, and subsequent images are behind. - } - }))) : null, isLocked && (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-list-view-block-select-button__lock" - }, (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: lock_small - }))))); -} -/* harmony default export */ var block_select_button = ((0,external_wp_element_namespaceObject.forwardRef)(ListViewBlockSelectButton)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-draggable/use-scroll-when-dragging.js -/** - * WordPress dependencies - */ - - -const SCROLL_INACTIVE_DISTANCE_PX = 50; -const SCROLL_INTERVAL_MS = 25; -const PIXELS_PER_SECOND_PER_PERCENTAGE = 1000; -const VELOCITY_MULTIPLIER = PIXELS_PER_SECOND_PER_PERCENTAGE * (SCROLL_INTERVAL_MS / 1000); - -/** - * React hook that scrolls the scroll container when a block is being dragged. - * - * @return {Function[]} `startScrolling`, `scrollOnDragOver`, `stopScrolling` - * functions to be called in `onDragStart`, `onDragOver` - * and `onDragEnd` events respectively. - */ -function useScrollWhenDragging() { - const dragStartY = (0,external_wp_element_namespaceObject.useRef)(null); - const velocityY = (0,external_wp_element_namespaceObject.useRef)(null); - const scrollParentY = (0,external_wp_element_namespaceObject.useRef)(null); - const scrollEditorInterval = (0,external_wp_element_namespaceObject.useRef)(null); - - // Clear interval when unmounting. - (0,external_wp_element_namespaceObject.useEffect)(() => () => { - if (scrollEditorInterval.current) { - clearInterval(scrollEditorInterval.current); - scrollEditorInterval.current = null; - } - }, []); - const startScrolling = (0,external_wp_element_namespaceObject.useCallback)(event => { - dragStartY.current = event.clientY; - - // Find nearest parent(s) to scroll. - scrollParentY.current = (0,external_wp_dom_namespaceObject.getScrollContainer)(event.target); - scrollEditorInterval.current = setInterval(() => { - if (scrollParentY.current && velocityY.current) { - const newTop = scrollParentY.current.scrollTop + velocityY.current; - - // Setting `behavior: 'smooth'` as a scroll property seems to hurt performance. - // Better to use a small scroll interval. - scrollParentY.current.scroll({ - top: newTop - }); - } - }, SCROLL_INTERVAL_MS); - }, []); - const scrollOnDragOver = (0,external_wp_element_namespaceObject.useCallback)(event => { - if (!scrollParentY.current) { - return; - } - const scrollParentHeight = scrollParentY.current.offsetHeight; - const offsetDragStartPosition = dragStartY.current - scrollParentY.current.offsetTop; - const offsetDragPosition = event.clientY - scrollParentY.current.offsetTop; - if (event.clientY > offsetDragStartPosition) { - // User is dragging downwards. - const moveableDistance = Math.max(scrollParentHeight - offsetDragStartPosition - SCROLL_INACTIVE_DISTANCE_PX, 0); - const dragDistance = Math.max(offsetDragPosition - offsetDragStartPosition - SCROLL_INACTIVE_DISTANCE_PX, 0); - const distancePercentage = moveableDistance === 0 || dragDistance === 0 ? 0 : dragDistance / moveableDistance; - velocityY.current = VELOCITY_MULTIPLIER * distancePercentage; - } else if (event.clientY < offsetDragStartPosition) { - // User is dragging upwards. - const moveableDistance = Math.max(offsetDragStartPosition - SCROLL_INACTIVE_DISTANCE_PX, 0); - const dragDistance = Math.max(offsetDragStartPosition - offsetDragPosition - SCROLL_INACTIVE_DISTANCE_PX, 0); - const distancePercentage = moveableDistance === 0 || dragDistance === 0 ? 0 : dragDistance / moveableDistance; - velocityY.current = -VELOCITY_MULTIPLIER * distancePercentage; - } else { - velocityY.current = 0; - } - }, []); - const stopScrolling = () => { - dragStartY.current = null; - scrollParentY.current = null; - if (scrollEditorInterval.current) { - clearInterval(scrollEditorInterval.current); - scrollEditorInterval.current = null; - } - }; - return [startScrolling, scrollOnDragOver, stopScrolling]; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-draggable/index.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - -const BlockDraggable = ({ - children, +function BlockMover({ clientIds, - cloneClassname, - onDragStart, - onDragEnd -}) => { + hideDragHandle +}) { const { - srcRootClientId, - isDraggable, - icon + canMove, + rootClientId, + isFirst, + isLast, + orientation } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { + getBlockIndex, + getBlockListSettings, canMoveBlocks, - getBlockRootClientId, - getBlockName, - getBlockAttributes + getBlockOrder, + getBlockRootClientId } = select(store); - const { - getBlockType, - getActiveBlockVariation - } = select(external_wp_blocks_namespaceObject.store); - const rootClientId = getBlockRootClientId(clientIds[0]); - const blockName = getBlockName(clientIds[0]); - const variation = getActiveBlockVariation(blockName, getBlockAttributes(clientIds[0])); + const normalizedClientIds = Array.isArray(clientIds) ? clientIds : [clientIds]; + const firstClientId = normalizedClientIds[0]; + const _rootClientId = getBlockRootClientId(firstClientId); + const firstIndex = getBlockIndex(firstClientId); + const lastIndex = getBlockIndex(normalizedClientIds[normalizedClientIds.length - 1]); + const blockOrder = getBlockOrder(_rootClientId); return { - srcRootClientId: rootClientId, - isDraggable: canMoveBlocks(clientIds, rootClientId), - icon: variation?.icon || getBlockType(blockName)?.icon + canMove: canMoveBlocks(clientIds, _rootClientId), + rootClientId: _rootClientId, + isFirst: firstIndex === 0, + isLast: lastIndex === blockOrder.length - 1, + orientation: getBlockListSettings(_rootClientId)?.orientation }; }, [clientIds]); - const isDragging = (0,external_wp_element_namespaceObject.useRef)(false); - const [startScrolling, scrollOnDragOver, stopScrolling] = useScrollWhenDragging(); - const { - startDraggingBlocks, - stopDraggingBlocks - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - - // Stop dragging blocks if the block draggable is unmounted. - (0,external_wp_element_namespaceObject.useEffect)(() => { - return () => { - if (isDragging.current) { - stopDraggingBlocks(); - } - }; - }, []); - if (!isDraggable) { - return children({ - draggable: false - }); + if (!canMove || isFirst && isLast && !rootClientId) { + return null; } - const transferData = { - type: 'block', - srcClientIds: clientIds, - srcRootClientId - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Draggable, { - cloneClassname: cloneClassname, - __experimentalTransferDataType: "wp-blocks", - transferData: transferData, - onDragStart: event => { - // Defer hiding the dragged source element to the next - // frame to enable dragging. - window.requestAnimationFrame(() => { - startDraggingBlocks(clientIds); - isDragging.current = true; - startScrolling(event); - if (onDragStart) { - onDragStart(); - } - }); - }, - onDragOver: scrollOnDragOver, - onDragEnd: () => { - stopDraggingBlocks(); - isDragging.current = false; - stopScrolling(); - if (onDragEnd) { - onDragEnd(); - } - }, - __experimentalDragComponent: (0,external_wp_element_namespaceObject.createElement)(BlockDraggableChip, { - count: clientIds.length, - icon: icon + const dragHandleLabel = (0,external_wp_i18n_namespaceObject.__)('Drag'); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, { + className: classnames_default()('block-editor-block-mover', { + 'is-horizontal': orientation === 'horizontal' }) - }, ({ - onDraggableStart, - onDraggableEnd - }) => { - return children({ - draggable: true, - onDragStart: onDraggableStart, - onDragEnd: onDraggableEnd - }); - }); -}; -/* harmony default export */ var block_draggable = (BlockDraggable); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/block-contents.js + }, !hideDragHandle && (0,external_React_.createElement)(block_draggable, { + clientIds: clientIds, + fadeWhenDisabled: true + }, draggableProps => (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + icon: drag_handle, + className: "block-editor-block-mover__drag-handle", + "aria-hidden": "true", + label: dragHandleLabel + // Should not be able to tab to drag handle as this + // button can only be used with a pointer device. + , + tabIndex: "-1", + ...draggableProps + })), (0,external_React_.createElement)("div", { + className: "block-editor-block-mover__move-button-container" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarItem, null, itemProps => (0,external_React_.createElement)(BlockMoverUpButton, { + clientIds: clientIds, + ...itemProps + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarItem, null, itemProps => (0,external_React_.createElement)(BlockMoverDownButton, { + clientIds: clientIds, + ...itemProps + })))); +} /** - * External dependencies + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-mover/README.md */ +/* harmony default export */ var block_mover = (BlockMover); - +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/utils.js /** * WordPress dependencies */ @@ -47479,783 +52008,157 @@ const BlockDraggable = ({ * Internal dependencies */ - - - -const ListViewBlockContents = (0,external_wp_element_namespaceObject.forwardRef)(({ - onClick, - onToggleExpanded, - block, - isSelected, - position, - siblingBlockCount, - level, - isExpanded, - selectedClientIds, - ...props -}, ref) => { - const { - clientId - } = block; - const { - blockMovingClientId, - selectedBlockInBlockEditor - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - hasBlockMovingClientId, - getSelectedBlockClientId - } = select(store); - return { - blockMovingClientId: hasBlockMovingClientId(), - selectedBlockInBlockEditor: getSelectedBlockClientId() - }; - }, []); - const { - AdditionalBlockContent, - insertedBlock, - setInsertedBlock - } = useListViewContext(); - const isBlockMoveTarget = blockMovingClientId && selectedBlockInBlockEditor === clientId; - const className = classnames_default()('block-editor-list-view-block-contents', { - 'is-dropping-before': isBlockMoveTarget - }); - - // Only include all selected blocks if the currently clicked on block - // is one of the selected blocks. This ensures that if a user attempts - // to drag a block that isn't part of the selection, they're still able - // to drag it and rearrange its position. - const draggableClientIds = selectedClientIds.includes(clientId) ? selectedClientIds : [clientId]; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, AdditionalBlockContent && (0,external_wp_element_namespaceObject.createElement)(AdditionalBlockContent, { - block: block, - insertedBlock: insertedBlock, - setInsertedBlock: setInsertedBlock - }), (0,external_wp_element_namespaceObject.createElement)(block_draggable, { - clientIds: draggableClientIds - }, ({ - draggable, - onDragStart, - onDragEnd - }) => (0,external_wp_element_namespaceObject.createElement)(block_select_button, { - ref: ref, - className: className, - block: block, - onClick: onClick, - onToggleExpanded: onToggleExpanded, - isSelected: isSelected, - position: position, - siblingBlockCount: siblingBlockCount, - level: level, - draggable: draggable, - onDragStart: onDragStart, - onDragEnd: onDragEnd, - isExpanded: isExpanded, - ...props - }))); -}); -/* harmony default export */ var block_contents = (ListViewBlockContents); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/utils.js -/** - * WordPress dependencies - */ - - -const getBlockPositionDescription = (position, siblingCount, level) => (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: 1: The numerical position of the block. 2: The total number of blocks. 3. The level of nesting for the block. */ -(0,external_wp_i18n_namespaceObject.__)('Block %1$d of %2$d, Level %3$d'), position, siblingCount, level); +const { + clearTimeout: utils_clearTimeout, + setTimeout: utils_setTimeout +} = window; +const DEBOUNCE_TIMEOUT = 200; /** - * Returns true if the client ID occurs within the block selection or multi-selection, - * or false otherwise. + * Hook that creates debounced callbacks when the node is hovered or focused. * - * @param {string} clientId Block client ID. - * @param {string|string[]} selectedBlockClientIds Selected block client ID, or an array of multi-selected blocks client IDs. - * - * @return {boolean} Whether the block is in multi-selection set. + * @param {Object} props Component props. + * @param {Object} props.ref Element reference. + * @param {boolean} props.isFocused Whether the component has current focus. + * @param {number} props.highlightParent Whether to highlight the parent block. It defaults in highlighting the selected block. + * @param {number} [props.debounceTimeout=250] Debounce timeout in milliseconds. */ -const isClientIdSelected = (clientId, selectedBlockClientIds) => Array.isArray(selectedBlockClientIds) && selectedBlockClientIds.length ? selectedBlockClientIds.indexOf(clientId) !== -1 : selectedBlockClientIds === clientId; - -/** - * From a start and end clientId of potentially different nesting levels, - * return the nearest-depth ids that have a common level of depth in the - * nesting hierarchy. For multiple block selection, this ensure that the - * selection is always at the same nesting level, and not split across - * separate levels. - * - * @param {string} startId The first id of a selection. - * @param {string} endId The end id of a selection, usually one that has been clicked on. - * @param {string[]} startParents An array of ancestor ids for the start id, in descending order. - * @param {string[]} endParents An array of ancestor ids for the end id, in descending order. - * @return {Object} An object containing the start and end ids. - */ -function getCommonDepthClientIds(startId, endId, startParents, endParents) { - const startPath = [...startParents, startId]; - const endPath = [...endParents, endId]; - const depth = Math.min(startPath.length, endPath.length) - 1; - const start = startPath[depth]; - const end = endPath[depth]; - return { - start, - end - }; -} - -/** - * Shift focus to the list view item associated with a particular clientId. - * - * @typedef {import('@wordpress/element').RefObject} RefObject - * - * @param {string} focusClientId The client ID of the block to focus. - * @param {RefObject} treeGridElementRef The container element to search within. - */ -function focusListItem(focusClientId, treeGridElementRef) { - const getFocusElement = () => { - const row = treeGridElementRef.current?.querySelector(`[role=row][data-block="${focusClientId}"]`); - if (!row) return null; - // Focus the first focusable in the row, which is the ListViewBlockSelectButton. - return external_wp_dom_namespaceObject.focus.focusable.find(row)[0]; - }; - let focusElement = getFocusElement(); - if (focusElement) { - focusElement.focus(); - } else { - // The element hasn't been painted yet. Defer focusing on the next frame. - // This could happen when all blocks have been deleted and the default block - // hasn't been added to the editor yet. - window.requestAnimationFrame(() => { - focusElement = getFocusElement(); - - // Ignore if the element still doesn't exist. - if (focusElement) { - focusElement.focus(); - } - }); - } -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/block.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - - -/** - * Internal dependencies - */ - - - - - - - - - - -function ListViewBlock({ - block: { - clientId - }, - isDragged, - isSelected, - isBranchSelected, - selectBlock, - position, - level, - rowCount, - siblingBlockCount, - showBlockMovers, - path, - isExpanded, - selectedClientIds, - isSyncedBranch +function useDebouncedShowGestures({ + ref, + isFocused, + highlightParent, + debounceTimeout = DEBOUNCE_TIMEOUT }) { - const cellRef = (0,external_wp_element_namespaceObject.useRef)(null); - const rowRef = (0,external_wp_element_namespaceObject.useRef)(null); - const [isHovered, setIsHovered] = (0,external_wp_element_namespaceObject.useState)(false); const { - isLocked, - canEdit - } = useBlockLock(clientId); - const isFirstSelectedBlock = isSelected && selectedClientIds[0] === clientId; - const isLastSelectedBlock = isSelected && selectedClientIds[selectedClientIds.length - 1] === clientId; + getSelectedBlockClientId, + getBlockRootClientId + } = (0,external_wp_data_namespaceObject.useSelect)(store); const { toggleBlockHighlight } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const blockInformation = useBlockDisplayInformation(clientId); - const blockTitle = blockInformation?.name || blockInformation?.title || (0,external_wp_i18n_namespaceObject.__)('Untitled'); - const block = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getBlock(clientId), [clientId]); - const blockName = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getBlockName(clientId), [clientId]); - const blockEditingMode = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getBlockEditingMode(clientId), [clientId]); - const showBlockActions = - // When a block hides its toolbar it also hides the block settings menu, - // since that menu is part of the toolbar in the editor canvas. - // List View respects this by also hiding the block settings menu. - (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, '__experimentalToolbar', true) && - // Don't show the settings menu if block is disabled or content only. - blockEditingMode === 'default'; - const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(ListViewBlock); - const descriptionId = `list-view-block-select-button__${instanceId}`; - const blockPositionDescription = getBlockPositionDescription(position, siblingBlockCount, level); - const blockAriaLabel = isLocked ? (0,external_wp_i18n_namespaceObject.sprintf)( - // translators: %s: The title of the block. This string indicates a link to select the locked block. - (0,external_wp_i18n_namespaceObject.__)('%s (locked)'), blockTitle) : blockTitle; - const settingsAriaLabel = (0,external_wp_i18n_namespaceObject.sprintf)( - // translators: %s: The title of the block. - (0,external_wp_i18n_namespaceObject.__)('Options for %s'), blockTitle); - const { - expand, - collapse, - BlockSettingsMenu, - listViewInstanceId, - expandedState, - setInsertedBlock, - treeGridElementRef - } = useListViewContext(); - const hasSiblings = siblingBlockCount > 0; - const hasRenderedMovers = showBlockMovers && hasSiblings; - const moverCellClassName = classnames_default()('block-editor-list-view-block__mover-cell', { - 'is-visible': isHovered || isSelected - }); - const listViewBlockSettingsClassName = classnames_default()('block-editor-list-view-block__menu-cell', { - 'is-visible': isHovered || isFirstSelectedBlock - }); - - // If multiple blocks are selected, deselect all blocks when the user - // presses the escape key. - const onKeyDown = event => { - if (event.keyCode === external_wp_keycodes_namespaceObject.ESCAPE && !event.defaultPrevented && selectedClientIds.length > 0) { - event.stopPropagation(); - event.preventDefault(); - selectBlock(event, undefined); + const timeoutRef = (0,external_wp_element_namespaceObject.useRef)(); + const isDistractionFree = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getSettings().isDistractionFree, []); + const handleOnChange = nextIsFocused => { + if (nextIsFocused && isDistractionFree) { + return; + } + const selectedBlockClientId = getSelectedBlockClientId(); + const clientId = highlightParent ? getBlockRootClientId(selectedBlockClientId) : selectedBlockClientId; + toggleBlockHighlight(clientId, nextIsFocused); + }; + const getIsHovered = () => { + return ref?.current && ref.current.matches(':hover'); + }; + const shouldHideGestures = () => { + const isHovered = getIsHovered(); + return !isFocused && !isHovered; + }; + const clearTimeoutRef = () => { + const timeout = timeoutRef.current; + if (timeout && utils_clearTimeout) { + utils_clearTimeout(timeout); } }; - const onMouseEnter = (0,external_wp_element_namespaceObject.useCallback)(() => { - setIsHovered(true); - toggleBlockHighlight(clientId, true); - }, [clientId, setIsHovered, toggleBlockHighlight]); - const onMouseLeave = (0,external_wp_element_namespaceObject.useCallback)(() => { - setIsHovered(false); - toggleBlockHighlight(clientId, false); - }, [clientId, setIsHovered, toggleBlockHighlight]); - const selectEditorBlock = (0,external_wp_element_namespaceObject.useCallback)(event => { - selectBlock(event, clientId); - event.preventDefault(); - }, [clientId, selectBlock]); - const updateFocusAndSelection = (0,external_wp_element_namespaceObject.useCallback)((focusClientId, shouldSelectBlock) => { - if (shouldSelectBlock) { - selectBlock(undefined, focusClientId, null, null); + const debouncedShowGestures = event => { + if (event) { + event.stopPropagation(); } - focusListItem(focusClientId, treeGridElementRef); - }, [selectBlock, treeGridElementRef]); - const toggleExpanded = (0,external_wp_element_namespaceObject.useCallback)(event => { - // Prevent shift+click from opening link in a new window when toggling. - event.preventDefault(); - event.stopPropagation(); - if (isExpanded === true) { - collapse(clientId); - } else if (isExpanded === false) { - expand(clientId); + clearTimeoutRef(); + handleOnChange(true); + }; + const debouncedHideGestures = event => { + if (event) { + event.stopPropagation(); } - }, [clientId, expand, collapse, isExpanded]); - let colSpan; - if (hasRenderedMovers) { - colSpan = 2; - } else if (!showBlockActions) { - colSpan = 3; - } - const classes = classnames_default()({ - 'is-selected': isSelected, - 'is-first-selected': isFirstSelectedBlock, - 'is-last-selected': isLastSelectedBlock, - 'is-branch-selected': isBranchSelected, - 'is-synced-branch': isSyncedBranch, - 'is-dragging': isDragged, - 'has-single-cell': !showBlockActions, - 'is-synced': blockInformation?.isSynced - }); - - // Only include all selected blocks if the currently clicked on block - // is one of the selected blocks. This ensures that if a user attempts - // to alter a block that isn't part of the selection, they're still able - // to do so. - const dropdownClientIds = selectedClientIds.includes(clientId) ? selectedClientIds : [clientId]; - - // Pass in a ref to the row, so that it can be scrolled - // into view when selected. For long lists, the placeholder for the - // selected block is also observed, within ListViewLeafPlaceholder. - useListViewScrollIntoView({ - isSelected, - rowItemRef: rowRef, - selectedClientIds - }); - - // Detect if there is a block in the canvas currently being edited and multi-selection is not happening. - const currentlyEditingBlockInCanvas = isSelected && selectedClientIds.length === 1; - return (0,external_wp_element_namespaceObject.createElement)(leaf, { - className: classes, - onKeyDown: onKeyDown, - onMouseEnter: onMouseEnter, - onMouseLeave: onMouseLeave, - onFocus: onMouseEnter, - onBlur: onMouseLeave, - level: level, - position: position, - rowCount: rowCount, - path: path, - id: `list-view-${listViewInstanceId}-block-${clientId}`, - "data-block": clientId, - "data-expanded": canEdit ? isExpanded : undefined, - ref: rowRef - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridCell, { - className: "block-editor-list-view-block__contents-cell", - colSpan: colSpan, - ref: cellRef, - "aria-selected": !!isSelected - }, ({ - ref, - tabIndex, - onFocus - }) => (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-list-view-block__contents-container" - }, (0,external_wp_element_namespaceObject.createElement)(block_contents, { - block: block, - onClick: selectEditorBlock, - onToggleExpanded: toggleExpanded, - isSelected: isSelected, - position: position, - siblingBlockCount: siblingBlockCount, - level: level, - ref: ref, - tabIndex: currentlyEditingBlockInCanvas ? 0 : tabIndex, - onFocus: onFocus, - isExpanded: canEdit ? isExpanded : undefined, - selectedClientIds: selectedClientIds, - ariaLabel: blockAriaLabel, - ariaDescribedBy: descriptionId, - updateFocusAndSelection: updateFocusAndSelection - }), (0,external_wp_element_namespaceObject.createElement)(AriaReferencedText, { - id: descriptionId - }, blockPositionDescription))), hasRenderedMovers && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridCell, { - className: moverCellClassName, - withoutGridItem: true - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridItem, null, ({ - ref, - tabIndex, - onFocus - }) => (0,external_wp_element_namespaceObject.createElement)(BlockMoverUpButton, { - orientation: "vertical", - clientIds: [clientId], - ref: ref, - tabIndex: tabIndex, - onFocus: onFocus - })), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridItem, null, ({ - ref, - tabIndex, - onFocus - }) => (0,external_wp_element_namespaceObject.createElement)(BlockMoverDownButton, { - orientation: "vertical", - clientIds: [clientId], - ref: ref, - tabIndex: tabIndex, - onFocus: onFocus - })))), showBlockActions && BlockSettingsMenu && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridCell, { - className: listViewBlockSettingsClassName, - "aria-selected": !!isSelected - }, ({ - ref, - tabIndex, - onFocus - }) => (0,external_wp_element_namespaceObject.createElement)(BlockSettingsMenu, { - clientIds: dropdownClientIds, - block: block, - icon: more_vertical, - label: settingsAriaLabel, - toggleProps: { - ref, - className: 'block-editor-list-view-block__menu', - tabIndex, - onFocus - }, - disableOpenOnArrowDown: true, - expand: expand, - expandedState: expandedState, - setInsertedBlock: setInsertedBlock, - __experimentalSelectBlock: updateFocusAndSelection - }))); + clearTimeoutRef(); + timeoutRef.current = utils_setTimeout(() => { + if (shouldHideGestures()) { + handleOnChange(false); + } + }, debounceTimeout); + }; + (0,external_wp_element_namespaceObject.useEffect)(() => () => { + /** + * We need to call the change handler with `isFocused` + * set to false on unmount because we also clear the + * timeout that would handle that. + */ + handleOnChange(false); + clearTimeoutRef(); + }, []); + return { + debouncedShowGestures, + debouncedHideGestures + }; } -/* harmony default export */ var list_view_block = ((0,external_wp_element_namespaceObject.memo)(ListViewBlock)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/branch.js /** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - - - -/** - * Given a block, returns the total number of blocks in that subtree. This is used to help determine - * the list position of a block. + * Hook that provides gesture events for DOM elements + * that interact with the isFocused state. * - * When a block is collapsed, we do not count their children as part of that total. In the current drag - * implementation dragged blocks and their children are not counted. - * - * @param {Object} block block tree - * @param {Object} expandedState state that notes which branches are collapsed - * @param {Array} draggedClientIds a list of dragged client ids - * @param {boolean} isExpandedByDefault flag to determine the default fallback expanded state. - * @return {number} block count + * @param {Object} props Component props. + * @param {Object} props.ref Element reference. + * @param {number} [props.highlightParent=false] Whether to highlight the parent block. It defaults to highlighting the selected block. + * @param {number} [props.debounceTimeout=250] Debounce timeout in milliseconds. */ -function countBlocks(block, expandedState, draggedClientIds, isExpandedByDefault) { - var _expandedState$block$; - const isDragged = draggedClientIds?.includes(block.clientId); - if (isDragged) { - return 0; - } - const isExpanded = (_expandedState$block$ = expandedState[block.clientId]) !== null && _expandedState$block$ !== void 0 ? _expandedState$block$ : isExpandedByDefault; - if (isExpanded) { - return 1 + block.innerBlocks.reduce(countReducer(expandedState, draggedClientIds, isExpandedByDefault), 0); - } - return 1; -} -const countReducer = (expandedState, draggedClientIds, isExpandedByDefault) => (count, block) => { - var _expandedState$block$2; - const isDragged = draggedClientIds?.includes(block.clientId); - if (isDragged) { - return count; - } - const isExpanded = (_expandedState$block$2 = expandedState[block.clientId]) !== null && _expandedState$block$2 !== void 0 ? _expandedState$block$2 : isExpandedByDefault; - if (isExpanded && block.innerBlocks.length > 0) { - return count + countBlocks(block, expandedState, draggedClientIds, isExpandedByDefault); - } - return count + 1; -}; -const branch_noop = () => {}; -function ListViewBranch(props) { - const { - blocks, - selectBlock = branch_noop, - showBlockMovers, - selectedClientIds, - level = 1, - path = '', - isBranchDragged = false, - isBranchSelected = false, - listPosition = 0, - fixedListWindow, - isExpanded, - parentId, - shouldShowInnerBlocks = true, - isSyncedBranch = false, - showAppender: showAppenderProp = true - } = props; - const parentBlockInformation = useBlockDisplayInformation(parentId); - const syncedBranch = isSyncedBranch || !!parentBlockInformation?.isSynced; - const canParentExpand = (0,external_wp_data_namespaceObject.useSelect)(select => { - if (!parentId) { - return true; - } - return select(store).canEditBlock(parentId); - }, [parentId]); - const { - expandedState, - draggedClientIds - } = useListViewContext(); - if (!canParentExpand) { - return null; - } - - // Only show the appender at the first level. - const showAppender = showAppenderProp && level === 1; - const filteredBlocks = blocks.filter(Boolean); - const blockCount = filteredBlocks.length; - // The appender means an extra row in List View, so add 1 to the row count. - const rowCount = showAppender ? blockCount + 1 : blockCount; - let nextPosition = listPosition; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, filteredBlocks.map((block, index) => { - var _expandedState$client; - const { - clientId, - innerBlocks - } = block; - if (index > 0) { - nextPosition += countBlocks(filteredBlocks[index - 1], expandedState, draggedClientIds, isExpanded); - } - const { - itemInView - } = fixedListWindow; - const blockInView = itemInView(nextPosition); - const position = index + 1; - const updatedPath = path.length > 0 ? `${path}_${position}` : `${position}`; - const hasNestedBlocks = !!innerBlocks?.length; - const shouldExpand = hasNestedBlocks && shouldShowInnerBlocks ? (_expandedState$client = expandedState[clientId]) !== null && _expandedState$client !== void 0 ? _expandedState$client : isExpanded : undefined; - const isDragged = !!draggedClientIds?.includes(clientId); - - // Make updates to the selected or dragged blocks synchronous, - // but asynchronous for any other block. - const isSelected = isClientIdSelected(clientId, selectedClientIds); - const isSelectedBranch = isBranchSelected || isSelected && hasNestedBlocks; - - // To avoid performance issues, we only render blocks that are in view, - // or blocks that are selected or dragged. If a block is selected, - // it is only counted if it is the first of the block selection. - // This prevents the entire tree from being rendered when a branch is - // selected, or a user selects all blocks, while still enabling scroll - // into view behavior when selecting a block or opening the list view. - const showBlock = isDragged || blockInView || isBranchDragged || isSelected && clientId === selectedClientIds[0]; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_data_namespaceObject.AsyncModeProvider, { - key: clientId, - value: !isSelected - }, showBlock && (0,external_wp_element_namespaceObject.createElement)(list_view_block, { - block: block, - selectBlock: selectBlock, - isSelected: isSelected, - isBranchSelected: isSelectedBranch, - isDragged: isDragged || isBranchDragged, - level: level, - position: position, - rowCount: rowCount, - siblingBlockCount: blockCount, - showBlockMovers: showBlockMovers, - path: updatedPath, - isExpanded: shouldExpand, - listPosition: nextPosition, - selectedClientIds: selectedClientIds, - isSyncedBranch: syncedBranch - }), !showBlock && (0,external_wp_element_namespaceObject.createElement)("tr", null, (0,external_wp_element_namespaceObject.createElement)("td", { - className: "block-editor-list-view-placeholder" - })), hasNestedBlocks && shouldExpand && (0,external_wp_element_namespaceObject.createElement)(ListViewBranch, { - parentId: clientId, - blocks: innerBlocks, - selectBlock: selectBlock, - showBlockMovers: showBlockMovers, - level: level + 1, - path: updatedPath, - listPosition: nextPosition + 1, - fixedListWindow: fixedListWindow, - isBranchSelected: isSelectedBranch, - isBranchDragged: isDragged || isBranchDragged, - selectedClientIds: selectedClientIds, - isExpanded: isExpanded, - isSyncedBranch: syncedBranch - })); - }), showAppender && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridRow, { - level: level, - setSize: rowCount, - positionInSet: rowCount, - isExpanded: true - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridCell, null, treeGridCellProps => (0,external_wp_element_namespaceObject.createElement)(Appender, { - clientId: parentId, - nestingLevel: level, - blockCount: blockCount, - ...treeGridCellProps - })))); -} -/* harmony default export */ var branch = ((0,external_wp_element_namespaceObject.memo)(ListViewBranch)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/drop-indicator.js - -/** - * WordPress dependencies - */ - - - - -function ListViewDropIndicator({ - listViewRef, - blockDropTarget +function useShowHoveredOrFocusedGestures({ + ref, + highlightParent = false, + debounceTimeout = DEBOUNCE_TIMEOUT }) { + const [isFocused, setIsFocused] = (0,external_wp_element_namespaceObject.useState)(false); const { - rootClientId, - clientId, - dropPosition - } = blockDropTarget || {}; - const [rootBlockElement, blockElement] = (0,external_wp_element_namespaceObject.useMemo)(() => { - if (!listViewRef.current) { - return []; - } - - // The rootClientId will be defined whenever dropping into inner - // block lists, but is undefined when dropping at the root level. - const _rootBlockElement = rootClientId ? listViewRef.current.querySelector(`[data-block="${rootClientId}"]`) : undefined; - - // The clientId represents the sibling block, the dragged block will - // usually be inserted adjacent to it. It will be undefined when - // dropping a block into an empty block list. - const _blockElement = clientId ? listViewRef.current.querySelector(`[data-block="${clientId}"]`) : undefined; - return [_rootBlockElement, _blockElement]; - }, [rootClientId, clientId]); - - // The targetElement is the element that the drop indicator will appear - // before or after. When dropping into an empty block list, blockElement - // is undefined, so the indicator will appear after the rootBlockElement. - const targetElement = blockElement || rootBlockElement; - const rtl = (0,external_wp_i18n_namespaceObject.isRTL)(); - const getDropIndicatorIndent = (0,external_wp_element_namespaceObject.useCallback)(targetElementRect => { - if (!rootBlockElement) { - return 0; - } - - // Calculate the indent using the block icon of the root block. - // Using a classname selector here might be flaky and could be - // improved. - const rootBlockIconElement = rootBlockElement.querySelector('.block-editor-block-icon'); - const rootBlockIconRect = rootBlockIconElement.getBoundingClientRect(); - return rtl ? targetElementRect.right - rootBlockIconRect.left : rootBlockIconRect.right - targetElementRect.left; - }, [rootBlockElement, rtl]); - const getDropIndicatorWidth = (0,external_wp_element_namespaceObject.useCallback)((targetElementRect, indent) => { - if (!targetElement) { - return 0; - } - - // Default to assuming that the width of the drop indicator - // should be the same as the target element. - let width = targetElement.offsetWidth; - - // In deeply nested lists, where a scrollbar is present, - // the width of the drop indicator should be the width of - // the scroll container, minus the distance from the left - // edge of the scroll container to the left edge of the - // target element. - const scrollContainer = (0,external_wp_dom_namespaceObject.getScrollContainer)(targetElement, 'horizontal'); - const ownerDocument = targetElement.ownerDocument; - const windowScroll = scrollContainer === ownerDocument.body || scrollContainer === ownerDocument.documentElement; - if (scrollContainer && !windowScroll) { - const scrollContainerRect = scrollContainer.getBoundingClientRect(); - const distanceBetweenContainerAndTarget = (0,external_wp_i18n_namespaceObject.isRTL)() ? scrollContainerRect.right - targetElementRect.right : targetElementRect.left - scrollContainerRect.left; - const scrollContainerWidth = scrollContainer.clientWidth; - if (scrollContainerWidth < width + distanceBetweenContainerAndTarget) { - width = scrollContainerWidth - distanceBetweenContainerAndTarget; - } - - // LTR logic for ensuring the drop indicator does not extend - // beyond the right edge of the scroll container. - if (!rtl && targetElementRect.left + indent < scrollContainerRect.left) { - width -= scrollContainerRect.left - targetElementRect.left; - return width; - } - - // RTL logic for ensuring the drop indicator does not extend - // beyond the right edge of the scroll container. - if (rtl && targetElementRect.right - indent > scrollContainerRect.right) { - width -= targetElementRect.right - scrollContainerRect.right; - return width; - } - } - - // Subtract the indent from the final width of the indicator. - return width - indent; - }, [rtl, targetElement]); - const style = (0,external_wp_element_namespaceObject.useMemo)(() => { - if (!targetElement) { - return {}; - } - const targetElementRect = targetElement.getBoundingClientRect(); - const indent = getDropIndicatorIndent(targetElementRect); - return { - width: getDropIndicatorWidth(targetElementRect, indent) - }; - }, [getDropIndicatorIndent, getDropIndicatorWidth, targetElement]); - const popoverAnchor = (0,external_wp_element_namespaceObject.useMemo)(() => { - const isValidDropPosition = dropPosition === 'top' || dropPosition === 'bottom' || dropPosition === 'inside'; - if (!targetElement || !isValidDropPosition) { - return undefined; - } - return { - contextElement: targetElement, - getBoundingClientRect() { - const rect = targetElement.getBoundingClientRect(); - const indent = getDropIndicatorIndent(rect); - // In RTL languages, the drop indicator should be positioned - // to the left of the target element, with the width of the - // indicator determining the indent at the right edge of the - // target element. In LTR languages, the drop indicator should - // end at the right edge of the target element, with the indent - // added to the position of the left edge of the target element. - let left = rtl ? rect.left : rect.left + indent; - let top = 0; - let bottom = 0; - - // In deeply nested lists, where a scrollbar is present, - // the width of the drop indicator should be the width of - // the visible area of the scroll container. Additionally, - // the left edge of the drop indicator line needs to be - // offset by the distance the left edge of the target element - // and the left edge of the scroll container. The ensures - // that the drop indicator position never breaks out of the - // visible area of the scroll container. - const scrollContainer = (0,external_wp_dom_namespaceObject.getScrollContainer)(targetElement, 'horizontal'); - const doc = targetElement.ownerDocument; - const windowScroll = scrollContainer === doc.body || scrollContainer === doc.documentElement; - - // If the scroll container is not the window, offset the left position, if need be. - if (scrollContainer && !windowScroll) { - const scrollContainerRect = scrollContainer.getBoundingClientRect(); - - // In RTL languages, a vertical scrollbar is present on the - // left edge of the scroll container. The width of the - // scrollbar needs to be accounted for when positioning the - // drop indicator. - const scrollbarWidth = rtl ? scrollContainer.offsetWidth - scrollContainer.clientWidth : 0; - if (left < scrollContainerRect.left + scrollbarWidth) { - left = scrollContainerRect.left + scrollbarWidth; - } - } - if (dropPosition === 'top') { - top = rect.top; - bottom = rect.top; - } else { - // `dropPosition` is either `bottom` or `inside` - top = rect.bottom; - bottom = rect.bottom; - } - const width = getDropIndicatorWidth(rect, indent); - const height = bottom - top; - return new window.DOMRect(left, top, width, height); + debouncedShowGestures, + debouncedHideGestures + } = useDebouncedShowGestures({ + ref, + debounceTimeout, + isFocused, + highlightParent + }); + const registerRef = (0,external_wp_element_namespaceObject.useRef)(false); + const isFocusedWithin = () => { + return ref?.current && ref.current.contains(ref.current.ownerDocument.activeElement); + }; + (0,external_wp_element_namespaceObject.useEffect)(() => { + const node = ref.current; + const handleOnFocus = () => { + if (isFocusedWithin()) { + setIsFocused(true); + debouncedShowGestures(); } }; - }, [targetElement, dropPosition, getDropIndicatorIndent, getDropIndicatorWidth, rtl]); - if (!targetElement) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { - animate: false, - anchor: popoverAnchor, - focusOnMount: false, - className: "block-editor-list-view-drop-indicator", - variant: "unstyled" - }, (0,external_wp_element_namespaceObject.createElement)("div", { - style: style, - className: "block-editor-list-view-drop-indicator__line" - })); + const handleOnBlur = () => { + if (!isFocusedWithin()) { + setIsFocused(false); + debouncedHideGestures(); + } + }; + + /** + * Events are added via DOM events (vs. React synthetic events), + * as the child React components swallow mouse events. + */ + if (node && !registerRef.current) { + node.addEventListener('focus', handleOnFocus, true); + node.addEventListener('blur', handleOnBlur, true); + registerRef.current = true; + } + return () => { + if (node) { + node.removeEventListener('focus', handleOnFocus); + node.removeEventListener('blur', handleOnBlur); + } + }; + }, [ref, registerRef, setIsFocused, debouncedShowGestures, debouncedHideGestures]); + return { + onMouseMove: debouncedShowGestures, + onMouseLeave: debouncedHideGestures + }; } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-block-selection.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-parent-selector/index.js + /** * WordPress dependencies */ @@ -48265,580 +52168,1103 @@ function ListViewDropIndicator({ - /** * Internal dependencies */ -function useBlockSelection() { + + + +/** + * Block parent selector component, displaying the hierarchy of the + * current block selection as a single icon to "go up" a level. + * + * @return {Component} Parent block selector. + */ +function BlockParentSelector() { const { - clearSelectedBlock, - multiSelect, selectBlock } = (0,external_wp_data_namespaceObject.useDispatch)(store); const { - getBlockName, - getBlockParents, - getBlockSelectionStart, - getSelectedBlockClientIds, - hasMultiSelection, - hasSelectedBlock - } = (0,external_wp_data_namespaceObject.useSelect)(store); - const { - getBlockType - } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blocks_namespaceObject.store); - const updateBlockSelection = (0,external_wp_element_namespaceObject.useCallback)(async (event, clientId, destinationClientId, focusPosition) => { - if (!event?.shiftKey && event?.keyCode !== external_wp_keycodes_namespaceObject.ESCAPE) { - selectBlock(clientId, focusPosition); - return; - } - - // To handle multiple block selection via the `SHIFT` key, prevent - // the browser default behavior of opening the link in a new window. - event.preventDefault(); - const isOnlyDeselection = event.type === 'keydown' && event.keyCode === external_wp_keycodes_namespaceObject.ESCAPE; - const isKeyPress = event.type === 'keydown' && (event.keyCode === external_wp_keycodes_namespaceObject.UP || event.keyCode === external_wp_keycodes_namespaceObject.DOWN || event.keyCode === external_wp_keycodes_namespaceObject.HOME || event.keyCode === external_wp_keycodes_namespaceObject.END); - - // Handle clicking on a block when no blocks are selected, and return early. - if (!isKeyPress && !hasSelectedBlock() && !hasMultiSelection()) { - selectBlock(clientId, null); - return; - } - const selectedBlocks = getSelectedBlockClientIds(); - const clientIdWithParents = [...getBlockParents(clientId), clientId]; - if (isOnlyDeselection || isKeyPress && !selectedBlocks.some(blockId => clientIdWithParents.includes(blockId))) { - // Ensure that shift-selecting blocks via the keyboard only - // expands the current selection if focusing over already - // selected blocks. Otherwise, clear the selection so that - // a user can create a new selection entirely by keyboard. - await clearSelectedBlock(); - } - - // Update selection, if not only clearing the selection. - if (!isOnlyDeselection) { - let startTarget = getBlockSelectionStart(); - let endTarget = clientId; - - // Handle keyboard behavior for selecting multiple blocks. - if (isKeyPress) { - if (!hasSelectedBlock() && !hasMultiSelection()) { - // Set the starting point of the selection to the currently - // focused block, if there are no blocks currently selected. - // This ensures that as the selection is expanded or contracted, - // the starting point of the selection is anchored to that block. - startTarget = clientId; - } - if (destinationClientId) { - // If the user presses UP or DOWN, we want to ensure that the block they're - // moving to is the target for selection, and not the currently focused one. - endTarget = destinationClientId; - } - } - const startParents = getBlockParents(startTarget); - const endParents = getBlockParents(endTarget); - const { - start, - end - } = getCommonDepthClientIds(startTarget, endTarget, startParents, endParents); - await multiSelect(start, end, null); - } - - // Announce deselected block, or number of deselected blocks if - // the total number of blocks deselected is greater than one. - const updatedSelectedBlocks = getSelectedBlockClientIds(); - - // If the selection is greater than 1 and the Home or End keys - // were used to generate the selection, then skip announcing the - // deselected blocks. - if ((event.keyCode === external_wp_keycodes_namespaceObject.HOME || event.keyCode === external_wp_keycodes_namespaceObject.END) && updatedSelectedBlocks.length > 1) { - return; - } - const selectionDiff = selectedBlocks.filter(blockId => !updatedSelectedBlocks.includes(blockId)); - let label; - if (selectionDiff.length === 1) { - const title = getBlockType(getBlockName(selectionDiff[0]))?.title; - if (title) { - label = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: block name */ - (0,external_wp_i18n_namespaceObject.__)('%s deselected.'), title); - } - } else if (selectionDiff.length > 1) { - label = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: number of deselected blocks */ - (0,external_wp_i18n_namespaceObject.__)('%s blocks deselected.'), selectionDiff.length); - } - if (label) { - (0,external_wp_a11y_namespaceObject.speak)(label, 'assertive'); - } - }, [clearSelectedBlock, getBlockName, getBlockType, getBlockParents, getBlockSelectionStart, getSelectedBlockClientIds, hasMultiSelection, hasSelectedBlock, multiSelect, selectBlock]); - return { - updateBlockSelection - }; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-list-view-client-ids.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -function useListViewClientIds({ - blocks, - rootClientId -}) { - return (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getDraggedBlockClientIds, - getSelectedBlockClientIds, - getEnabledClientIdsTree - } = unlock(select(store)); - return { - selectedClientIds: getSelectedBlockClientIds(), - draggedClientIds: getDraggedBlockClientIds(), - clientIdsTree: blocks !== null && blocks !== void 0 ? blocks : getEnabledClientIdsTree(rootClientId) - }; - }, [blocks, rootClientId]); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-list-view-drop-zone.js -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - -/** @typedef {import('../../utils/math').WPPoint} WPPoint */ - -/** - * The type of a drag event. - * - * @typedef {'default'|'file'|'html'} WPDragEventType - */ - -/** - * An object representing data for blocks in the DOM used by drag and drop. - * - * @typedef {Object} WPListViewDropZoneBlock - * @property {string} clientId The client id for the block. - * @property {string} rootClientId The root client id for the block. - * @property {number} blockIndex The block's index. - * @property {Element} element The DOM element representing the block. - * @property {number} innerBlockCount The number of inner blocks the block has. - * @property {boolean} isDraggedBlock Whether the block is currently being dragged. - * @property {boolean} isExpanded Whether the block is expanded in the UI. - * @property {boolean} canInsertDraggedBlocksAsSibling Whether the dragged block can be a sibling of this block. - * @property {boolean} canInsertDraggedBlocksAsChild Whether the dragged block can be a child of this block. - */ - -/** - * An array representing data for blocks in the DOM used by drag and drop. - * - * @typedef {WPListViewDropZoneBlock[]} WPListViewDropZoneBlocks - */ - -/** - * An object containing details of a drop target. - * - * @typedef {Object} WPListViewDropZoneTarget - * @property {string} blockIndex The insertion index. - * @property {string} rootClientId The root client id for the block. - * @property {string|undefined} clientId The client id for the block. - * @property {'top'|'bottom'|'inside'} dropPosition The position relative to the block that the user is dropping to. - * 'inside' refers to nesting as an inner block. - */ - -// When the indentation level, the corresponding left margin in `style.scss` -// must be updated as well to ensure the drop zone is aligned with the indentation. -const NESTING_LEVEL_INDENTATION = 28; - -/** - * Determines whether the user is positioning the dragged block to be - * moved up to a parent level. - * - * Determined based on nesting level indentation of the current block. - * - * @param {WPPoint} point The point representing the cursor position when dragging. - * @param {DOMRect} rect The rectangle. - * @param {number} nestingLevel The nesting level of the block. - * @param {boolean} rtl Whether the editor is in RTL mode. - * @return {boolean} Whether the gesture is an upward gesture. - */ -function isUpGesture(point, rect, nestingLevel = 1, rtl = false) { - // If the block is nested, and the user is dragging to the bottom - // left of the block (or bottom right in RTL languages), then it is an upward gesture. - const blockIndentPosition = rtl ? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION : rect.left + nestingLevel * NESTING_LEVEL_INDENTATION; - return rtl ? point.x > blockIndentPosition : point.x < blockIndentPosition; -} - -/** - * Returns how many nesting levels up the user is attempting to drag to. - * - * The relative parent level is calculated based on how far - * the cursor is from the provided nesting level (e.g. of a candidate block - * that the user is hovering over). The nesting level is considered "desired" - * because it is not guaranteed that the user will be able to drag to the desired level. - * - * The returned integer can be used to access an ascending array - * of parent blocks, where the first item is the block the user - * is hovering over, and the last item is the root block. - * - * @param {WPPoint} point The point representing the cursor position when dragging. - * @param {DOMRect} rect The rectangle. - * @param {number} nestingLevel The nesting level of the block. - * @param {boolean} rtl Whether the editor is in RTL mode. - * @return {number} The desired relative parent level. - */ -function getDesiredRelativeParentLevel(point, rect, nestingLevel = 1, rtl = false) { - // In RTL languages, the block indent position is from the right edge of the block. - // In LTR languages, the block indent position is from the left edge of the block. - const blockIndentPosition = rtl ? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION : rect.left + nestingLevel * NESTING_LEVEL_INDENTATION; - const distanceBetweenPointAndBlockIndentPosition = rtl ? blockIndentPosition - point.x : point.x - blockIndentPosition; - const desiredParentLevel = Math.round(distanceBetweenPointAndBlockIndentPosition / NESTING_LEVEL_INDENTATION); - return Math.abs(desiredParentLevel); -} - -/** - * Returns an array of the parent blocks of the block the user is dropping to. - * - * @param {WPListViewDropZoneBlock} candidateBlockData The block the user is dropping to. - * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view. - * @return {WPListViewDropZoneBlocks} An array of block parents, including the block the user is dropping to. - */ -function getCandidateBlockParents(candidateBlockData, blocksData) { - const candidateBlockParents = []; - let currentBlockData = candidateBlockData; - while (currentBlockData) { - candidateBlockParents.push({ - ...currentBlockData - }); - currentBlockData = blocksData.find(blockData => blockData.clientId === currentBlockData.rootClientId); - } - return candidateBlockParents; -} - -/** - * Given a list of blocks data and a block index, return the next non-dragged - * block. This is used to determine the block that the user is dropping to, - * while ignoring the dragged block. - * - * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view. - * @param {number} index The index to begin searching from. - * @return {WPListViewDropZoneBlock | undefined} The next non-dragged block. - */ -function getNextNonDraggedBlock(blocksData, index) { - const nextBlockData = blocksData[index + 1]; - if (nextBlockData && nextBlockData.isDraggedBlock) { - return getNextNonDraggedBlock(blocksData, index + 1); - } - return nextBlockData; -} - -/** - * Determines whether the user positioning the dragged block to nest as an - * inner block. - * - * Determined based on nesting level indentation of the current block, plus - * the indentation of the next level of nesting. The vertical position of the - * cursor must also be within the block. - * - * @param {WPPoint} point The point representing the cursor position when dragging. - * @param {DOMRect} rect The rectangle. - * @param {number} nestingLevel The nesting level of the block. - * @param {boolean} rtl Whether the editor is in RTL mode. - */ -function isNestingGesture(point, rect, nestingLevel = 1, rtl = false) { - const blockIndentPosition = rtl ? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION : rect.left + nestingLevel * NESTING_LEVEL_INDENTATION; - const isNestingHorizontalGesture = rtl ? point.x < blockIndentPosition - NESTING_LEVEL_INDENTATION : point.x > blockIndentPosition + NESTING_LEVEL_INDENTATION; - return isNestingHorizontalGesture && point.y < rect.bottom; -} - -// Block navigation is always a vertical list, so only allow dropping -// to the above or below a block. -const ALLOWED_DROP_EDGES = ['top', 'bottom']; - -/** - * Given blocks data and the cursor position, compute the drop target. - * - * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view. - * @param {WPPoint} position The point representing the cursor position when dragging. - * @param {boolean} rtl Whether the editor is in RTL mode. - * - * @return {WPListViewDropZoneTarget | undefined} An object containing data about the drop target. - */ -function getListViewDropTarget(blocksData, position, rtl = false) { - let candidateEdge; - let candidateBlockData; - let candidateDistance; - let candidateRect; - let candidateBlockIndex; - for (let i = 0; i < blocksData.length; i++) { - const blockData = blocksData[i]; - if (blockData.isDraggedBlock) { - continue; - } - const rect = blockData.element.getBoundingClientRect(); - const [distance, edge] = getDistanceToNearestEdge(position, rect, ALLOWED_DROP_EDGES); - const isCursorWithinBlock = isPointContainedByRect(position, rect); - if (candidateDistance === undefined || distance < candidateDistance || isCursorWithinBlock) { - candidateDistance = distance; - const index = blocksData.indexOf(blockData); - const previousBlockData = blocksData[index - 1]; - - // If dragging near the top of a block and the preceding block - // is at the same level, use the preceding block as the candidate - // instead, as later it makes determining a nesting drop easier. - if (edge === 'top' && previousBlockData && previousBlockData.rootClientId === blockData.rootClientId && !previousBlockData.isDraggedBlock) { - candidateBlockData = previousBlockData; - candidateEdge = 'bottom'; - candidateRect = previousBlockData.element.getBoundingClientRect(); - candidateBlockIndex = index - 1; - } else { - candidateBlockData = blockData; - candidateEdge = edge; - candidateRect = rect; - candidateBlockIndex = index; - } - - // If the mouse position is within the block, break early - // as the user would intend to drop either before or after - // this block. - // - // This solves an issue where some rows in the list view - // tree overlap slightly due to sub-pixel rendering. - if (isCursorWithinBlock) { - break; - } - } - } - if (!candidateBlockData) { - return; - } - const candidateBlockParents = getCandidateBlockParents(candidateBlockData, blocksData); - const isDraggingBelow = candidateEdge === 'bottom'; - - // If the user is dragging towards the bottom of the block check whether - // they might be trying to nest the block as a child. - // If the block already has inner blocks, and is expanded, this should be treated - // as nesting since the next block in the tree will be the first child. - // However, if the block is collapsed, dragging beneath the block should - // still be allowed, as the next visible block in the tree will be a sibling. - if (isDraggingBelow && candidateBlockData.canInsertDraggedBlocksAsChild && (candidateBlockData.innerBlockCount > 0 && candidateBlockData.isExpanded || isNestingGesture(position, candidateRect, candidateBlockParents.length, rtl))) { - // If the block is expanded, insert the block as the first child. - // Otherwise, for collapsed blocks, insert the block as the last child. - const newBlockIndex = candidateBlockData.isExpanded ? 0 : candidateBlockData.innerBlockCount || 0; - return { - rootClientId: candidateBlockData.clientId, - blockIndex: newBlockIndex, - dropPosition: 'inside' - }; - } - - // If the user is dragging towards the bottom of the block check whether - // they might be trying to move the block to be at a parent level. - if (isDraggingBelow && candidateBlockData.rootClientId && isUpGesture(position, candidateRect, candidateBlockParents.length, rtl)) { - const nextBlock = getNextNonDraggedBlock(blocksData, candidateBlockIndex); - const currentLevel = candidateBlockData.nestingLevel; - const nextLevel = nextBlock ? nextBlock.nestingLevel : 1; - if (currentLevel && nextLevel) { - // Determine the desired relative level of the block to be dropped. - const desiredRelativeLevel = getDesiredRelativeParentLevel(position, candidateRect, candidateBlockParents.length, rtl); - const targetParentIndex = Math.max(Math.min(desiredRelativeLevel, currentLevel - nextLevel), 0); - if (candidateBlockParents[targetParentIndex]) { - // Default to the block index of the candidate block. - let newBlockIndex = candidateBlockData.blockIndex; - - // If the next block is at the same level, use that as the default - // block index. This ensures that the block is dropped in the correct - // position when dragging to the bottom of a block. - if (candidateBlockParents[targetParentIndex].nestingLevel === nextBlock?.nestingLevel) { - newBlockIndex = nextBlock?.blockIndex; - } else { - // Otherwise, search from the current block index back - // to find the last block index within the same target parent. - for (let i = candidateBlockIndex; i >= 0; i--) { - const blockData = blocksData[i]; - if (blockData.rootClientId === candidateBlockParents[targetParentIndex].rootClientId) { - newBlockIndex = blockData.blockIndex + 1; - break; - } - } - } - return { - rootClientId: candidateBlockParents[targetParentIndex].rootClientId, - clientId: candidateBlockData.clientId, - blockIndex: newBlockIndex, - dropPosition: candidateEdge - }; - } - } - } - - // If dropping as a sibling, but block cannot be inserted in - // this context, return early. - if (!candidateBlockData.canInsertDraggedBlocksAsSibling) { - return; - } - const offset = isDraggingBelow ? 1 : 0; - return { - rootClientId: candidateBlockData.rootClientId, - clientId: candidateBlockData.clientId, - blockIndex: candidateBlockData.blockIndex + offset, - dropPosition: candidateEdge - }; -} - -/** - * A react hook for implementing a drop zone in list view. - * - * @param {Object} props Named parameters. - * @param {?HTMLElement} [props.dropZoneElement] Optional element to be used as the drop zone. - * - * @return {WPListViewDropZoneTarget} The drop target. - */ -function useListViewDropZone({ - dropZoneElement -}) { - const { - getBlockRootClientId, - getBlockIndex, - getBlockCount, - getDraggedBlockClientIds, - canInsertBlocks - } = (0,external_wp_data_namespaceObject.useSelect)(store); - const [target, setTarget] = (0,external_wp_element_namespaceObject.useState)(); - const { - rootClientId: targetRootClientId, - blockIndex: targetBlockIndex - } = target || {}; - const onBlockDrop = useOnBlockDrop(targetRootClientId, targetBlockIndex); - const rtl = (0,external_wp_i18n_namespaceObject.isRTL)(); - const draggedBlockClientIds = getDraggedBlockClientIds(); - const throttled = (0,external_wp_compose_namespaceObject.useThrottle)((0,external_wp_element_namespaceObject.useCallback)((event, currentTarget) => { - const position = { - x: event.clientX, - y: event.clientY - }; - const isBlockDrag = !!draggedBlockClientIds?.length; - const blockElements = Array.from(currentTarget.querySelectorAll('[data-block]')); - const blocksData = blockElements.map(blockElement => { - const clientId = blockElement.dataset.block; - const isExpanded = blockElement.dataset.expanded === 'true'; - const isDraggedBlock = blockElement.classList.contains('is-dragging'); - - // Get nesting level from `aria-level` attribute because Firefox does not support `element.ariaLevel`. - const nestingLevel = parseInt(blockElement.getAttribute('aria-level'), 10); - const rootClientId = getBlockRootClientId(clientId); - return { - clientId, - isExpanded, - rootClientId, - blockIndex: getBlockIndex(clientId), - element: blockElement, - nestingLevel: nestingLevel || undefined, - isDraggedBlock: isBlockDrag ? isDraggedBlock : false, - innerBlockCount: getBlockCount(clientId), - canInsertDraggedBlocksAsSibling: isBlockDrag ? canInsertBlocks(draggedBlockClientIds, rootClientId) : true, - canInsertDraggedBlocksAsChild: isBlockDrag ? canInsertBlocks(draggedBlockClientIds, clientId) : true - }; - }); - const newTarget = getListViewDropTarget(blocksData, position, rtl); - if (newTarget) { - setTarget(newTarget); - } - }, [canInsertBlocks, draggedBlockClientIds, getBlockCount, getBlockIndex, getBlockRootClientId, rtl]), 200); - const ref = (0,external_wp_compose_namespaceObject.__experimentalUseDropZone)({ - dropZoneElement, - onDrop(event) { - if (target) { - onBlockDrop(event); - } - }, - onDragLeave() { - throttled.cancel(); - setTarget(null); - }, - onDragOver(event) { - // `currentTarget` is only available while the event is being - // handled, so get it now and pass it to the thottled function. - // https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget - throttled(event, event.currentTarget); - }, - onDragEnd() { - throttled.cancel(); - setTarget(null); - } - }); - return { - ref, - target - }; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-list-view-expand-selected-item.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - -function useListViewExpandSelectedItem({ - firstSelectedBlockClientId, - setExpandedState -}) { - const [selectedTreeId, setSelectedTreeId] = (0,external_wp_element_namespaceObject.useState)(null); - const { - selectedBlockParentClientIds + firstParentClientId, + isVisible } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { - getBlockParents + getBlockName, + getBlockParents, + getSelectedBlockClientId, + getBlockEditingMode } = select(store); + const { + hasBlockSupport + } = select(external_wp_blocks_namespaceObject.store); + const selectedBlockClientId = getSelectedBlockClientId(); + const parents = getBlockParents(selectedBlockClientId); + const _firstParentClientId = parents[parents.length - 1]; + const parentBlockName = getBlockName(_firstParentClientId); + const _parentBlockType = (0,external_wp_blocks_namespaceObject.getBlockType)(parentBlockName); return { - selectedBlockParentClientIds: getBlockParents(firstSelectedBlockClientId, false) + firstParentClientId: _firstParentClientId, + isVisible: _firstParentClientId && getBlockEditingMode(_firstParentClientId) === 'default' && hasBlockSupport(_parentBlockType, '__experimentalParentSelector', true) }; - }, [firstSelectedBlockClientId]); - const parentClientIds = Array.isArray(selectedBlockParentClientIds) && selectedBlockParentClientIds.length ? selectedBlockParentClientIds : null; + }, []); + const blockInformation = useBlockDisplayInformation(firstParentClientId); - // Expand tree when a block is selected. - (0,external_wp_element_namespaceObject.useEffect)(() => { - // If the selectedTreeId is the same as the selected block, - // it means that the block was selected using the block list tree. - if (selectedTreeId === firstSelectedBlockClientId) { - return; + // Allows highlighting the parent block outline when focusing or hovering + // the parent block selector within the child. + const nodeRef = (0,external_wp_element_namespaceObject.useRef)(); + const showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures({ + ref: nodeRef, + highlightParent: true + }); + if (!isVisible) { + return null; + } + return (0,external_React_.createElement)("div", { + className: "block-editor-block-parent-selector", + key: firstParentClientId, + ref: nodeRef, + ...showHoveredOrFocusedGestures + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + className: "block-editor-block-parent-selector__button", + onClick: () => selectBlock(firstParentClientId), + label: (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: Name of the block's parent. */ + (0,external_wp_i18n_namespaceObject.__)('Select parent block: %s'), blockInformation?.title), + showTooltip: true, + icon: (0,external_React_.createElement)(block_icon, { + icon: blockInformation?.icon + }) + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/preview-block-popover.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + +function PreviewBlockPopover({ + blocks +}) { + return (0,external_React_.createElement)("div", { + className: "block-editor-block-switcher__popover__preview__parent" + }, (0,external_React_.createElement)("div", { + className: "block-editor-block-switcher__popover__preview__container" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover, { + className: "block-editor-block-switcher__preview__popover", + placement: "bottom-start", + focusOnMount: false + }, (0,external_React_.createElement)("div", { + className: "block-editor-block-switcher__preview" + }, (0,external_React_.createElement)("div", { + className: "block-editor-block-switcher__preview-title" + }, (0,external_wp_i18n_namespaceObject.__)('Preview')), (0,external_React_.createElement)(block_preview, { + viewportWidth: 500, + blocks: blocks + }))))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/block-variation-transformations.js + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + +const block_variation_transformations_EMPTY_OBJECT = {}; +function useBlockVariationTransforms({ + clientIds, + blocks +}) { + const { + activeBlockVariation, + blockVariationTransformations + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlockRootClientId, + getBlockAttributes, + canRemoveBlocks + } = select(store); + const { + getActiveBlockVariation, + getBlockVariations + } = select(external_wp_blocks_namespaceObject.store); + const rootClientId = getBlockRootClientId(Array.isArray(clientIds) ? clientIds[0] : clientIds); + const canRemove = canRemoveBlocks(clientIds, rootClientId); + // Only handle single selected blocks for now. + if (blocks.length !== 1 || !canRemove) { + return block_variation_transformations_EMPTY_OBJECT; } + const [firstBlock] = blocks; + return { + blockVariationTransformations: getBlockVariations(firstBlock.name, 'transform'), + activeBlockVariation: getActiveBlockVariation(firstBlock.name, getBlockAttributes(firstBlock.clientId)) + }; + }, [clientIds, blocks]); + const transformations = (0,external_wp_element_namespaceObject.useMemo)(() => { + return blockVariationTransformations?.filter(({ + name + }) => name !== activeBlockVariation?.name); + }, [blockVariationTransformations, activeBlockVariation]); + return transformations; +} +const BlockVariationTransformations = ({ + transformations, + onSelect, + blocks +}) => { + const [hoveredTransformItemName, setHoveredTransformItemName] = (0,external_wp_element_namespaceObject.useState)(); + return (0,external_React_.createElement)(external_React_.Fragment, null, hoveredTransformItemName && (0,external_React_.createElement)(PreviewBlockPopover, { + blocks: (0,external_wp_blocks_namespaceObject.cloneBlock)(blocks[0], transformations.find(({ + name + }) => name === hoveredTransformItemName).attributes) + }), transformations?.map(item => (0,external_React_.createElement)(BlockVariationTranformationItem, { + key: item.name, + item: item, + onSelect: onSelect, + setHoveredTransformItemName: setHoveredTransformItemName + }))); +}; +function BlockVariationTranformationItem({ + item, + onSelect, + setHoveredTransformItemName +}) { + const { + name, + icon, + title + } = item; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + className: (0,external_wp_blocks_namespaceObject.getBlockMenuDefaultClassName)(name), + onClick: event => { + event.preventDefault(); + onSelect(name); + }, + onMouseLeave: () => setHoveredTransformItemName(null), + onMouseEnter: () => setHoveredTransformItemName(name) + }, (0,external_React_.createElement)(block_icon, { + icon: icon, + showColors: true + }), title); +} +/* harmony default export */ var block_variation_transformations = (BlockVariationTransformations); - // If the selected block has parents, get the top-level parent. - if (parentClientIds) { - // If the selected block has parents, - // expand the tree branch. - setExpandedState({ - type: 'expand', - clientIds: selectedBlockParentClientIds +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/block-transformations-menu.js + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + +/** + * Helper hook to group transformations to display them in a specific order in the UI. + * For now we group only priority content driven transformations(ex. paragraph -> heading). + * + * Later on we could also group 'layout' transformations(ex. paragraph -> group) and + * display them in different sections. + * + * @param {Object[]} possibleBlockTransformations The available block transformations. + * @return {Record} The grouped block transformations. + */ +function useGroupedTransforms(possibleBlockTransformations) { + const priorityContentTranformationBlocks = { + 'core/paragraph': 1, + 'core/heading': 2, + 'core/list': 3, + 'core/quote': 4 + }; + const transformations = (0,external_wp_element_namespaceObject.useMemo)(() => { + const priorityTextTranformsNames = Object.keys(priorityContentTranformationBlocks); + const groupedPossibleTransforms = possibleBlockTransformations.reduce((accumulator, item) => { + const { + name + } = item; + if (priorityTextTranformsNames.includes(name)) { + accumulator.priorityTextTransformations.push(item); + } else { + accumulator.restTransformations.push(item); + } + return accumulator; + }, { + priorityTextTransformations: [], + restTransformations: [] + }); + /** + * If there is only one priority text transformation and it's a Quote, + * is should move to the rest transformations. This is because Quote can + * be a container for any block type, so in multi-block selection it will + * always be suggested, even for non-text blocks. + */ + if (groupedPossibleTransforms.priorityTextTransformations.length === 1 && groupedPossibleTransforms.priorityTextTransformations[0].name === 'core/quote') { + const singleQuote = groupedPossibleTransforms.priorityTextTransformations.pop(); + groupedPossibleTransforms.restTransformations.push(singleQuote); + } + return groupedPossibleTransforms; + }, [possibleBlockTransformations]); + + // Order the priority text transformations. + transformations.priorityTextTransformations.sort(({ + name: currentName + }, { + name: nextName + }) => { + return priorityContentTranformationBlocks[currentName] < priorityContentTranformationBlocks[nextName] ? -1 : 1; + }); + return transformations; +} +const BlockTransformationsMenu = ({ + className, + possibleBlockTransformations, + possibleBlockVariationTransformations, + onSelect, + onSelectVariation, + blocks +}) => { + const [hoveredTransformItemName, setHoveredTransformItemName] = (0,external_wp_element_namespaceObject.useState)(); + const { + priorityTextTransformations, + restTransformations + } = useGroupedTransforms(possibleBlockTransformations); + // We have to check if both content transformations(priority and rest) are set + // in order to create a separate MenuGroup for them. + const hasBothContentTransformations = priorityTextTransformations.length && restTransformations.length; + const restTransformItems = !!restTransformations.length && (0,external_React_.createElement)(RestTransformationItems, { + restTransformations: restTransformations, + onSelect: onSelect, + setHoveredTransformItemName: setHoveredTransformItemName + }); + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, { + label: (0,external_wp_i18n_namespaceObject.__)('Transform to'), + className: className + }, hoveredTransformItemName && (0,external_React_.createElement)(PreviewBlockPopover, { + blocks: (0,external_wp_blocks_namespaceObject.switchToBlockType)(blocks, hoveredTransformItemName) + }), !!possibleBlockVariationTransformations?.length && (0,external_React_.createElement)(block_variation_transformations, { + transformations: possibleBlockVariationTransformations, + blocks: blocks, + onSelect: onSelectVariation + }), priorityTextTransformations.map(item => (0,external_React_.createElement)(BlockTranformationItem, { + key: item.name, + item: item, + onSelect: onSelect, + setHoveredTransformItemName: setHoveredTransformItemName + })), !hasBothContentTransformations && restTransformItems), !!hasBothContentTransformations && (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, { + className: className + }, restTransformItems)); +}; +function RestTransformationItems({ + restTransformations, + onSelect, + setHoveredTransformItemName +}) { + return restTransformations.map(item => (0,external_React_.createElement)(BlockTranformationItem, { + key: item.name, + item: item, + onSelect: onSelect, + setHoveredTransformItemName: setHoveredTransformItemName + })); +} +function BlockTranformationItem({ + item, + onSelect, + setHoveredTransformItemName +}) { + const { + name, + icon, + title, + isDisabled + } = item; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + className: (0,external_wp_blocks_namespaceObject.getBlockMenuDefaultClassName)(name), + onClick: event => { + event.preventDefault(); + onSelect(name); + }, + disabled: isDisabled, + onMouseLeave: () => setHoveredTransformItemName(null), + onMouseEnter: () => setHoveredTransformItemName(name) + }, (0,external_React_.createElement)(block_icon, { + icon: icon, + showColors: true + }), title); +} +/* harmony default export */ var block_transformations_menu = (BlockTransformationsMenu); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/utils.js +/** + * WordPress dependencies + */ + + + +/** + * Returns the active style from the given className. + * + * @param {Array} styles Block styles. + * @param {string} className Class name + * + * @return {Object?} The active style. + */ +function getActiveStyle(styles, className) { + for (const style of new (external_wp_tokenList_default())(className).values()) { + if (style.indexOf('is-style-') === -1) { + continue; + } + const potentialStyleName = style.substring(9); + const activeStyle = styles?.find(({ + name + }) => name === potentialStyleName); + if (activeStyle) { + return activeStyle; + } + } + return getDefaultStyle(styles); +} + +/** + * Replaces the active style in the block's className. + * + * @param {string} className Class name. + * @param {Object?} activeStyle The replaced style. + * @param {Object} newStyle The replacing style. + * + * @return {string} The updated className. + */ +function replaceActiveStyle(className, activeStyle, newStyle) { + const list = new (external_wp_tokenList_default())(className); + if (activeStyle) { + list.remove('is-style-' + activeStyle.name); + } + list.add('is-style-' + newStyle.name); + return list.value; +} + +/** + * Returns a collection of styles that can be represented on the frontend. + * The function checks a style collection for a default style. If none is found, it adds one to + * act as a fallback for when there is no active style applied to a block. The default item also serves + * as a switch on the frontend to deactivate non-default styles. + * + * @param {Array} styles Block styles. + * + * @return {Array} The style collection. + */ +function getRenderedStyles(styles) { + if (!styles || styles.length === 0) { + return []; + } + return getDefaultStyle(styles) ? styles : [{ + name: 'default', + label: (0,external_wp_i18n_namespaceObject._x)('Default', 'block style'), + isDefault: true + }, ...styles]; +} + +/** + * Returns a style object from a collection of styles where that style object is the default block style. + * + * @param {Array} styles Block styles. + * + * @return {Object?} The default style object, if found. + */ +function getDefaultStyle(styles) { + return styles?.find(style => style.isDefault); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/use-styles-for-block.js +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + +/** + * + * @param {WPBlock} block Block object. + * @param {WPBlockType} type Block type settings. + * @return {WPBlock} A generic block ready for styles preview. + */ +function useGenericPreviewBlock(block, type) { + return (0,external_wp_element_namespaceObject.useMemo)(() => { + const example = type?.example; + const blockName = type?.name; + if (example && blockName) { + return (0,external_wp_blocks_namespaceObject.getBlockFromExample)(blockName, { + attributes: example.attributes, + innerBlocks: example.innerBlocks }); } - }, [firstSelectedBlockClientId]); + if (block) { + return (0,external_wp_blocks_namespaceObject.cloneBlock)(block); + } + }, [type?.example ? block?.name : block, type]); +} + +/** + * @typedef useStylesForBlocksArguments + * @property {string} clientId Block client ID. + * @property {() => void} onSwitch Block style switch callback function. + */ + +/** + * + * @param {useStylesForBlocksArguments} useStylesForBlocks arguments. + * @return {Object} Results of the select methods. + */ +function useStylesForBlocks({ + clientId, + onSwitch +}) { + const selector = select => { + const { + getBlock + } = select(store); + const block = getBlock(clientId); + if (!block) { + return {}; + } + const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(block.name); + const { + getBlockStyles + } = select(external_wp_blocks_namespaceObject.store); + return { + block, + blockType, + styles: getBlockStyles(block.name), + className: block.attributes.className || '' + }; + }; + const { + styles, + block, + blockType, + className + } = (0,external_wp_data_namespaceObject.useSelect)(selector, [clientId]); + const { + updateBlockAttributes + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const stylesToRender = getRenderedStyles(styles); + const activeStyle = getActiveStyle(stylesToRender, className); + const genericPreviewBlock = useGenericPreviewBlock(block, blockType); + const onSelect = style => { + const styleClassName = replaceActiveStyle(className, activeStyle, style); + updateBlockAttributes(clientId, { + className: styleClassName + }); + onSwitch(); + }; return { - setSelectedTreeId + onSelect, + stylesToRender, + activeStyle, + genericPreviewBlock, + className }; } +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/menu-items.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + +const menu_items_noop = () => {}; +function BlockStylesMenuItems({ + clientId, + onSwitch = menu_items_noop +}) { + const { + onSelect, + stylesToRender, + activeStyle + } = useStylesForBlocks({ + clientId, + onSwitch + }); + if (!stylesToRender || stylesToRender.length === 0) { + return null; + } + return (0,external_React_.createElement)(external_React_.Fragment, null, stylesToRender.map(style => { + const menuItemText = style.label || style.name; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + key: style.name, + icon: activeStyle.name === style.name ? library_check : null, + onClick: () => onSelect(style) + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalText, { + as: "span", + limit: 18, + ellipsizeMode: "tail", + truncate: true + }, menuItemText)); + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/block-styles-menu.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + +function BlockStylesMenu({ + hoveredBlock, + onSwitch +}) { + const { + clientId + } = hoveredBlock; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, { + label: (0,external_wp_i18n_namespaceObject.__)('Styles'), + className: "block-editor-block-switcher__styles__menugroup" + }, (0,external_React_.createElement)(BlockStylesMenuItems, { + clientId: clientId, + onSwitch: onSwitch + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/utils.js +/** + * WordPress dependencies + */ + + +/** + * Try to find a matching block by a block's name in a provided + * block. We recurse through InnerBlocks and return the reference + * of the matched block (it could be an InnerBlock). + * If no match is found return nothing. + * + * @param {WPBlock} block The block to try to find a match. + * @param {string} selectedBlockName The block's name to use for matching condition. + * @param {Set} consumedBlocks A set holding the previously matched/consumed blocks. + * + * @return {WPBlock | undefined} The matched block if found or nothing(`undefined`). + */ +const getMatchingBlockByName = (block, selectedBlockName, consumedBlocks = new Set()) => { + const { + clientId, + name, + innerBlocks = [] + } = block; + // Check if block has been consumed already. + if (consumedBlocks.has(clientId)) return; + if (name === selectedBlockName) return block; + // Try to find a matching block from InnerBlocks recursively. + for (const innerBlock of innerBlocks) { + const match = getMatchingBlockByName(innerBlock, selectedBlockName, consumedBlocks); + if (match) return match; + } +}; + +/** + * Find and return the block attributes to retain through + * the transformation, based on Block Type's `role:content` + * attributes. If no `role:content` attributes exist, + * return selected block's attributes. + * + * @param {string} name Block type's namespaced name. + * @param {Object} attributes Selected block's attributes. + * @return {Object} The block's attributes to retain. + */ +const getRetainedBlockAttributes = (name, attributes) => { + const contentAttributes = (0,external_wp_blocks_namespaceObject.__experimentalGetBlockAttributesNamesByRole)(name, 'content'); + if (!contentAttributes?.length) return attributes; + return contentAttributes.reduce((_accumulator, attribute) => { + if (attributes[attribute]) _accumulator[attribute] = attributes[attribute]; + return _accumulator; + }, {}); +}; + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/use-transformed-patterns.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +/** + * Mutate the matched block's attributes by getting + * which block type's attributes to retain and prioritize + * them in the merging of the attributes. + * + * @param {WPBlock} match The matched block. + * @param {WPBlock} selectedBlock The selected block. + * @return {void} + */ +const transformMatchingBlock = (match, selectedBlock) => { + // Get the block attributes to retain through the transformation. + const retainedBlockAttributes = getRetainedBlockAttributes(selectedBlock.name, selectedBlock.attributes); + match.attributes = { + ...match.attributes, + ...retainedBlockAttributes + }; +}; + +/** + * By providing the selected blocks and pattern's blocks + * find the matching blocks, transform them and return them. + * If not all selected blocks are matched, return nothing. + * + * @param {WPBlock[]} selectedBlocks The selected blocks. + * @param {WPBlock[]} patternBlocks The pattern's blocks. + * @return {WPBlock[]|void} The transformed pattern's blocks or undefined if not all selected blocks have been matched. + */ +const getPatternTransformedBlocks = (selectedBlocks, patternBlocks) => { + // Clone Pattern's blocks to produce new clientIds and be able to mutate the matches. + const _patternBlocks = patternBlocks.map(block => (0,external_wp_blocks_namespaceObject.cloneBlock)(block)); + /** + * Keep track of the consumed pattern blocks. + * This is needed because we loop the selected blocks + * and for example we may have selected two paragraphs and + * the pattern's blocks could have more `paragraphs`. + */ + const consumedBlocks = new Set(); + for (const selectedBlock of selectedBlocks) { + let isMatch = false; + for (const patternBlock of _patternBlocks) { + const match = getMatchingBlockByName(patternBlock, selectedBlock.name, consumedBlocks); + if (!match) continue; + isMatch = true; + consumedBlocks.add(match.clientId); + // We update (mutate) the matching pattern block. + transformMatchingBlock(match, selectedBlock); + // No need to loop through other pattern's blocks. + break; + } + // Bail eary if a selected block has not been matched. + if (!isMatch) return; + } + return _patternBlocks; +}; + +/** + * @typedef {WPBlockPattern & {transformedBlocks: WPBlock[]}} TransformedBlockPattern + */ + +/** + * Custom hook that accepts patterns from state and the selected + * blocks and tries to match these with the pattern's blocks. + * If all selected blocks are matched with a Pattern's block, + * we transform them by retaining block's attributes with `role:content`. + * The transformed pattern's blocks are set to a new pattern + * property `transformedBlocks`. + * + * @param {WPBlockPattern[]} patterns Patterns from state. + * @param {WPBlock[]} selectedBlocks The currently selected blocks. + * @return {TransformedBlockPattern[]} Returns the eligible matched patterns with all the selected blocks. + */ +const useTransformedPatterns = (patterns, selectedBlocks) => { + return (0,external_wp_element_namespaceObject.useMemo)(() => patterns.reduce((accumulator, _pattern) => { + const transformedBlocks = getPatternTransformedBlocks(selectedBlocks, _pattern.blocks); + if (transformedBlocks) { + accumulator.push({ + ..._pattern, + transformedBlocks + }); + } + return accumulator; + }, []), [patterns, selectedBlocks]); +}; +/* harmony default export */ var use_transformed_patterns = (useTransformedPatterns); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/pattern-transformations-menu.js + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + +const { + CompositeV2: pattern_transformations_menu_Composite, + CompositeItemV2: pattern_transformations_menu_CompositeItem, + useCompositeStoreV2: pattern_transformations_menu_useCompositeStore +} = unlock(external_wp_components_namespaceObject.privateApis); +function PatternTransformationsMenu({ + blocks, + patterns: statePatterns, + onSelect +}) { + const [showTransforms, setShowTransforms] = (0,external_wp_element_namespaceObject.useState)(false); + const patterns = use_transformed_patterns(statePatterns, blocks); + if (!patterns.length) return null; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, { + className: "block-editor-block-switcher__pattern__transforms__menugroup" + }, showTransforms && (0,external_React_.createElement)(PreviewPatternsPopover, { + patterns: patterns, + onSelect: onSelect + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + onClick: event => { + event.preventDefault(); + setShowTransforms(!showTransforms); + }, + icon: chevron_right + }, (0,external_wp_i18n_namespaceObject.__)('Patterns'))); +} +function PreviewPatternsPopover({ + patterns, + onSelect +}) { + return (0,external_React_.createElement)("div", { + className: "block-editor-block-switcher__popover__preview__parent" + }, (0,external_React_.createElement)("div", { + className: "block-editor-block-switcher__popover__preview__container" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover, { + className: "block-editor-block-switcher__preview__popover", + position: "bottom right" + }, (0,external_React_.createElement)("div", { + className: "block-editor-block-switcher__preview is-pattern-list-preview" + }, (0,external_React_.createElement)(pattern_transformations_menu_BlockPatternsList, { + patterns: patterns, + onSelect: onSelect + }))))); +} +function pattern_transformations_menu_BlockPatternsList({ + patterns, + onSelect +}) { + const composite = pattern_transformations_menu_useCompositeStore(); + return (0,external_React_.createElement)(pattern_transformations_menu_Composite, { + store: composite, + role: "listbox", + className: "block-editor-block-switcher__preview-patterns-container", + "aria-label": (0,external_wp_i18n_namespaceObject.__)('Patterns list') + }, patterns.map(pattern => (0,external_React_.createElement)(pattern_transformations_menu_BlockPattern, { + key: pattern.name, + pattern: pattern, + onSelect: onSelect + }))); +} +function pattern_transformations_menu_BlockPattern({ + pattern, + onSelect +}) { + // TODO check pattern/preview width... + const baseClassName = 'block-editor-block-switcher__preview-patterns-container'; + const descriptionId = (0,external_wp_compose_namespaceObject.useInstanceId)(pattern_transformations_menu_BlockPattern, `${baseClassName}-list__item-description`); + return (0,external_React_.createElement)("div", { + className: `${baseClassName}-list__list-item` + }, (0,external_React_.createElement)(pattern_transformations_menu_CompositeItem, { + render: (0,external_React_.createElement)("div", { + role: "option", + "aria-label": pattern.title, + "aria-describedby": pattern.description ? descriptionId : undefined, + className: `${baseClassName}-list__item` + }), + onClick: () => onSelect(pattern.transformedBlocks) + }, (0,external_React_.createElement)(block_preview, { + blocks: pattern.transformedBlocks, + viewportWidth: pattern.viewportWidth || 500 + }), (0,external_React_.createElement)("div", { + className: `${baseClassName}-list__item-title` + }, pattern.title)), !!pattern.description && (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + id: descriptionId + }, pattern.description)); +} +/* harmony default export */ var pattern_transformations_menu = (PatternTransformationsMenu); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/index.js + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + + + + + +function BlockSwitcherDropdownMenuContents({ + onClose, + clientIds, + hasBlockStyles, + canRemove +}) { + const { + replaceBlocks, + multiSelect, + updateBlockAttributes + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const { + possibleBlockTransformations, + patterns, + blocks + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlocksByClientId, + getBlockRootClientId, + getBlockTransformItems, + __experimentalGetPatternTransformItems + } = select(store); + const rootClientId = getBlockRootClientId(Array.isArray(clientIds) ? clientIds[0] : clientIds); + const _blocks = getBlocksByClientId(clientIds); + return { + blocks: _blocks, + possibleBlockTransformations: getBlockTransformItems(_blocks, rootClientId), + patterns: __experimentalGetPatternTransformItems(_blocks, rootClientId) + }; + }, [clientIds]); + const blockVariationTransformations = useBlockVariationTransforms({ + clientIds, + blocks + }); + function selectForMultipleBlocks(insertedBlocks) { + if (insertedBlocks.length > 1) { + multiSelect(insertedBlocks[0].clientId, insertedBlocks[insertedBlocks.length - 1].clientId); + } + } + // Simple block tranformation based on the `Block Transforms` API. + function onBlockTransform(name) { + const newBlocks = (0,external_wp_blocks_namespaceObject.switchToBlockType)(blocks, name); + replaceBlocks(clientIds, newBlocks); + selectForMultipleBlocks(newBlocks); + } + function onBlockVariationTransform(name) { + updateBlockAttributes(blocks[0].clientId, { + ...blockVariationTransformations.find(({ + name: variationName + }) => variationName === name).attributes + }); + } + // Pattern transformation through the `Patterns` API. + function onPatternTransform(transformedBlocks) { + replaceBlocks(clientIds, transformedBlocks); + selectForMultipleBlocks(transformedBlocks); + } + /** + * The `isTemplate` check is a stopgap solution here. + * Ideally, the Transforms API should handle this + * by allowing to exclude blocks from wildcard transformations. + */ + const isSingleBlock = blocks.length === 1; + const isTemplate = isSingleBlock && (0,external_wp_blocks_namespaceObject.isTemplatePart)(blocks[0]); + const hasPossibleBlockTransformations = !!possibleBlockTransformations.length && canRemove && !isTemplate; + const hasPossibleBlockVariationTransformations = !!blockVariationTransformations?.length; + const hasPatternTransformation = !!patterns?.length && canRemove; + const hasBlockOrBlockVariationTransforms = hasPossibleBlockTransformations || hasPossibleBlockVariationTransformations; + const hasContents = hasBlockStyles || hasBlockOrBlockVariationTransforms || hasPatternTransformation; + if (!hasContents) { + return (0,external_React_.createElement)("p", { + className: "block-editor-block-switcher__no-transforms" + }, (0,external_wp_i18n_namespaceObject.__)('No transforms.')); + } + return (0,external_React_.createElement)("div", { + className: "block-editor-block-switcher__container" + }, hasPatternTransformation && (0,external_React_.createElement)(pattern_transformations_menu, { + blocks: blocks, + patterns: patterns, + onSelect: transformedBlocks => { + onPatternTransform(transformedBlocks); + onClose(); + } + }), hasBlockOrBlockVariationTransforms && (0,external_React_.createElement)(block_transformations_menu, { + className: "block-editor-block-switcher__transforms__menugroup", + possibleBlockTransformations: possibleBlockTransformations, + possibleBlockVariationTransformations: blockVariationTransformations, + blocks: blocks, + onSelect: name => { + onBlockTransform(name); + onClose(); + }, + onSelectVariation: name => { + onBlockVariationTransform(name); + onClose(); + } + }), hasBlockStyles && (0,external_React_.createElement)(BlockStylesMenu, { + hoveredBlock: blocks[0], + onSwitch: onClose + })); +} +const BlockSwitcher = ({ + clientIds +}) => { + const blockInformation = useBlockDisplayInformation(clientIds?.[0]); + const { + canRemove, + hasBlockStyles, + icon, + invalidBlocks, + isReusable, + isTemplate + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlockRootClientId, + getBlocksByClientId, + canRemoveBlocks + } = select(store); + const { + getBlockStyles, + getBlockType + } = select(external_wp_blocks_namespaceObject.store); + const _blocks = getBlocksByClientId(clientIds); + if (!_blocks.length || _blocks.some(block => !block)) { + return { + invalidBlocks: true + }; + } + const rootClientId = getBlockRootClientId(clientIds); + const [{ + name: firstBlockName + }] = _blocks; + const _isSingleBlockSelected = _blocks.length === 1; + let _icon; + if (_isSingleBlockSelected) { + _icon = blockInformation?.icon; // Take into account active block variations. + } else { + const isSelectionOfSameType = new Set(_blocks.map(({ + name + }) => name)).size === 1; + // When selection consists of blocks of multiple types, display an + // appropriate icon to communicate the non-uniformity. + _icon = isSelectionOfSameType ? getBlockType(firstBlockName)?.icon : library_copy; + } + return { + canRemove: canRemoveBlocks(clientIds, rootClientId), + hasBlockStyles: _isSingleBlockSelected && !!getBlockStyles(firstBlockName)?.length, + icon: _icon, + isReusable: _isSingleBlockSelected && (0,external_wp_blocks_namespaceObject.isReusableBlock)(_blocks[0]), + isTemplate: _isSingleBlockSelected && (0,external_wp_blocks_namespaceObject.isTemplatePart)(_blocks[0]) + }; + }, [clientIds, blockInformation?.icon]); + const blockTitle = useBlockDisplayTitle({ + clientId: clientIds?.[0], + maximumLength: 35 + }); + if (invalidBlocks) { + return null; + } + const hideDropdown = !hasBlockStyles && !canRemove; + if (hideDropdown) { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + disabled: true, + className: "block-editor-block-switcher__no-switcher-icon", + title: blockTitle, + icon: (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(block_icon, { + icon: icon, + showColors: true + }), (isReusable || isTemplate) && (0,external_React_.createElement)("span", { + className: "block-editor-block-switcher__toggle-text" + }, blockTitle)) + })); + } + const isSingleBlock = clientIds.length === 1; + const blockSwitcherLabel = isSingleBlock ? blockTitle : (0,external_wp_i18n_namespaceObject.__)('Multiple blocks selected'); + const blockSwitcherDescription = isSingleBlock ? (0,external_wp_i18n_namespaceObject.__)('Change block type or style') : (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %d: number of blocks. */ + (0,external_wp_i18n_namespaceObject._n)('Change type of %d block', 'Change type of %d blocks', clientIds.length), clientIds.length); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarItem, null, toggleProps => (0,external_React_.createElement)(external_wp_components_namespaceObject.DropdownMenu, { + className: "block-editor-block-switcher", + label: blockSwitcherLabel, + popoverProps: { + placement: 'bottom-start', + className: 'block-editor-block-switcher__popover' + }, + icon: (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(block_icon, { + icon: icon, + className: "block-editor-block-switcher__toggle", + showColors: true + }), (isReusable || isTemplate) && (0,external_React_.createElement)("span", { + className: "block-editor-block-switcher__toggle-text" + }, blockTitle)), + toggleProps: { + describedBy: blockSwitcherDescription, + ...toggleProps + }, + menuProps: { + orientation: 'both' + } + }, ({ + onClose + }) => (0,external_React_.createElement)(BlockSwitcherDropdownMenuContents, { + onClose: onClose, + clientIds: clientIds, + hasBlockStyles: hasBlockStyles, + canRemove: canRemove + })))); +}; +/* harmony default export */ var block_switcher = (BlockSwitcher); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/block-toolbar-last-item.js +/** + * WordPress dependencies + */ + +const { + Fill: __unstableBlockToolbarLastItem, + Slot: block_toolbar_last_item_Slot +} = (0,external_wp_components_namespaceObject.createSlotFill)('__unstableBlockToolbarLastItem'); +__unstableBlockToolbarLastItem.Slot = block_toolbar_last_item_Slot; +/* harmony default export */ var block_toolbar_last_item = (__unstableBlockToolbarLastItem); + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/supports.js /** * WordPress dependencies @@ -48889,8 +53315,9 @@ const supports_TEXT_TRANSFORM_SUPPORT_KEY = 'typography.__experimentalTextTransf const supports_LETTER_SPACING_SUPPORT_KEY = 'typography.__experimentalLetterSpacing'; const LAYOUT_SUPPORT_KEY = 'layout'; const supports_TYPOGRAPHY_SUPPORT_KEYS = [supports_LINE_HEIGHT_SUPPORT_KEY, supports_FONT_SIZE_SUPPORT_KEY, supports_FONT_STYLE_SUPPORT_KEY, supports_FONT_WEIGHT_SUPPORT_KEY, supports_FONT_FAMILY_SUPPORT_KEY, supports_TEXT_COLUMNS_SUPPORT_KEY, supports_TEXT_DECORATION_SUPPORT_KEY, supports_TEXT_TRANSFORM_SUPPORT_KEY, supports_WRITING_MODE_SUPPORT_KEY, supports_LETTER_SPACING_SUPPORT_KEY]; +const supports_EFFECTS_SUPPORT_KEYS = ['shadow']; const supports_SPACING_SUPPORT_KEY = 'spacing'; -const supports_styleSupportKeys = [...supports_TYPOGRAPHY_SUPPORT_KEYS, supports_BORDER_SUPPORT_KEY, supports_COLOR_SUPPORT_KEY, supports_SPACING_SUPPORT_KEY]; +const supports_styleSupportKeys = [...supports_EFFECTS_SUPPORT_KEYS, ...supports_TYPOGRAPHY_SUPPORT_KEYS, supports_BORDER_SUPPORT_KEY, supports_COLOR_SUPPORT_KEY, supports_SPACING_SUPPORT_KEY]; /** * Returns true if the block defines support for align. @@ -49376,28 +53803,8 @@ function BlockActions({ }); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-convert-button.js - -/** - * WordPress dependencies - */ - - -function BlockConvertButton({ - shouldRender, - onClick, - small -}) { - if (!shouldRender) { - return null; - } - const label = (0,external_wp_i18n_namespaceObject.__)('Convert to Blocks'); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - onClick: onClick - }, !small && label); -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-html-convert-button.js + /** * WordPress dependencies */ @@ -49405,26 +53812,28 @@ function BlockConvertButton({ + /** * Internal dependencies */ - -/* harmony default export */ var block_html_convert_button = ((0,external_wp_compose_namespaceObject.compose)((0,external_wp_data_namespaceObject.withSelect)((select, { +function BlockHTMLConvertButton({ clientId -}) => { - const block = select(store).getBlock(clientId); - return { - block, - shouldRender: block && block.name === 'core/html' - }; -}), (0,external_wp_data_namespaceObject.withDispatch)((dispatch, { - block -}) => ({ - onClick: () => dispatch(store).replaceBlocks(block.clientId, (0,external_wp_blocks_namespaceObject.rawHandler)({ - HTML: (0,external_wp_blocks_namespaceObject.getBlockContent)(block) - })) -})))(BlockConvertButton)); +}) { + const block = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getBlock(clientId), [clientId]); + const { + replaceBlocks + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + if (!block || block.name !== 'core/html') { + return null; + } + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + onClick: () => replaceBlocks(clientId, (0,external_wp_blocks_namespaceObject.rawHandler)({ + HTML: (0,external_wp_blocks_namespaceObject.getBlockContent)(block) + })) + }, (0,external_wp_i18n_namespaceObject.__)('Convert to Blocks')); +} +/* harmony default export */ var block_html_convert_button = (BlockHTMLConvertButton); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-settings-menu-first-item.js /** @@ -49438,166 +53847,6 @@ const { __unstableBlockSettingsMenuFirstItem.Slot = block_settings_menu_first_item_Slot; /* harmony default export */ var block_settings_menu_first_item = (__unstableBlockSettingsMenuFirstItem); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/utils.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - -const { - clearTimeout: utils_clearTimeout, - setTimeout: utils_setTimeout -} = window; -const DEBOUNCE_TIMEOUT = 200; - -/** - * Hook that creates debounced callbacks when the node is hovered or focused. - * - * @param {Object} props Component props. - * @param {Object} props.ref Element reference. - * @param {boolean} props.isFocused Whether the component has current focus. - * @param {number} props.highlightParent Whether to highlight the parent block. It defaults in highlighting the selected block. - * @param {number} [props.debounceTimeout=250] Debounce timeout in milliseconds. - */ -function useDebouncedShowGestures({ - ref, - isFocused, - highlightParent, - debounceTimeout = DEBOUNCE_TIMEOUT -}) { - const { - getSelectedBlockClientId, - getBlockRootClientId - } = (0,external_wp_data_namespaceObject.useSelect)(store); - const { - toggleBlockHighlight - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const timeoutRef = (0,external_wp_element_namespaceObject.useRef)(); - const isDistractionFree = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getSettings().isDistractionFree, []); - const handleOnChange = nextIsFocused => { - if (nextIsFocused && isDistractionFree) { - return; - } - const selectedBlockClientId = getSelectedBlockClientId(); - const clientId = highlightParent ? getBlockRootClientId(selectedBlockClientId) : selectedBlockClientId; - toggleBlockHighlight(clientId, nextIsFocused); - }; - const getIsHovered = () => { - return ref?.current && ref.current.matches(':hover'); - }; - const shouldHideGestures = () => { - const isHovered = getIsHovered(); - return !isFocused && !isHovered; - }; - const clearTimeoutRef = () => { - const timeout = timeoutRef.current; - if (timeout && utils_clearTimeout) { - utils_clearTimeout(timeout); - } - }; - const debouncedShowGestures = event => { - if (event) { - event.stopPropagation(); - } - clearTimeoutRef(); - handleOnChange(true); - }; - const debouncedHideGestures = event => { - if (event) { - event.stopPropagation(); - } - clearTimeoutRef(); - timeoutRef.current = utils_setTimeout(() => { - if (shouldHideGestures()) { - handleOnChange(false); - } - }, debounceTimeout); - }; - (0,external_wp_element_namespaceObject.useEffect)(() => () => { - /** - * We need to call the change handler with `isFocused` - * set to false on unmount because we also clear the - * timeout that would handle that. - */ - handleOnChange(false); - clearTimeoutRef(); - }, []); - return { - debouncedShowGestures, - debouncedHideGestures - }; -} - -/** - * Hook that provides gesture events for DOM elements - * that interact with the isFocused state. - * - * @param {Object} props Component props. - * @param {Object} props.ref Element reference. - * @param {number} [props.highlightParent=false] Whether to highlight the parent block. It defaults to highlighting the selected block. - * @param {number} [props.debounceTimeout=250] Debounce timeout in milliseconds. - */ -function useShowHoveredOrFocusedGestures({ - ref, - highlightParent = false, - debounceTimeout = DEBOUNCE_TIMEOUT -}) { - const [isFocused, setIsFocused] = (0,external_wp_element_namespaceObject.useState)(false); - const { - debouncedShowGestures, - debouncedHideGestures - } = useDebouncedShowGestures({ - ref, - debounceTimeout, - isFocused, - highlightParent - }); - const registerRef = (0,external_wp_element_namespaceObject.useRef)(false); - const isFocusedWithin = () => { - return ref?.current && ref.current.contains(ref.current.ownerDocument.activeElement); - }; - (0,external_wp_element_namespaceObject.useEffect)(() => { - const node = ref.current; - const handleOnFocus = () => { - if (isFocusedWithin()) { - setIsFocused(true); - debouncedShowGestures(); - } - }; - const handleOnBlur = () => { - if (!isFocusedWithin()) { - setIsFocused(false); - debouncedHideGestures(); - } - }; - - /** - * Events are added via DOM events (vs. React synthetic events), - * as the child React components swallow mouse events. - */ - if (node && !registerRef.current) { - node.addEventListener('focus', handleOnFocus, true); - node.addEventListener('blur', handleOnBlur, true); - registerRef.current = true; - } - return () => { - if (node) { - node.removeEventListener('focus', handleOnFocus); - node.removeEventListener('blur', handleOnBlur); - } - }; - }, [ref, registerRef, setIsFocused, debouncedShowGestures, debouncedHideGestures]); - return { - onMouseMove: debouncedShowGestures, - onMouseLeave: debouncedHideGestures - }; -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-settings-dropdown.js /** @@ -49633,12 +53882,40 @@ function CopyMenuItem({ label }) { const ref = (0,external_wp_compose_namespaceObject.useCopyToClipboard)(() => (0,external_wp_blocks_namespaceObject.serialize)(blocks), onCopy); - const copyMenuItemBlocksLabel = blocks.length > 1 ? (0,external_wp_i18n_namespaceObject.__)('Copy blocks') : (0,external_wp_i18n_namespaceObject.__)('Copy'); - const copyMenuItemLabel = label ? label : copyMenuItemBlocksLabel; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { + const copyMenuItemLabel = label ? label : (0,external_wp_i18n_namespaceObject.__)('Copy'); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { ref: ref }, copyMenuItemLabel); } +function ParentSelectorMenuItem({ + parentClientId, + parentBlockType +}) { + const isSmallViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium', '<'); + const { + selectBlock + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + + // Allows highlighting the parent block outline when focusing or hovering + // the parent block selector within the child. + const menuItemRef = (0,external_wp_element_namespaceObject.useRef)(); + const gesturesProps = useShowHoveredOrFocusedGestures({ + ref: menuItemRef, + highlightParent: true + }); + if (!isSmallViewport) { + return null; + } + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { + ...gesturesProps, + ref: menuItemRef, + icon: (0,external_React_.createElement)(block_icon, { + icon: parentBlockType.icon + }), + onClick: () => selectBlock(parentClientId) + }, (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: Name of the block's parent. */ + (0,external_wp_i18n_namespaceObject.__)('Select parent block (%s)'), parentBlockType.title)); +} function BlockSettingsDropdown({ block, clientIds, @@ -49700,9 +53977,6 @@ function BlockSettingsDropdown({ }; }, []); const isMatch = (0,external_wp_keyboardShortcuts_namespaceObject.__unstableUseShortcutEventMatch)(); - const { - selectBlock - } = (0,external_wp_data_namespaceObject.useDispatch)(store); const hasSelectedBlocks = selectedBlockClientIds.length > 0; const updateSelectionAfterDuplicate = (0,external_wp_element_namespaceObject.useCallback)(async clientIdsPromise => { if (__experimentalSelectBlock) { @@ -49726,15 +54000,6 @@ function BlockSettingsDropdown({ __experimentalSelectBlock(blockToFocus, shouldUpdateSelection); } }, [__experimentalSelectBlock, previousBlockClientId, firstParentClientId, getBlockOrder, hasSelectedBlocks, getSelectedBlockClientIds]); - const removeBlockLabel = count === 1 ? (0,external_wp_i18n_namespaceObject.__)('Delete') : (0,external_wp_i18n_namespaceObject.__)('Delete blocks'); - - // Allows highlighting the parent block outline when focusing or hovering - // the parent block selector within the child. - const selectParentButtonRef = (0,external_wp_element_namespaceObject.useRef)(); - const showParentOutlineGestures = useShowHoveredOrFocusedGestures({ - ref: selectParentButtonRef, - highlightParent: true - }); // This can occur when the selected block (the parent) // displays child blocks within a List View. @@ -49755,7 +54020,7 @@ function BlockSettingsDropdown({ setOpenedBlockSettingsMenu(undefined); } }, [currentClientId, openedBlockSettingsMenu, setOpenedBlockSettingsMenu]); - return (0,external_wp_element_namespaceObject.createElement)(BlockActions, { + return (0,external_React_.createElement)(BlockActions, { clientIds: clientIds, __experimentalUpdateSelection: !__experimentalSelectBlock }, ({ @@ -49772,7 +54037,7 @@ function BlockSettingsDropdown({ onPasteStyles, onMoveTo, blocks - }) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DropdownMenu, { + }) => (0,external_React_.createElement)(external_wp_components_namespaceObject.DropdownMenu, { icon: more_vertical, label: (0,external_wp_i18n_namespaceObject.__)('Options'), className: "block-editor-block-settings-menu", @@ -49806,39 +54071,34 @@ function BlockSettingsDropdown({ ...props }, ({ onClose - }) => (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_wp_element_namespaceObject.createElement)(block_settings_menu_first_item.Slot, { + }) => (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_React_.createElement)(block_settings_menu_first_item.Slot, { fillProps: { onClose } - }), !parentBlockIsSelected && !!firstParentClientId && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - ...showParentOutlineGestures, - ref: selectParentButtonRef, - icon: (0,external_wp_element_namespaceObject.createElement)(block_icon, { - icon: parentBlockType.icon - }), - onClick: () => selectBlock(firstParentClientId) - }, (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: Name of the block's parent. */ - (0,external_wp_i18n_namespaceObject.__)('Select parent block (%s)'), parentBlockType.title)), count === 1 && (0,external_wp_element_namespaceObject.createElement)(block_html_convert_button, { + }), !parentBlockIsSelected && !!firstParentClientId && (0,external_React_.createElement)(ParentSelectorMenuItem, { + parentClientId: firstParentClientId, + parentBlockType: parentBlockType + }), count === 1 && (0,external_React_.createElement)(block_html_convert_button, { clientId: firstBlockClientId - }), (0,external_wp_element_namespaceObject.createElement)(CopyMenuItem, { + }), (0,external_React_.createElement)(CopyMenuItem, { blocks: blocks, onCopy: onCopy - }), canDuplicate && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { + }), canDuplicate && (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { onClick: (0,external_wp_compose_namespaceObject.pipe)(onClose, onDuplicate, updateSelectionAfterDuplicate), shortcut: shortcuts.duplicate - }, (0,external_wp_i18n_namespaceObject.__)('Duplicate')), canInsertDefaultBlock && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { + }, (0,external_wp_i18n_namespaceObject.__)('Duplicate')), canInsertDefaultBlock && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { onClick: (0,external_wp_compose_namespaceObject.pipe)(onClose, onInsertBefore), shortcut: shortcuts.insertBefore - }, (0,external_wp_i18n_namespaceObject.__)('Add before')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { + }, (0,external_wp_i18n_namespaceObject.__)('Add before')), (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { onClick: (0,external_wp_compose_namespaceObject.pipe)(onClose, onInsertAfter), shortcut: shortcuts.insertAfter - }, (0,external_wp_i18n_namespaceObject.__)('Add after')))), canCopyStyles && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_wp_element_namespaceObject.createElement)(CopyMenuItem, { + }, (0,external_wp_i18n_namespaceObject.__)('Add after')))), canCopyStyles && (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_React_.createElement)(CopyMenuItem, { blocks: blocks, onCopy: onCopy, label: (0,external_wp_i18n_namespaceObject.__)('Copy styles') - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { onClick: onPasteStyles - }, (0,external_wp_i18n_namespaceObject.__)('Paste styles'))), (0,external_wp_element_namespaceObject.createElement)(block_settings_menu_controls.Slot, { + }, (0,external_wp_i18n_namespaceObject.__)('Paste styles'))), (0,external_React_.createElement)(block_settings_menu_controls.Slot, { fillProps: { onClose, canMove, @@ -49853,14 +54113,517 @@ function BlockSettingsDropdown({ onClose }) : external_wp_element_namespaceObject.Children.map(child => (0,external_wp_element_namespaceObject.cloneElement)(child, { onClose - })), canRemove && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { + })), canRemove && (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { onClick: (0,external_wp_compose_namespaceObject.pipe)(onClose, onRemove, updateSelectionAfterRemove), shortcut: shortcuts.remove - }, removeBlockLabel))))); + }, (0,external_wp_i18n_namespaceObject.__)('Delete')))))); } /* harmony default export */ var block_settings_dropdown = (BlockSettingsDropdown); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/index.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/index.js + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + +function BlockSettingsMenu({ + clientIds, + ...props +}) { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarItem, null, toggleProps => (0,external_React_.createElement)(block_settings_dropdown, { + clientIds: clientIds, + toggleProps: toggleProps, + ...props + }))); +} +/* harmony default export */ var block_settings_menu = (BlockSettingsMenu); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-lock/toolbar.js + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + +function BlockLockToolbar({ + clientId +}) { + const { + canLock, + isLocked + } = useBlockLock(clientId); + const [isModalOpen, toggleModal] = (0,external_wp_element_namespaceObject.useReducer)(isActive => !isActive, false); + const hasLockButtonShown = (0,external_wp_element_namespaceObject.useRef)(false); + + // If the block lock button has been shown, we don't want to remove it + // from the toolbar until the toolbar is rendered again without it. + // Removing it beforehand can cause focus loss issues, such as when + // unlocking the block from the modal. It needs to return focus from + // whence it came, and to do that, we need to leave the button in the toolbar. + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (isLocked) { + hasLockButtonShown.current = true; + } + }, [isLocked]); + if (!isLocked && !hasLockButtonShown.current) { + return null; + } + let label = isLocked ? (0,external_wp_i18n_namespaceObject.__)('Unlock') : (0,external_wp_i18n_namespaceObject.__)('Lock'); + if (!canLock && isLocked) { + label = (0,external_wp_i18n_namespaceObject.__)('Locked'); + } + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, { + className: "block-editor-block-lock-toolbar" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + accessibleWhenDisabled: true, + disabled: !canLock, + icon: isLocked ? library_lock : library_unlock, + label: label, + onClick: toggleModal, + "aria-expanded": isModalOpen, + "aria-haspopup": "dialog" + })), isModalOpen && (0,external_React_.createElement)(BlockLockModal, { + clientId: clientId, + onClose: toggleModal + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/group.js + +/** + * WordPress dependencies + */ + +const group_group = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M18 4h-7c-1.1 0-2 .9-2 2v3H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h3V13c0 1.1.9 2 2 2h2.5v3zm0-4.5H11c-.3 0-.5-.2-.5-.5v-2.5H13c.3 0 .5.2.5.5v2.5zm5-.5c0 .3-.2.5-.5.5h-3V11c0-1.1-.9-2-2-2h-2.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7z" +})); +/* harmony default export */ var library_group = (group_group); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/row.js + +/** + * WordPress dependencies + */ + +const row = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M4 6.5h5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H4V16h5a.5.5 0 0 0 .5-.5v-7A.5.5 0 0 0 9 8H4V6.5Zm16 0h-5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h5V16h-5a.5.5 0 0 1-.5-.5v-7A.5.5 0 0 1 15 8h5V6.5Z" +})); +/* harmony default export */ var library_row = (row); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/stack.js + +/** + * WordPress dependencies + */ + +const stack = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M17.5 4v5a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V4H8v5a.5.5 0 0 0 .5.5h7A.5.5 0 0 0 16 9V4h1.5Zm0 16v-5a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v5H8v-5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v5h1.5Z" +})); +/* harmony default export */ var library_stack = (stack); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/convert-to-group-buttons/toolbar.js + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + +const layouts = { + group: { + type: 'constrained' + }, + row: { + type: 'flex', + flexWrap: 'nowrap' + }, + stack: { + type: 'flex', + orientation: 'vertical' + } +}; +function BlockGroupToolbar() { + const { + blocksSelection, + clientIds, + groupingBlockName, + isGroupable + } = useConvertToGroupButtonProps(); + const { + replaceBlocks + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const { + canRemove, + variations + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + canRemoveBlocks + } = select(store); + const { + getBlockVariations + } = select(external_wp_blocks_namespaceObject.store); + return { + canRemove: canRemoveBlocks(clientIds), + variations: getBlockVariations(groupingBlockName, 'transform') + }; + }, [clientIds, groupingBlockName]); + const onConvertToGroup = layout => { + const newBlocks = (0,external_wp_blocks_namespaceObject.switchToBlockType)(blocksSelection, groupingBlockName); + if (typeof layout !== 'string') { + layout = 'group'; + } + if (newBlocks && newBlocks.length > 0) { + // Because the block is not in the store yet we can't use + // updateBlockAttributes so need to manually update attributes. + newBlocks[0].attributes.layout = layouts[layout]; + replaceBlocks(clientIds, newBlocks); + } + }; + const onConvertToRow = () => onConvertToGroup('row'); + const onConvertToStack = () => onConvertToGroup('stack'); + + // Don't render the button if the current selection cannot be grouped. + // A good example is selecting multiple button blocks within a Buttons block: + // The group block is not a valid child of Buttons, so we should not show the button. + // Any blocks that are locked against removal also cannot be grouped. + if (!isGroupable || !canRemove) { + return null; + } + const canInsertRow = !!variations.find(({ + name + }) => name === 'group-row'); + const canInsertStack = !!variations.find(({ + name + }) => name === 'group-stack'); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + icon: library_group, + label: (0,external_wp_i18n_namespaceObject._x)('Group', 'verb'), + onClick: onConvertToGroup + }), canInsertRow && (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + icon: library_row, + label: (0,external_wp_i18n_namespaceObject._x)('Row', 'single horizontal line'), + onClick: onConvertToRow + }), canInsertStack && (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + icon: library_stack, + label: (0,external_wp_i18n_namespaceObject._x)('Stack', 'verb'), + onClick: onConvertToStack + })); +} +/* harmony default export */ var toolbar = (BlockGroupToolbar); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit-visually-button/index.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + +function BlockEditVisuallyButton({ + clientIds +}) { + // Edit visually only works for single block selection. + const clientId = clientIds.length === 1 ? clientIds[0] : undefined; + const canEditVisually = (0,external_wp_data_namespaceObject.useSelect)(select => !!clientId && select(store).getBlockMode(clientId) === 'html', [clientId]); + const { + toggleBlockMode + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + if (!canEditVisually) { + return null; + } + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + onClick: () => { + toggleBlockMode(clientId); + } + }, (0,external_wp_i18n_namespaceObject.__)('Edit visually'))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/block-name-context.js +/** + * WordPress dependencies + */ + +const __unstableBlockNameContext = (0,external_wp_element_namespaceObject.createContext)(''); +/* harmony default export */ var block_name_context = (__unstableBlockNameContext); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/navigable-toolbar/index.js + +/** + * WordPress dependencies + */ + + + + + + + + +/** + * Internal dependencies + */ + + +function hasOnlyToolbarItem(elements) { + const dataProp = 'toolbarItem'; + return !elements.some(element => !(dataProp in element.dataset)); +} +function getAllFocusableToolbarItemsIn(container) { + return Array.from(container.querySelectorAll('[data-toolbar-item]:not([disabled]):not([aria-disabled="true"])')); +} +function hasFocusWithin(container) { + return container.contains(container.ownerDocument.activeElement); +} +function focusFirstTabbableIn(container) { + const [firstTabbable] = external_wp_dom_namespaceObject.focus.tabbable.find(container); + if (firstTabbable) { + firstTabbable.focus({ + // When focusing newly mounted toolbars, + // the position of the popover is often not right on the first render + // This prevents the layout shifts when focusing the dialogs. + preventScroll: true + }); + } +} +function useIsAccessibleToolbar(toolbarRef) { + /* + * By default, we'll assume the starting accessible state of the Toolbar + * is true, as it seems to be the most common case. + * + * Transitioning from an (initial) false to true state causes the + * component to mount twice, which is causing undesired + * side-effects. These side-effects appear to only affect certain + * E2E tests. + * + * This was initial discovered in this pull-request: + * https://github.com/WordPress/gutenberg/pull/23425 + */ + const initialAccessibleToolbarState = true; + + // By default, it's gonna render NavigableMenu. If all the tabbable elements + // inside the toolbar are ToolbarItem components (or derived components like + // ToolbarButton), then we can wrap them with the accessible Toolbar + // component. + const [isAccessibleToolbar, setIsAccessibleToolbar] = (0,external_wp_element_namespaceObject.useState)(initialAccessibleToolbarState); + const determineIsAccessibleToolbar = (0,external_wp_element_namespaceObject.useCallback)(() => { + const tabbables = external_wp_dom_namespaceObject.focus.tabbable.find(toolbarRef.current); + const onlyToolbarItem = hasOnlyToolbarItem(tabbables); + if (!onlyToolbarItem) { + external_wp_deprecated_default()('Using custom components as toolbar controls', { + since: '5.6', + alternative: 'ToolbarItem, ToolbarButton or ToolbarDropdownMenu components', + link: 'https://developer.wordpress.org/block-editor/components/toolbar-button/#inside-blockcontrols' + }); + } + setIsAccessibleToolbar(onlyToolbarItem); + }, [toolbarRef]); + (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { + // Toolbar buttons may be rendered asynchronously, so we use + // MutationObserver to check if the toolbar subtree has been modified. + const observer = new window.MutationObserver(determineIsAccessibleToolbar); + observer.observe(toolbarRef.current, { + childList: true, + subtree: true + }); + return () => observer.disconnect(); + }, [determineIsAccessibleToolbar, isAccessibleToolbar, toolbarRef]); + return isAccessibleToolbar; +} +function useToolbarFocus({ + toolbarRef, + focusOnMount, + isAccessibleToolbar, + defaultIndex, + onIndexChange, + shouldUseKeyboardFocusShortcut, + focusEditorOnEscape +}) { + // Make sure we don't use modified versions of this prop. + const [initialFocusOnMount] = (0,external_wp_element_namespaceObject.useState)(focusOnMount); + const [initialIndex] = (0,external_wp_element_namespaceObject.useState)(defaultIndex); + const focusToolbar = (0,external_wp_element_namespaceObject.useCallback)(() => { + focusFirstTabbableIn(toolbarRef.current); + }, [toolbarRef]); + const focusToolbarViaShortcut = () => { + if (shouldUseKeyboardFocusShortcut) { + focusToolbar(); + } + }; + + // Focus on toolbar when pressing alt+F10 when the toolbar is visible. + (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)('core/block-editor/focus-toolbar', focusToolbarViaShortcut); + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (initialFocusOnMount) { + focusToolbar(); + } + }, [isAccessibleToolbar, initialFocusOnMount, focusToolbar]); + (0,external_wp_element_namespaceObject.useEffect)(() => { + // Store ref so we have access on useEffect cleanup: https://legacy.reactjs.org/blog/2020/08/10/react-v17-rc.html#effect-cleanup-timing + const navigableToolbarRef = toolbarRef.current; + // If initialIndex is passed, we focus on that toolbar item when the + // toolbar gets mounted and initial focus is not forced. + // We have to wait for the next browser paint because block controls aren't + // rendered right away when the toolbar gets mounted. + let raf = 0; + if (!initialFocusOnMount) { + raf = window.requestAnimationFrame(() => { + const items = getAllFocusableToolbarItemsIn(navigableToolbarRef); + const index = initialIndex || 0; + if (items[index] && hasFocusWithin(navigableToolbarRef)) { + items[index].focus({ + // When focusing newly mounted toolbars, + // the position of the popover is often not right on the first render + // This prevents the layout shifts when focusing the dialogs. + preventScroll: true + }); + } + }); + } + return () => { + window.cancelAnimationFrame(raf); + if (!onIndexChange || !navigableToolbarRef) return; + // When the toolbar element is unmounted and onIndexChange is passed, we + // pass the focused toolbar item index so it can be hydrated later. + const items = getAllFocusableToolbarItemsIn(navigableToolbarRef); + const index = items.findIndex(item => item.tabIndex === 0); + onIndexChange(index); + }; + }, [initialIndex, initialFocusOnMount, onIndexChange, toolbarRef]); + const { + getLastFocus + } = unlock((0,external_wp_data_namespaceObject.useSelect)(store)); + /** + * Handles returning focus to the block editor canvas when pressing escape. + */ + (0,external_wp_element_namespaceObject.useEffect)(() => { + const navigableToolbarRef = toolbarRef.current; + if (focusEditorOnEscape) { + const handleKeyDown = event => { + const lastFocus = getLastFocus(); + if (event.keyCode === external_wp_keycodes_namespaceObject.ESCAPE && lastFocus?.current) { + // Focus the last focused element when pressing escape. + event.preventDefault(); + lastFocus.current.focus(); + } + }; + navigableToolbarRef.addEventListener('keydown', handleKeyDown); + return () => { + navigableToolbarRef.removeEventListener('keydown', handleKeyDown); + }; + } + }, [focusEditorOnEscape, getLastFocus, toolbarRef]); +} +function NavigableToolbar({ + children, + focusOnMount, + focusEditorOnEscape = false, + shouldUseKeyboardFocusShortcut = true, + __experimentalInitialIndex: initialIndex, + __experimentalOnIndexChange: onIndexChange, + ...props +}) { + const toolbarRef = (0,external_wp_element_namespaceObject.useRef)(); + const isAccessibleToolbar = useIsAccessibleToolbar(toolbarRef); + useToolbarFocus({ + toolbarRef, + focusOnMount, + defaultIndex: initialIndex, + onIndexChange, + isAccessibleToolbar, + shouldUseKeyboardFocusShortcut, + focusEditorOnEscape + }); + if (isAccessibleToolbar) { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Toolbar, { + label: props['aria-label'], + ref: toolbarRef, + ...props + }, children); + } + return (0,external_React_.createElement)(external_wp_components_namespaceObject.NavigableMenu, { + orientation: "horizontal", + role: "toolbar", + ref: toolbarRef, + ...props + }, children); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/use-has-block-controls.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + +function useHasAnyBlockControls() { + let hasAnyBlockControls = false; + for (const group in block_controls_groups) { + // It is safe to violate the rules of hooks here as the `groups` object + // is static and will not change length between renders. Do not return + // early as that will cause the hook to be called a different number of + // times between renders. + // eslint-disable-next-line react-hooks/rules-of-hooks + if (useHasBlockControls(group)) { + hasAnyBlockControls = true; + } + } + return hasAnyBlockControls; +} +function useHasBlockControls(group = 'default') { + const Slot = block_controls_groups[group]?.Slot; + const fills = (0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(Slot?.__unstableName); + if (!Slot) { + true ? external_wp_warning_default()(`Unknown BlockControls group "${group}" provided.`) : 0; + return null; + } + return !!fills?.length; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/index.js + +/** + * External dependencies + */ + /** * WordPress dependencies @@ -49885,6 +54648,3335 @@ function BlockSettingsDropdown({ + + + + + +/** + * Renders the block toolbar. + * + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md + * + * @param {Object} props Components props. + * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality. + * @param {boolean} props.focusOnMount Focus the toolbar when mounted. + * @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus. + * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes. + * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons. + */ +function PrivateBlockToolbar({ + hideDragHandle, + focusOnMount, + __experimentalInitialIndex, + __experimentalOnIndexChange, + variant = 'unstyled' +}) { + const { + blockClientId, + blockClientIds, + isDefaultEditingMode, + blockType, + shouldShowVisualToolbar, + showParentSelector + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlockName, + getBlockMode, + getBlockParents, + getSelectedBlockClientIds, + isBlockValid, + getBlockRootClientId, + getBlockEditingMode + } = select(store); + const selectedBlockClientIds = getSelectedBlockClientIds(); + const selectedBlockClientId = selectedBlockClientIds[0]; + const blockRootClientId = getBlockRootClientId(selectedBlockClientId); + const parents = getBlockParents(selectedBlockClientId); + const firstParentClientId = parents[parents.length - 1]; + const parentBlockName = getBlockName(firstParentClientId); + const parentBlockType = (0,external_wp_blocks_namespaceObject.getBlockType)(parentBlockName); + const _isDefaultEditingMode = getBlockEditingMode(selectedBlockClientId) === 'default'; + const isValid = selectedBlockClientIds.every(id => isBlockValid(id)); + const isVisual = selectedBlockClientIds.every(id => getBlockMode(id) === 'visual'); + return { + blockClientId: selectedBlockClientId, + blockClientIds: selectedBlockClientIds, + isDefaultEditingMode: _isDefaultEditingMode, + blockType: selectedBlockClientId && (0,external_wp_blocks_namespaceObject.getBlockType)(getBlockName(selectedBlockClientId)), + shouldShowVisualToolbar: isValid && isVisual, + rootClientId: blockRootClientId, + showParentSelector: parentBlockType && getBlockEditingMode(firstParentClientId) === 'default' && (0,external_wp_blocks_namespaceObject.hasBlockSupport)(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length === 1 && _isDefaultEditingMode + }; + }, []); + const toolbarWrapperRef = (0,external_wp_element_namespaceObject.useRef)(null); + + // Handles highlighting the current block outline on hover or focus of the + // block type toolbar area. + const nodeRef = (0,external_wp_element_namespaceObject.useRef)(); + const showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures({ + ref: nodeRef + }); + const isLargeViewport = !(0,external_wp_compose_namespaceObject.useViewportMatch)('medium', '<'); + const isToolbarEnabled = blockType && (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockType, '__experimentalToolbar', true); + const hasAnyBlockControls = useHasAnyBlockControls(); + if (!isToolbarEnabled || !isDefaultEditingMode && !hasAnyBlockControls) { + return null; + } + const isMultiToolbar = blockClientIds.length > 1; + const isSynced = (0,external_wp_blocks_namespaceObject.isReusableBlock)(blockType) || (0,external_wp_blocks_namespaceObject.isTemplatePart)(blockType); + + // Shifts the toolbar to make room for the parent block selector. + const classes = classnames_default()('block-editor-block-contextual-toolbar', { + 'has-parent': showParentSelector + }); + const innerClasses = classnames_default()('block-editor-block-toolbar', { + 'is-synced': isSynced + }); + return (0,external_React_.createElement)(NavigableToolbar, { + focusEditorOnEscape: true, + className: classes + /* translators: accessibility text for the block toolbar */, + "aria-label": (0,external_wp_i18n_namespaceObject.__)('Block tools') + // The variant is applied as "toolbar" when undefined, which is the black border style of the dropdown from the toolbar popover. + , + variant: variant === 'toolbar' ? undefined : variant, + focusOnMount: focusOnMount, + __experimentalInitialIndex: __experimentalInitialIndex, + __experimentalOnIndexChange: __experimentalOnIndexChange + // Resets the index whenever the active block changes so + // this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169 + , + key: blockClientId + }, (0,external_React_.createElement)("div", { + ref: toolbarWrapperRef, + className: innerClasses + }, !isMultiToolbar && isLargeViewport && isDefaultEditingMode && (0,external_React_.createElement)(BlockParentSelector, null), (shouldShowVisualToolbar || isMultiToolbar) && isDefaultEditingMode && (0,external_React_.createElement)("div", { + ref: nodeRef, + ...showHoveredOrFocusedGestures + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, { + className: "block-editor-block-toolbar__block-controls" + }, (0,external_React_.createElement)(block_switcher, { + clientIds: blockClientIds + }), !isMultiToolbar && (0,external_React_.createElement)(BlockLockToolbar, { + clientId: blockClientId + }), (0,external_React_.createElement)(block_mover, { + clientIds: blockClientIds, + hideDragHandle: hideDragHandle + }))), shouldShowVisualToolbar && isMultiToolbar && (0,external_React_.createElement)(toolbar, null), shouldShowVisualToolbar && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(block_controls.Slot, { + group: "parent", + className: "block-editor-block-toolbar__slot" + }), (0,external_React_.createElement)(block_controls.Slot, { + group: "block", + className: "block-editor-block-toolbar__slot" + }), (0,external_React_.createElement)(block_controls.Slot, { + className: "block-editor-block-toolbar__slot" + }), (0,external_React_.createElement)(block_controls.Slot, { + group: "inline", + className: "block-editor-block-toolbar__slot" + }), (0,external_React_.createElement)(block_controls.Slot, { + group: "other", + className: "block-editor-block-toolbar__slot" + }), (0,external_React_.createElement)(block_name_context.Provider, { + value: blockType?.name + }, (0,external_React_.createElement)(block_toolbar_last_item.Slot, null))), (0,external_React_.createElement)(BlockEditVisuallyButton, { + clientIds: blockClientIds + }), isDefaultEditingMode && (0,external_React_.createElement)(block_settings_menu, { + clientIds: blockClientIds + }))); +} + +/** + * Renders the block toolbar. + * + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md + * + * @param {Object} props Components props. + * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality. + * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons. + */ +function BlockToolbar({ + hideDragHandle, + variant +}) { + return (0,external_React_.createElement)(PrivateBlockToolbar, { + hideDragHandle: hideDragHandle, + variant: variant, + focusOnMount: undefined, + __experimentalInitialIndex: undefined, + __experimentalOnIndexChange: undefined + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/block-toolbar-popover.js + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + +function BlockToolbarPopover({ + clientId, + isTyping, + __unstableContentRef +}) { + const { + capturingClientId, + isInsertionPointVisible, + lastClientId + } = useSelectedBlockToolProps(clientId); + + // Stores the active toolbar item index so the block toolbar can return focus + // to it when re-mounting. + const initialToolbarItemIndexRef = (0,external_wp_element_namespaceObject.useRef)(); + (0,external_wp_element_namespaceObject.useEffect)(() => { + // Resets the index whenever the active block changes so this is not + // persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169 + initialToolbarItemIndexRef.current = undefined; + }, [clientId]); + const { + stopTyping + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const isToolbarForced = (0,external_wp_element_namespaceObject.useRef)(false); + (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)('core/block-editor/focus-toolbar', () => { + isToolbarForced.current = true; + stopTyping(true); + }); + (0,external_wp_element_namespaceObject.useEffect)(() => { + isToolbarForced.current = false; + }); + const popoverProps = useBlockToolbarPopoverProps({ + contentElement: __unstableContentRef?.current, + clientId + }); + return !isTyping && (0,external_React_.createElement)(block_popover, { + clientId: capturingClientId || clientId, + bottomClientId: lastClientId, + className: classnames_default()('block-editor-block-list__block-popover', { + 'is-insertion-point-visible': isInsertionPointVisible + }), + resize: false, + ...popoverProps + }, (0,external_React_.createElement)(PrivateBlockToolbar + // If the toolbar is being shown because of being forced + // it should focus the toolbar right after the mount. + , { + focusOnMount: isToolbarForced.current, + __experimentalInitialIndex: initialToolbarItemIndexRef.current, + __experimentalOnIndexChange: index => { + initialToolbarItemIndexRef.current = index; + }, + variant: "toolbar" + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/block-selection-button.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + + + +/** + * Internal dependencies + */ + + + + + + + + +/** + * Block selection button component, displaying the label of the block. If the block + * descends from a root block, a button is displayed enabling the user to select + * the root block. + * + * @param {string} props Component props. + * @param {string} props.clientId Client ID of block. + * + * @return {Component} The component to be rendered. + */ +function BlockSelectionButton({ + clientId, + rootClientId +}) { + const blockInformation = useBlockDisplayInformation(clientId); + const selected = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlock, + getBlockIndex, + hasBlockMovingClientId, + getBlockListSettings, + __unstableGetEditorMode + } = select(store); + const index = getBlockIndex(clientId); + const { + name, + attributes + } = getBlock(clientId); + const blockMovingMode = hasBlockMovingClientId(); + return { + index, + name, + attributes, + blockMovingMode, + orientation: getBlockListSettings(rootClientId)?.orientation, + editorMode: __unstableGetEditorMode() + }; + }, [clientId, rootClientId]); + const { + index, + name, + attributes, + blockMovingMode, + orientation, + editorMode + } = selected; + const { + setNavigationMode, + removeBlock + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const ref = (0,external_wp_element_namespaceObject.useRef)(); + const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(name); + const label = (0,external_wp_blocks_namespaceObject.__experimentalGetAccessibleBlockLabel)(blockType, attributes, index + 1, orientation); + + // Focus the breadcrumb in navigation mode. + (0,external_wp_element_namespaceObject.useEffect)(() => { + ref.current.focus(); + (0,external_wp_a11y_namespaceObject.speak)(label); + }, [label]); + const blockElement = useBlockElement(clientId); + const { + hasBlockMovingClientId, + getBlockIndex, + getBlockRootClientId, + getClientIdsOfDescendants, + getSelectedBlockClientId, + getMultiSelectedBlocksEndClientId, + getPreviousBlockClientId, + getNextBlockClientId + } = (0,external_wp_data_namespaceObject.useSelect)(store); + const { + selectBlock, + clearSelectedBlock, + setBlockMovingClientId, + moveBlockToPosition + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + function onKeyDown(event) { + const { + keyCode + } = event; + const isUp = keyCode === external_wp_keycodes_namespaceObject.UP; + const isDown = keyCode === external_wp_keycodes_namespaceObject.DOWN; + const isLeft = keyCode === external_wp_keycodes_namespaceObject.LEFT; + const isRight = keyCode === external_wp_keycodes_namespaceObject.RIGHT; + const isTab = keyCode === external_wp_keycodes_namespaceObject.TAB; + const isEscape = keyCode === external_wp_keycodes_namespaceObject.ESCAPE; + const isEnter = keyCode === external_wp_keycodes_namespaceObject.ENTER; + const isSpace = keyCode === external_wp_keycodes_namespaceObject.SPACE; + const isShift = event.shiftKey; + if (keyCode === external_wp_keycodes_namespaceObject.BACKSPACE || keyCode === external_wp_keycodes_namespaceObject.DELETE) { + removeBlock(clientId); + event.preventDefault(); + return; + } + const selectedBlockClientId = getSelectedBlockClientId(); + const selectionEndClientId = getMultiSelectedBlocksEndClientId(); + const selectionBeforeEndClientId = getPreviousBlockClientId(selectionEndClientId || selectedBlockClientId); + const selectionAfterEndClientId = getNextBlockClientId(selectionEndClientId || selectedBlockClientId); + const navigateUp = isTab && isShift || isUp; + const navigateDown = isTab && !isShift || isDown; + // Move out of current nesting level (no effect if at root level). + const navigateOut = isLeft; + // Move into next nesting level (no effect if the current block has no innerBlocks). + const navigateIn = isRight; + let focusedBlockUid; + if (navigateUp) { + focusedBlockUid = selectionBeforeEndClientId; + } else if (navigateDown) { + focusedBlockUid = selectionAfterEndClientId; + } else if (navigateOut) { + var _getBlockRootClientId; + focusedBlockUid = (_getBlockRootClientId = getBlockRootClientId(selectedBlockClientId)) !== null && _getBlockRootClientId !== void 0 ? _getBlockRootClientId : selectedBlockClientId; + } else if (navigateIn) { + var _getClientIdsOfDescen; + focusedBlockUid = (_getClientIdsOfDescen = getClientIdsOfDescendants(selectedBlockClientId)[0]) !== null && _getClientIdsOfDescen !== void 0 ? _getClientIdsOfDescen : selectedBlockClientId; + } + const startingBlockClientId = hasBlockMovingClientId(); + if (isEscape && startingBlockClientId && !event.defaultPrevented) { + setBlockMovingClientId(null); + event.preventDefault(); + } + if ((isEnter || isSpace) && startingBlockClientId) { + const sourceRoot = getBlockRootClientId(startingBlockClientId); + const destRoot = getBlockRootClientId(selectedBlockClientId); + const sourceBlockIndex = getBlockIndex(startingBlockClientId); + let destinationBlockIndex = getBlockIndex(selectedBlockClientId); + if (sourceBlockIndex < destinationBlockIndex && sourceRoot === destRoot) { + destinationBlockIndex -= 1; + } + moveBlockToPosition(startingBlockClientId, sourceRoot, destRoot, destinationBlockIndex); + selectBlock(startingBlockClientId); + setBlockMovingClientId(null); + } + // Prevent the block from being moved into itself. + if (startingBlockClientId && selectedBlockClientId === startingBlockClientId && navigateIn) { + return; + } + if (navigateDown || navigateUp || navigateOut || navigateIn) { + if (focusedBlockUid) { + event.preventDefault(); + selectBlock(focusedBlockUid); + } else if (isTab && selectedBlockClientId) { + let nextTabbable; + if (navigateDown) { + nextTabbable = blockElement; + do { + nextTabbable = external_wp_dom_namespaceObject.focus.tabbable.findNext(nextTabbable); + } while (nextTabbable && blockElement.contains(nextTabbable)); + if (!nextTabbable) { + nextTabbable = blockElement.ownerDocument.defaultView.frameElement; + nextTabbable = external_wp_dom_namespaceObject.focus.tabbable.findNext(nextTabbable); + } + } else { + nextTabbable = external_wp_dom_namespaceObject.focus.tabbable.findPrevious(blockElement); + } + if (nextTabbable) { + event.preventDefault(); + nextTabbable.focus(); + clearSelectedBlock(); + } + } + } + } + const classNames = classnames_default()('block-editor-block-list__block-selection-button', { + 'is-block-moving-mode': !!blockMovingMode + }); + const dragHandleLabel = (0,external_wp_i18n_namespaceObject.__)('Drag'); + return (0,external_React_.createElement)("div", { + className: classNames + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Flex, { + justify: "center", + className: "block-editor-block-list__block-selection-button__content" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_React_.createElement)(block_icon, { + icon: blockInformation?.icon, + showColors: true + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, editorMode === 'zoom-out' && (0,external_React_.createElement)(block_mover, { + clientIds: [clientId], + hideDragHandle: true + }), editorMode === 'navigation' && (0,external_React_.createElement)(block_draggable, { + clientIds: [clientId] + }, draggableProps => (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + icon: drag_handle, + className: "block-selection-button_drag-handle", + "aria-hidden": "true", + label: dragHandleLabel + // Should not be able to tab to drag handle as this + // button can only be used with a pointer device. + , + tabIndex: "-1", + ...draggableProps + }))), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + ref: ref, + onClick: editorMode === 'navigation' ? () => setNavigationMode(false) : undefined, + onKeyDown: onKeyDown, + label: label, + showTooltip: false, + className: "block-selection-button_select-button" + }, (0,external_React_.createElement)(BlockTitle, { + clientId: clientId, + maximumLength: 35 + }))))); +} +/* harmony default export */ var block_selection_button = (BlockSelectionButton); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/block-toolbar-breadcrumb.js + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + +function BlockToolbarBreadcrumb({ + clientId, + __unstableContentRef +}) { + const { + capturingClientId, + isInsertionPointVisible, + lastClientId, + rootClientId + } = useSelectedBlockToolProps(clientId); + const popoverProps = useBlockToolbarPopoverProps({ + contentElement: __unstableContentRef?.current, + clientId + }); + return (0,external_React_.createElement)(block_popover, { + clientId: capturingClientId || clientId, + bottomClientId: lastClientId, + className: classnames_default()('block-editor-block-list__block-popover', { + 'is-insertion-point-visible': isInsertionPointVisible + }), + resize: false, + ...popoverProps + }, (0,external_React_.createElement)(block_selection_button, { + clientId: clientId, + rootClientId: rootClientId + })); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/zoom-out-mode-inserters.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +function ZoomOutModeInserters({ + __unstableContentRef +}) { + const [isReady, setIsReady] = (0,external_wp_element_namespaceObject.useState)(false); + const blockOrder = (0,external_wp_data_namespaceObject.useSelect)(select => { + return select(store).getBlockOrder(); + }, []); + + // Defer the initial rendering to avoid the jumps due to the animation. + (0,external_wp_element_namespaceObject.useEffect)(() => { + const timeout = setTimeout(() => { + setIsReady(true); + }, 500); + return () => { + clearTimeout(timeout); + }; + }, []); + if (!isReady) { + return null; + } + return blockOrder.map((clientId, index) => { + if (index === blockOrder.length - 1) { + return null; + } + return (0,external_React_.createElement)(inbetween, { + key: clientId, + previousClientId: clientId, + nextClientId: blockOrder[index + 1], + __unstableContentRef: __unstableContentRef + }, (0,external_React_.createElement)("div", { + className: "block-editor-block-list__insertion-point-inserter is-with-inserter" + }, (0,external_React_.createElement)(inserter, { + position: "bottom center", + clientId: blockOrder[index + 1], + __experimentalIsQuick: true + }))); + }); +} +/* harmony default export */ var zoom_out_mode_inserters = (ZoomOutModeInserters); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/index.js + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + + + + +function block_tools_selector(select) { + const { + getSelectedBlockClientId, + getFirstMultiSelectedBlockClientId, + getBlock, + getSettings, + hasMultiSelection, + __unstableGetEditorMode, + isTyping + } = select(store); + const clientId = getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId(); + const { + name = '', + attributes = {} + } = getBlock(clientId) || {}; + const editorMode = __unstableGetEditorMode(); + const hasSelectedBlock = clientId && name; + const isEmptyDefaultBlock = (0,external_wp_blocks_namespaceObject.isUnmodifiedDefaultBlock)({ + name, + attributes + }); + const _showEmptyBlockSideInserter = clientId && !isTyping() && editorMode === 'edit' && (0,external_wp_blocks_namespaceObject.isUnmodifiedDefaultBlock)({ + name, + attributes + }); + const maybeShowBreadcrumb = hasSelectedBlock && !hasMultiSelection() && (editorMode === 'navigation' || editorMode === 'zoom-out'); + return { + clientId, + hasFixedToolbar: getSettings().hasFixedToolbar, + isTyping: isTyping(), + isZoomOutMode: editorMode === 'zoom-out', + showEmptyBlockSideInserter: _showEmptyBlockSideInserter, + showBreadcrumb: !_showEmptyBlockSideInserter && maybeShowBreadcrumb, + showBlockToolbar: !getSettings().hasFixedToolbar && !_showEmptyBlockSideInserter && hasSelectedBlock && !isEmptyDefaultBlock && !maybeShowBreadcrumb + }; +} + +/** + * Renders block tools (the block toolbar, select/navigation mode toolbar, the + * insertion point and a slot for the inline rich text toolbar). Must be wrapped + * around the block content and editor styles wrapper or iframe. + * + * @param {Object} $0 Props. + * @param {Object} $0.children The block content and style container. + * @param {Object} $0.__unstableContentRef Ref holding the content scroll container. + */ +function BlockTools({ + children, + __unstableContentRef, + ...props +}) { + const { + clientId, + hasFixedToolbar, + isTyping, + isZoomOutMode, + showEmptyBlockSideInserter, + showBreadcrumb, + showBlockToolbar + } = (0,external_wp_data_namespaceObject.useSelect)(block_tools_selector, []); + const isMatch = (0,external_wp_keyboardShortcuts_namespaceObject.__unstableUseShortcutEventMatch)(); + const { + getSelectedBlockClientIds, + getBlockRootClientId + } = (0,external_wp_data_namespaceObject.useSelect)(store); + const { + duplicateBlocks, + removeBlocks, + insertAfterBlock, + insertBeforeBlock, + clearSelectedBlock, + selectBlock, + moveBlocksUp, + moveBlocksDown + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + function onKeyDown(event) { + if (event.defaultPrevented) return; + if (isMatch('core/block-editor/move-up', event)) { + const clientIds = getSelectedBlockClientIds(); + if (clientIds.length) { + event.preventDefault(); + const rootClientId = getBlockRootClientId(clientIds[0]); + moveBlocksUp(clientIds, rootClientId); + } + } else if (isMatch('core/block-editor/move-down', event)) { + const clientIds = getSelectedBlockClientIds(); + if (clientIds.length) { + event.preventDefault(); + const rootClientId = getBlockRootClientId(clientIds[0]); + moveBlocksDown(clientIds, rootClientId); + } + } else if (isMatch('core/block-editor/duplicate', event)) { + const clientIds = getSelectedBlockClientIds(); + if (clientIds.length) { + event.preventDefault(); + duplicateBlocks(clientIds); + } + } else if (isMatch('core/block-editor/remove', event)) { + const clientIds = getSelectedBlockClientIds(); + if (clientIds.length) { + event.preventDefault(); + removeBlocks(clientIds); + } + } else if (isMatch('core/block-editor/insert-after', event)) { + const clientIds = getSelectedBlockClientIds(); + if (clientIds.length) { + event.preventDefault(); + insertAfterBlock(clientIds[clientIds.length - 1]); + } + } else if (isMatch('core/block-editor/insert-before', event)) { + const clientIds = getSelectedBlockClientIds(); + if (clientIds.length) { + event.preventDefault(); + insertBeforeBlock(clientIds[0]); + } + } else if (isMatch('core/block-editor/unselect', event)) { + if (event.target.closest('[role=toolbar]')) { + // This shouldn't be necessary, but we have a combination of a few things all combining to create a situation where: + // - Because the block toolbar uses createPortal to populate the block toolbar fills, we can't rely on the React event bubbling to hit the onKeyDown listener for the block toolbar + // - Since we can't use the React tree, we use the DOM tree which _should_ handle the event bubbling correctly from a `createPortal` element. + // - This bubbles via the React tree, which hits this `unselect` escape keypress before the block toolbar DOM event listener has access to it. + // An alternative would be to remove the addEventListener on the navigableToolbar and use this event to handle it directly right here. That feels hacky too though. + return; + } + const clientIds = getSelectedBlockClientIds(); + if (clientIds.length) { + event.preventDefault(); + + // If there is more than one block selected, select the first + // block so that focus is directed back to the beginning of the selection. + // In effect, to the user this feels like deselecting the multi-selection. + if (clientIds.length > 1) { + selectBlock(clientIds[0]); + } else { + clearSelectedBlock(); + } + event.target.ownerDocument.defaultView.getSelection().removeAllRanges(); + __unstableContentRef?.current.focus(); + } + } + } + const blockToolbarRef = use_popover_scroll(__unstableContentRef); + const blockToolbarAfterRef = use_popover_scroll(__unstableContentRef); + return ( + // eslint-disable-next-line jsx-a11y/no-static-element-interactions + (0,external_React_.createElement)("div", { + ...props, + onKeyDown: onKeyDown + }, (0,external_React_.createElement)(insertion_point_InsertionPointOpenRef.Provider, { + value: (0,external_wp_element_namespaceObject.useRef)(false) + }, !isTyping && (0,external_React_.createElement)(InsertionPoint, { + __unstableContentRef: __unstableContentRef + }), showEmptyBlockSideInserter && (0,external_React_.createElement)(EmptyBlockInserter, { + __unstableContentRef: __unstableContentRef, + clientId: clientId + }), showBlockToolbar && (0,external_React_.createElement)(BlockToolbarPopover, { + __unstableContentRef: __unstableContentRef, + clientId: clientId, + isTyping: isTyping + }), showBreadcrumb && (0,external_React_.createElement)(BlockToolbarBreadcrumb, { + __unstableContentRef: __unstableContentRef, + clientId: clientId + }), !isZoomOutMode && !hasFixedToolbar && (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover.Slot, { + name: "block-toolbar", + ref: blockToolbarRef + }), children, (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover.Slot, { + name: "__unstable-block-tools-after", + ref: blockToolbarAfterRef + }), isZoomOutMode && (0,external_React_.createElement)(zoom_out_mode_inserters, { + __unstableContentRef: __unstableContentRef + }))) + ); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-canvas/index.js + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + + + +function ExperimentalBlockCanvas({ + shouldIframe = true, + height = '300px', + children = (0,external_React_.createElement)(BlockList, null), + styles, + contentRef: contentRefProp, + iframeProps +}) { + const resetTypingRef = useMouseMoveTypingReset(); + const clearerRef = useBlockSelectionClearer(); + const localRef = (0,external_wp_element_namespaceObject.useRef)(); + const contentRef = (0,external_wp_compose_namespaceObject.useMergeRefs)([contentRefProp, clearerRef, localRef]); + if (!shouldIframe) { + return (0,external_React_.createElement)(BlockTools, { + __unstableContentRef: localRef, + style: { + height, + display: 'flex' + } + }, (0,external_React_.createElement)(EditorStyles, { + styles: styles, + scope: ".editor-styles-wrapper" + }), (0,external_React_.createElement)(writing_flow, { + ref: contentRef, + className: "editor-styles-wrapper", + tabIndex: -1, + style: { + height: '100%', + width: '100%' + } + }, children)); + } + return (0,external_React_.createElement)(BlockTools, { + __unstableContentRef: localRef, + style: { + height, + display: 'flex' + } + }, (0,external_React_.createElement)(iframe, { + ...iframeProps, + ref: resetTypingRef, + contentRef: contentRef, + style: { + ...iframeProps?.style + }, + name: "editor-canvas" + }, (0,external_React_.createElement)(EditorStyles, { + styles: styles + }), children)); +} + +/** + * BlockCanvas component is a component used to display the canvas of the block editor. + * What we call the canvas is an iframe containing the block list that you can manipulate. + * The component is also responsible of wiring up all the necessary hooks to enable + * the keyboard navigation across blocks in the editor and inject content styles into the iframe. + * + * @example + * + * ```jsx + * function MyBlockEditor() { + * const [ blocks, updateBlocks ] = useState([]); + * return ( + * + * + * + * ); + * } + * ``` + * + * @param {Object} props Component props. + * @param {string} props.height Canvas height, defaults to 300px. + * @param {Array} props.styles Content styles to inject into the iframe. + * @param {Element} props.children Content of the canvas, defaults to the BlockList component. + * @return {Element} Block Breadcrumb. + */ +function BlockCanvas({ + children, + height, + styles +}) { + return (0,external_React_.createElement)(ExperimentalBlockCanvas, { + height: height, + styles: styles + }, children); +} +/* harmony default export */ var block_canvas = (BlockCanvas); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/color-style-selector/index.js + +/** + * WordPress dependencies + */ + + + + +const ColorSelectorSVGIcon = () => (0,external_React_.createElement)(external_wp_components_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 20 20" +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { + d: "M7.434 5l3.18 9.16H8.538l-.692-2.184H4.628l-.705 2.184H2L5.18 5h2.254zm-1.13 1.904h-.115l-1.148 3.593H7.44L6.304 6.904zM14.348 7.006c1.853 0 2.9.876 2.9 2.374v4.78h-1.79v-.914h-.114c-.362.64-1.123 1.022-2.031 1.022-1.346 0-2.292-.826-2.292-2.108 0-1.27.972-2.006 2.71-2.107l1.696-.102V9.38c0-.584-.42-.914-1.18-.914-.667 0-1.112.228-1.264.647h-1.701c.12-1.295 1.307-2.107 3.066-2.107zm1.079 4.1l-1.416.09c-.793.056-1.18.342-1.18.844 0 .52.45.837 1.091.837.857 0 1.505-.545 1.505-1.256v-.515z" +})); + +/** + * Color Selector Icon component. + * + * @param {Object} props Component properties. + * @param {Object} props.style Style object. + * @param {string} props.className Class name for component. + * + * @return {*} React Icon component. + */ +const ColorSelectorIcon = ({ + style, + className +}) => { + return (0,external_React_.createElement)("div", { + className: "block-library-colors-selector__icon-container" + }, (0,external_React_.createElement)("div", { + className: `${className} block-library-colors-selector__state-selection`, + style: style + }, (0,external_React_.createElement)(ColorSelectorSVGIcon, null))); +}; + +/** + * Renders the Colors Selector Toolbar with the icon button. + * + * @param {Object} props Component properties. + * @param {Object} props.TextColor Text color component that wraps icon. + * @param {Object} props.BackgroundColor Background color component that wraps icon. + * + * @return {*} React toggle button component. + */ +const renderToggleComponent = ({ + TextColor, + BackgroundColor +}) => ({ + onToggle, + isOpen +}) => { + const openOnArrowDown = event => { + if (!isOpen && event.keyCode === external_wp_keycodes_namespaceObject.DOWN) { + event.preventDefault(); + onToggle(); + } + }; + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + className: "components-toolbar__control block-library-colors-selector__toggle", + label: (0,external_wp_i18n_namespaceObject.__)('Open Colors Selector'), + onClick: onToggle, + onKeyDown: openOnArrowDown, + icon: (0,external_React_.createElement)(BackgroundColor, null, (0,external_React_.createElement)(TextColor, null, (0,external_React_.createElement)(ColorSelectorIcon, null))) + })); +}; +const BlockColorsStyleSelector = ({ + children, + ...other +}) => { + external_wp_deprecated_default()(`wp.blockEditor.BlockColorsStyleSelector`, { + alternative: 'block supports API', + since: '6.1', + version: '6.3' + }); + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Dropdown, { + popoverProps: { + placement: 'bottom-start' + }, + className: "block-library-colors-selector", + contentClassName: "block-library-colors-selector__popover", + renderToggle: renderToggleComponent(other), + renderContent: () => children + }); +}; +/* harmony default export */ var color_style_selector = (BlockColorsStyleSelector); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/list-view.js + +/** + * WordPress dependencies + */ + +const listView = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M3 6h11v1.5H3V6Zm3.5 5.5h11V13h-11v-1.5ZM21 17H10v1.5h11V17Z" +})); +/* harmony default export */ var list_view = (listView); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/context.js +/** + * WordPress dependencies + */ + +const ListViewContext = (0,external_wp_element_namespaceObject.createContext)({}); +const useListViewContext = () => (0,external_wp_element_namespaceObject.useContext)(ListViewContext); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/aria-referenced-text.js + +/** + * WordPress dependencies + */ + + +/** + * A component specifically designed to be used as an element referenced + * by ARIA attributes such as `aria-labelledby` or `aria-describedby`. + * + * @param {Object} props Props. + * @param {import('react').ReactNode} props.children + */ +function AriaReferencedText({ + children, + ...props +}) { + const ref = (0,external_wp_element_namespaceObject.useRef)(); + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (ref.current) { + // This seems like a no-op, but it fixes a bug in Firefox where + // it fails to recompute the text when only the text node changes. + // @see https://github.com/WordPress/gutenberg/pull/51035 + ref.current.textContent = ref.current.textContent; + } + }, [children]); + return (0,external_React_.createElement)("div", { + hidden: true, + ...props, + ref: ref + }, children); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/appender.js + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + + +const Appender = (0,external_wp_element_namespaceObject.forwardRef)(({ + nestingLevel, + blockCount, + clientId, + ...props +}, ref) => { + const { + insertedBlock, + setInsertedBlock + } = useListViewContext(); + const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(Appender); + const hideInserter = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getTemplateLock, + __unstableGetEditorMode + } = select(store); + return !!getTemplateLock(clientId) || __unstableGetEditorMode() === 'zoom-out'; + }, [clientId]); + const blockTitle = useBlockDisplayTitle({ + clientId, + context: 'list-view' + }); + const insertedBlockTitle = useBlockDisplayTitle({ + clientId: insertedBlock?.clientId, + context: 'list-view' + }); + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (!insertedBlockTitle?.length) { + return; + } + (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s: name of block being inserted (i.e. Paragraph, Image, Group etc) + (0,external_wp_i18n_namespaceObject.__)('%s block inserted'), insertedBlockTitle), 'assertive'); + }, [insertedBlockTitle]); + if (hideInserter) { + return null; + } + const descriptionId = `list-view-appender__${instanceId}`; + const description = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: 1: The name of the block. 2: The numerical position of the block. 3: The level of nesting for the block. */ + (0,external_wp_i18n_namespaceObject.__)('Append to %1$s block at position %2$d, Level %3$d'), blockTitle, blockCount + 1, nestingLevel); + return (0,external_React_.createElement)("div", { + className: "list-view-appender" + }, (0,external_React_.createElement)(inserter, { + ref: ref, + rootClientId: clientId, + position: "bottom right", + isAppender: true, + selectBlockOnInsert: false, + shouldDirectInsert: false, + __experimentalIsQuick: true, + ...props, + toggleProps: { + 'aria-describedby': descriptionId + }, + onSelectOrClose: maybeInsertedBlock => { + if (maybeInsertedBlock?.clientId) { + setInsertedBlock(maybeInsertedBlock); + } + } + }), (0,external_React_.createElement)(AriaReferencedText, { + id: descriptionId + }, description)); +}); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/leaf.js + +/** + * External dependencies + */ + + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + +const AnimatedTreeGridRow = animated(external_wp_components_namespaceObject.__experimentalTreeGridRow); +const ListViewLeaf = (0,external_wp_element_namespaceObject.forwardRef)(({ + isDragged, + isSelected, + position, + level, + rowCount, + children, + className, + path, + ...props +}, ref) => { + const animationRef = use_moving_animation({ + clientId: props['data-block'], + enableAnimation: true, + triggerAnimationOnChange: path + }); + const mergedRef = (0,external_wp_compose_namespaceObject.useMergeRefs)([ref, animationRef]); + return (0,external_React_.createElement)(AnimatedTreeGridRow, { + ref: mergedRef, + className: classnames_default()('block-editor-list-view-leaf', className), + level: level, + positionInSet: position, + setSize: rowCount, + isExpanded: undefined, + ...props + }, children); +}); +/* harmony default export */ var leaf = (ListViewLeaf); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-list-view-scroll-into-view.js +/** + * WordPress dependencies + */ + + +function useListViewScrollIntoView({ + isSelected, + selectedClientIds, + rowItemRef +}) { + const isSingleSelection = selectedClientIds.length === 1; + (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { + // Skip scrolling into view if this particular block isn't selected, + // or if more than one block is selected overall. This is to avoid + // scrolling the view in a multi selection where the user has intentionally + // selected multiple blocks within the list view, but the initially + // selected block may be out of view. + if (!isSelected || !isSingleSelection || !rowItemRef.current) { + return; + } + const scrollContainer = (0,external_wp_dom_namespaceObject.getScrollContainer)(rowItemRef.current); + const { + ownerDocument + } = rowItemRef.current; + const windowScroll = scrollContainer === ownerDocument.body || scrollContainer === ownerDocument.documentElement; + + // If the there is no scroll container, of if the scroll container is the window, + // do not scroll into view, as the block is already in view. + if (windowScroll || !scrollContainer) { + return; + } + const rowRect = rowItemRef.current.getBoundingClientRect(); + const scrollContainerRect = scrollContainer.getBoundingClientRect(); + + // If the selected block is not currently visible, scroll to it. + if (rowRect.top < scrollContainerRect.top || rowRect.bottom > scrollContainerRect.bottom) { + rowItemRef.current.scrollIntoView(); + } + }, [isSelected, isSingleSelection, rowItemRef]); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pin-small.js + +/** + * WordPress dependencies + */ + +const pinSmall = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + width: "24", + height: "24", + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + d: "M10.97 10.159a3.382 3.382 0 0 0-2.857.955l1.724 1.723-2.836 2.913L7 17h1.25l2.913-2.837 1.723 1.723a3.38 3.38 0 0 0 .606-.825c.33-.63.446-1.343.35-2.032L17 10.695 13.305 7l-2.334 3.159Z" +})); +/* harmony default export */ var pin_small = (pinSmall); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/lock-small.js + +/** + * WordPress dependencies + */ + +const lockSmall = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M15 11h-.2V9c0-1.5-1.2-2.8-2.8-2.8S9.2 7.5 9.2 9v2H9c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1zm-1.8 0h-2.5V9c0-.7.6-1.2 1.2-1.2s1.2.6 1.2 1.2v2z" +})); +/* harmony default export */ var lock_small = (lockSmall); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/expander.js + +/** + * WordPress dependencies + */ + + +function ListViewExpander({ + onClick +}) { + return ( + // Keyboard events are handled by TreeGrid see: components/src/tree-grid/index.js + // + // The expander component is implemented as a pseudo element in the w3 example + // https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html + // + // We've mimicked this by adding an icon with aria-hidden set to true to hide this from the accessibility tree. + // For the current tree grid implementation, please do not try to make this a button. + // + // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions + (0,external_React_.createElement)("span", { + className: "block-editor-list-view__expander", + onClick: event => onClick(event, { + forceToggle: true + }), + "aria-hidden": "true", + "data-testid": "list-view-expander" + }, (0,external_React_.createElement)(build_module_icon, { + icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? chevron_left_small : chevron_right_small + })) + ); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-list-view-images.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +// Maximum number of images to display in a list view row. +const MAX_IMAGES = 3; +function getImage(block) { + if (block.name !== 'core/image') { + return; + } + if (block.attributes?.url) { + return { + url: block.attributes.url, + alt: block.attributes.alt, + clientId: block.clientId + }; + } +} +function getImagesFromGallery(block) { + if (block.name !== 'core/gallery' || !block.innerBlocks) { + return []; + } + const images = []; + for (const innerBlock of block.innerBlocks) { + const img = getImage(innerBlock); + if (img) { + images.push(img); + } + if (images.length >= MAX_IMAGES) { + return images; + } + } + return images; +} +function getImagesFromBlock(block, isExpanded) { + const img = getImage(block); + if (img) { + return [img]; + } + return isExpanded ? [] : getImagesFromGallery(block); +} + +/** + * Get a block's preview images for display within a list view row. + * + * TODO: Currently only supports images from the core/image and core/gallery + * blocks. This should be expanded to support other blocks that have images, + * potentially via an API that blocks can opt into / provide their own logic. + * + * @param {Object} props Hook properties. + * @param {string} props.clientId The block's clientId. + * @param {boolean} props.isExpanded Whether or not the block is expanded in the list view. + * @return {Array} Images. + */ +function useListViewImages({ + clientId, + isExpanded +}) { + const { + block + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const _block = select(store).getBlock(clientId); + return { + block: _block + }; + }, [clientId]); + const images = (0,external_wp_element_namespaceObject.useMemo)(() => { + return getImagesFromBlock(block, isExpanded); + }, [block, isExpanded]); + return images; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/block-select-button.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + + + +/** + * Internal dependencies + */ + + + + + + + + +function ListViewBlockSelectButton({ + className, + block: { + clientId + }, + onClick, + onContextMenu, + onMouseDown, + onToggleExpanded, + tabIndex, + onFocus, + onDragStart, + onDragEnd, + draggable, + isExpanded, + ariaLabel, + ariaDescribedBy, + updateFocusAndSelection +}, ref) { + const blockInformation = useBlockDisplayInformation(clientId); + const blockTitle = useBlockDisplayTitle({ + clientId, + context: 'list-view' + }); + const { + isLocked + } = useBlockLock(clientId); + const { + canInsertBlockType, + getSelectedBlockClientIds, + getPreviousBlockClientId, + getBlockRootClientId, + getBlockOrder, + getBlocksByClientId, + canRemoveBlocks + } = (0,external_wp_data_namespaceObject.useSelect)(store); + const { + duplicateBlocks, + multiSelect, + removeBlocks + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const isMatch = (0,external_wp_keyboardShortcuts_namespaceObject.__unstableUseShortcutEventMatch)(); + const isSticky = blockInformation?.positionType === 'sticky'; + const images = useListViewImages({ + clientId, + isExpanded + }); + const { + rootClientId + } = useListViewContext(); + const positionLabel = blockInformation?.positionLabel ? (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: 1: Position of selected block, e.g. "Sticky" or "Fixed". + (0,external_wp_i18n_namespaceObject.__)('Position: %1$s'), blockInformation.positionLabel) : ''; + + // The `href` attribute triggers the browser's native HTML drag operations. + // When the link is dragged, the element's outerHTML is set in DataTransfer object as text/html. + // We need to clear any HTML drag data to prevent `pasteHandler` from firing + // inside the `useOnBlockDrop` hook. + const onDragStartHandler = event => { + event.dataTransfer.clearData(); + onDragStart?.(event); + }; + + // Determine which blocks to update: + // If the current (focused) block is part of the block selection, use the whole selection. + // If the focused block is not part of the block selection, only update the focused block. + function getBlocksToUpdate() { + const selectedBlockClientIds = getSelectedBlockClientIds(); + const isUpdatingSelectedBlocks = selectedBlockClientIds.includes(clientId); + const firstBlockClientId = isUpdatingSelectedBlocks ? selectedBlockClientIds[0] : clientId; + const firstBlockRootClientId = getBlockRootClientId(firstBlockClientId); + const blocksToUpdate = isUpdatingSelectedBlocks ? selectedBlockClientIds : [clientId]; + return { + blocksToUpdate, + firstBlockClientId, + firstBlockRootClientId, + selectedBlockClientIds + }; + } + + /** + * @param {KeyboardEvent} event + */ + async function onKeyDownHandler(event) { + if (event.keyCode === external_wp_keycodes_namespaceObject.ENTER || event.keyCode === external_wp_keycodes_namespaceObject.SPACE) { + onClick(event); + } else if (event.keyCode === external_wp_keycodes_namespaceObject.BACKSPACE || event.keyCode === external_wp_keycodes_namespaceObject.DELETE || isMatch('core/block-editor/remove', event)) { + var _getPreviousBlockClie; + const { + blocksToUpdate: blocksToDelete, + firstBlockClientId, + firstBlockRootClientId, + selectedBlockClientIds + } = getBlocksToUpdate(); + + // Don't update the selection if the blocks cannot be deleted. + if (!canRemoveBlocks(blocksToDelete, firstBlockRootClientId)) { + return; + } + let blockToFocus = (_getPreviousBlockClie = getPreviousBlockClientId(firstBlockClientId)) !== null && _getPreviousBlockClie !== void 0 ? _getPreviousBlockClie : + // If the previous block is not found (when the first block is deleted), + // fallback to focus the parent block. + firstBlockRootClientId; + removeBlocks(blocksToDelete, false); + + // Update the selection if the original selection has been removed. + const shouldUpdateSelection = selectedBlockClientIds.length > 0 && getSelectedBlockClientIds().length === 0; + + // If there's no previous block nor parent block, focus the first block. + if (!blockToFocus) { + blockToFocus = getBlockOrder()[0]; + } + updateFocusAndSelection(blockToFocus, shouldUpdateSelection); + } else if (isMatch('core/block-editor/duplicate', event)) { + if (event.defaultPrevented) { + return; + } + event.preventDefault(); + const { + blocksToUpdate, + firstBlockRootClientId + } = getBlocksToUpdate(); + const canDuplicate = getBlocksByClientId(blocksToUpdate).every(block => { + return !!block && (0,external_wp_blocks_namespaceObject.hasBlockSupport)(block.name, 'multiple', true) && canInsertBlockType(block.name, firstBlockRootClientId); + }); + if (canDuplicate) { + const updatedBlocks = await duplicateBlocks(blocksToUpdate, false); + if (updatedBlocks?.length) { + // If blocks have been duplicated, focus the first duplicated block. + updateFocusAndSelection(updatedBlocks[0], false); + } + } + } else if (isMatch('core/block-editor/select-all', event)) { + if (event.defaultPrevented) { + return; + } + event.preventDefault(); + const { + firstBlockRootClientId, + selectedBlockClientIds + } = getBlocksToUpdate(); + const blockClientIds = getBlockOrder(firstBlockRootClientId); + if (!blockClientIds.length) { + return; + } + + // If we have selected all sibling nested blocks, try selecting up a level. + // This is a similar implementation to that used by `useSelectAll`. + // `isShallowEqual` is used for the list view instead of a length check, + // as the array of siblings of the currently focused block may be a different + // set of blocks from the current block selection if the user is focused + // on a different part of the list view from the block selection. + if (external_wp_isShallowEqual_default()(selectedBlockClientIds, blockClientIds)) { + // Only select up a level if the first block is not the root block. + // This ensures that the block selection can't break out of the root block + // used by the list view, if the list view is only showing a partial hierarchy. + if (firstBlockRootClientId && firstBlockRootClientId !== rootClientId) { + updateFocusAndSelection(firstBlockRootClientId, true); + return; + } + } + + // Select all while passing `null` to skip focusing to the editor canvas, + // and retain focus within the list view. + multiSelect(blockClientIds[0], blockClientIds[blockClientIds.length - 1], null); + } + } + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + className: classnames_default()('block-editor-list-view-block-select-button', className), + onClick: onClick, + onContextMenu: onContextMenu, + onKeyDown: onKeyDownHandler, + onMouseDown: onMouseDown, + ref: ref, + tabIndex: tabIndex, + onFocus: onFocus, + onDragStart: onDragStartHandler, + onDragEnd: onDragEnd, + draggable: draggable, + href: `#block-${clientId}`, + "aria-label": ariaLabel, + "aria-describedby": ariaDescribedBy, + "aria-expanded": isExpanded + }, (0,external_React_.createElement)(ListViewExpander, { + onClick: onToggleExpanded + }), (0,external_React_.createElement)(block_icon, { + icon: blockInformation?.icon, + showColors: true, + context: "list-view" + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + alignment: "center", + className: "block-editor-list-view-block-select-button__label-wrapper", + justify: "flex-start", + spacing: 1 + }, (0,external_React_.createElement)("span", { + className: "block-editor-list-view-block-select-button__title" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { + ellipsizeMode: "auto" + }, blockTitle)), blockInformation?.anchor && (0,external_React_.createElement)("span", { + className: "block-editor-list-view-block-select-button__anchor-wrapper" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { + className: "block-editor-list-view-block-select-button__anchor", + ellipsizeMode: "auto" + }, blockInformation.anchor)), positionLabel && isSticky && (0,external_React_.createElement)(external_wp_components_namespaceObject.Tooltip, { + text: positionLabel + }, (0,external_React_.createElement)(build_module_icon, { + icon: pin_small + })), images.length ? (0,external_React_.createElement)("span", { + className: "block-editor-list-view-block-select-button__images", + "aria-hidden": true + }, images.map((image, index) => (0,external_React_.createElement)("span", { + className: "block-editor-list-view-block-select-button__image", + key: image.clientId, + style: { + backgroundImage: `url(${image.url})`, + zIndex: images.length - index // Ensure the first image is on top, and subsequent images are behind. + } + }))) : null, isLocked && (0,external_React_.createElement)("span", { + className: "block-editor-list-view-block-select-button__lock" + }, (0,external_React_.createElement)(build_module_icon, { + icon: lock_small + }))))); +} +/* harmony default export */ var block_select_button = ((0,external_wp_element_namespaceObject.forwardRef)(ListViewBlockSelectButton)); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/block-contents.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +const ListViewBlockContents = (0,external_wp_element_namespaceObject.forwardRef)(({ + onClick, + onToggleExpanded, + block, + isSelected, + position, + siblingBlockCount, + level, + isExpanded, + selectedClientIds, + ...props +}, ref) => { + const { + clientId + } = block; + const { + blockMovingClientId, + selectedBlockInBlockEditor + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + hasBlockMovingClientId, + getSelectedBlockClientId + } = select(store); + return { + blockMovingClientId: hasBlockMovingClientId(), + selectedBlockInBlockEditor: getSelectedBlockClientId() + }; + }, []); + const { + AdditionalBlockContent, + insertedBlock, + setInsertedBlock + } = useListViewContext(); + const isBlockMoveTarget = blockMovingClientId && selectedBlockInBlockEditor === clientId; + const className = classnames_default()('block-editor-list-view-block-contents', { + 'is-dropping-before': isBlockMoveTarget + }); + + // Only include all selected blocks if the currently clicked on block + // is one of the selected blocks. This ensures that if a user attempts + // to drag a block that isn't part of the selection, they're still able + // to drag it and rearrange its position. + const draggableClientIds = selectedClientIds.includes(clientId) ? selectedClientIds : [clientId]; + return (0,external_React_.createElement)(external_React_.Fragment, null, AdditionalBlockContent && (0,external_React_.createElement)(AdditionalBlockContent, { + block: block, + insertedBlock: insertedBlock, + setInsertedBlock: setInsertedBlock + }), (0,external_React_.createElement)(block_draggable, { + appendToOwnerDocument: true, + clientIds: draggableClientIds, + cloneClassname: 'block-editor-list-view-draggable-chip' + }, ({ + draggable, + onDragStart, + onDragEnd + }) => (0,external_React_.createElement)(block_select_button, { + ref: ref, + className: className, + block: block, + onClick: onClick, + onToggleExpanded: onToggleExpanded, + isSelected: isSelected, + position: position, + siblingBlockCount: siblingBlockCount, + level: level, + draggable: draggable, + onDragStart: onDragStart, + onDragEnd: onDragEnd, + isExpanded: isExpanded, + ...props + }))); +}); +/* harmony default export */ var block_contents = (ListViewBlockContents); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/utils.js +/** + * WordPress dependencies + */ + + +const getBlockPositionDescription = (position, siblingCount, level) => (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: 1: The numerical position of the block. 2: The total number of blocks. 3. The level of nesting for the block. */ +(0,external_wp_i18n_namespaceObject.__)('Block %1$d of %2$d, Level %3$d'), position, siblingCount, level); + +/** + * Returns true if the client ID occurs within the block selection or multi-selection, + * or false otherwise. + * + * @param {string} clientId Block client ID. + * @param {string|string[]} selectedBlockClientIds Selected block client ID, or an array of multi-selected blocks client IDs. + * + * @return {boolean} Whether the block is in multi-selection set. + */ +const isClientIdSelected = (clientId, selectedBlockClientIds) => Array.isArray(selectedBlockClientIds) && selectedBlockClientIds.length ? selectedBlockClientIds.indexOf(clientId) !== -1 : selectedBlockClientIds === clientId; + +/** + * From a start and end clientId of potentially different nesting levels, + * return the nearest-depth ids that have a common level of depth in the + * nesting hierarchy. For multiple block selection, this ensure that the + * selection is always at the same nesting level, and not split across + * separate levels. + * + * @param {string} startId The first id of a selection. + * @param {string} endId The end id of a selection, usually one that has been clicked on. + * @param {string[]} startParents An array of ancestor ids for the start id, in descending order. + * @param {string[]} endParents An array of ancestor ids for the end id, in descending order. + * @return {Object} An object containing the start and end ids. + */ +function getCommonDepthClientIds(startId, endId, startParents, endParents) { + const startPath = [...startParents, startId]; + const endPath = [...endParents, endId]; + const depth = Math.min(startPath.length, endPath.length) - 1; + const start = startPath[depth]; + const end = endPath[depth]; + return { + start, + end + }; +} + +/** + * Shift focus to the list view item associated with a particular clientId. + * + * @typedef {import('@wordpress/element').RefObject} RefObject + * + * @param {string} focusClientId The client ID of the block to focus. + * @param {RefObject} treeGridElementRef The container element to search within. + */ +function focusListItem(focusClientId, treeGridElementRef) { + const getFocusElement = () => { + const row = treeGridElementRef.current?.querySelector(`[role=row][data-block="${focusClientId}"]`); + if (!row) return null; + // Focus the first focusable in the row, which is the ListViewBlockSelectButton. + return external_wp_dom_namespaceObject.focus.focusable.find(row)[0]; + }; + let focusElement = getFocusElement(); + if (focusElement) { + focusElement.focus(); + } else { + // The element hasn't been painted yet. Defer focusing on the next frame. + // This could happen when all blocks have been deleted and the default block + // hasn't been added to the editor yet. + window.requestAnimationFrame(() => { + focusElement = getFocusElement(); + + // Ignore if the element still doesn't exist. + if (focusElement) { + focusElement.focus(); + } + }); + } +} + +/** + * Get values for the block that flag whether the block should be displaced up or down, + * whether the block is being nested, and whether the block appears after the dragged + * blocks. These values are used to determine the class names to apply to the block. + * The list view rows are displaced visually via CSS rules. Displacement rules: + * - `normal`: no displacement — used to apply a translateY of `0` so that the block + * appears in its original position, and moves to that position smoothly when dragging + * outside of the list view area. + * - `up`: the block should be displaced up, creating room beneath the block for the drop indicator. + * - `down`: the block should be displaced down, creating room above the block for the drop indicator. + * + * @param {Object} props + * @param {Object} props.blockIndexes The indexes of all the blocks in the list view, keyed by clientId. + * @param {number|null|undefined} props.blockDropTargetIndex The index of the block that the user is dropping to. + * @param {?string} props.blockDropPosition The position relative to the block that the user is dropping to. + * @param {string} props.clientId The client id for the current block. + * @param {?number} props.firstDraggedBlockIndex The index of the first dragged block. + * @param {?boolean} props.isDragged Whether the current block is being dragged. Dragged blocks skip displacement. + * @return {Object} An object containing the `displacement`, `isAfterDraggedBlocks` and `isNesting` values. + */ +function getDragDisplacementValues({ + blockIndexes, + blockDropTargetIndex, + blockDropPosition, + clientId, + firstDraggedBlockIndex, + isDragged +}) { + let displacement; + let isNesting; + let isAfterDraggedBlocks; + if (!isDragged) { + isNesting = false; + const thisBlockIndex = blockIndexes[clientId]; + isAfterDraggedBlocks = thisBlockIndex > firstDraggedBlockIndex; + + // Determine where to displace the position of the current block, relative + // to the blocks being dragged (in their original position) and the drop target + // (the position where a user is currently dragging the blocks to). + if (blockDropTargetIndex !== undefined && blockDropTargetIndex !== null && firstDraggedBlockIndex !== undefined) { + // If the block is being dragged and there is a valid drop target, + // determine if the block being rendered should be displaced up or down. + + if (thisBlockIndex !== undefined) { + if (thisBlockIndex >= firstDraggedBlockIndex && thisBlockIndex < blockDropTargetIndex) { + // If the current block appears after the set of dragged blocks + // (in their original position), but is before the drop target, + // then the current block should be displaced up. + displacement = 'up'; + } else if (thisBlockIndex < firstDraggedBlockIndex && thisBlockIndex >= blockDropTargetIndex) { + // If the current block appears before the set of dragged blocks + // (in their original position), but is after the drop target, + // then the current block should be displaced down. + displacement = 'down'; + } else { + displacement = 'normal'; + } + isNesting = typeof blockDropTargetIndex === 'number' && blockDropTargetIndex - 1 === thisBlockIndex && blockDropPosition === 'inside'; + } + } else if (blockDropTargetIndex === null && firstDraggedBlockIndex !== undefined) { + // A `null` value for `blockDropTargetIndex` indicates that the + // drop target is outside of the valid areas within the list view. + // In this case, the drag is still active, but as there is no + // valid drop target, we should remove the gap indicating where + // the block would be inserted. + if (thisBlockIndex !== undefined && thisBlockIndex >= firstDraggedBlockIndex) { + displacement = 'up'; + } else { + displacement = 'normal'; + } + } else if (blockDropTargetIndex !== undefined && blockDropTargetIndex !== null && firstDraggedBlockIndex === undefined) { + // If the blockdrop target is defined, but there are no dragged blocks, + // then the block should be displaced relative to the drop target. + if (thisBlockIndex !== undefined) { + if (thisBlockIndex < blockDropTargetIndex) { + displacement = 'normal'; + } else { + displacement = 'down'; + } + } + } else if (blockDropTargetIndex === null) { + displacement = 'normal'; + } + } + return { + displacement, + isNesting, + isAfterDraggedBlocks + }; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/block.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + + +/** + * Internal dependencies + */ + + + + + + + + + + +function ListViewBlock({ + block: { + clientId + }, + displacement, + isAfterDraggedBlocks, + isDragged, + isNesting, + isSelected, + isBranchSelected, + selectBlock, + position, + level, + rowCount, + siblingBlockCount, + showBlockMovers, + path, + isExpanded, + selectedClientIds, + isSyncedBranch +}) { + const cellRef = (0,external_wp_element_namespaceObject.useRef)(null); + const rowRef = (0,external_wp_element_namespaceObject.useRef)(null); + const settingsRef = (0,external_wp_element_namespaceObject.useRef)(null); + const [isHovered, setIsHovered] = (0,external_wp_element_namespaceObject.useState)(false); + const [settingsAnchorRect, setSettingsAnchorRect] = (0,external_wp_element_namespaceObject.useState)(); + const { + isLocked, + canEdit, + canMove + } = useBlockLock(clientId); + const isFirstSelectedBlock = isSelected && selectedClientIds[0] === clientId; + const isLastSelectedBlock = isSelected && selectedClientIds[selectedClientIds.length - 1] === clientId; + const { + toggleBlockHighlight + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const blockInformation = useBlockDisplayInformation(clientId); + const blockTitle = blockInformation?.name || blockInformation?.title || (0,external_wp_i18n_namespaceObject.__)('Untitled'); + const { + block, + blockName, + blockEditingMode + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlock, + getBlockName, + getBlockEditingMode + } = select(store); + return { + block: getBlock(clientId), + blockName: getBlockName(clientId), + blockEditingMode: getBlockEditingMode(clientId) + }; + }, [clientId]); + const allowRightClickOverrides = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getSettings().allowRightClickOverrides, []); + const showBlockActions = + // When a block hides its toolbar it also hides the block settings menu, + // since that menu is part of the toolbar in the editor canvas. + // List View respects this by also hiding the block settings menu. + (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, '__experimentalToolbar', true) && + // Don't show the settings menu if block is disabled or content only. + blockEditingMode === 'default'; + const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(ListViewBlock); + const descriptionId = `list-view-block-select-button__${instanceId}`; + const blockPositionDescription = getBlockPositionDescription(position, siblingBlockCount, level); + const blockAriaLabel = isLocked ? (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s: The title of the block. This string indicates a link to select the locked block. + (0,external_wp_i18n_namespaceObject.__)('%s (locked)'), blockTitle) : blockTitle; + const settingsAriaLabel = (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s: The title of the block. + (0,external_wp_i18n_namespaceObject.__)('Options for %s'), blockTitle); + const { + expand, + collapse, + BlockSettingsMenu, + listViewInstanceId, + expandedState, + setInsertedBlock, + treeGridElementRef + } = useListViewContext(); + const hasSiblings = siblingBlockCount > 0; + const hasRenderedMovers = showBlockMovers && hasSiblings; + const moverCellClassName = classnames_default()('block-editor-list-view-block__mover-cell', { + 'is-visible': isHovered || isSelected + }); + const listViewBlockSettingsClassName = classnames_default()('block-editor-list-view-block__menu-cell', { + 'is-visible': isHovered || isFirstSelectedBlock + }); + + // If multiple blocks are selected, deselect all blocks when the user + // presses the escape key. + const onKeyDown = event => { + if (event.keyCode === external_wp_keycodes_namespaceObject.ESCAPE && !event.defaultPrevented && selectedClientIds.length > 0) { + event.stopPropagation(); + event.preventDefault(); + selectBlock(event, undefined); + } + }; + const onMouseEnter = (0,external_wp_element_namespaceObject.useCallback)(() => { + setIsHovered(true); + toggleBlockHighlight(clientId, true); + }, [clientId, setIsHovered, toggleBlockHighlight]); + const onMouseLeave = (0,external_wp_element_namespaceObject.useCallback)(() => { + setIsHovered(false); + toggleBlockHighlight(clientId, false); + }, [clientId, setIsHovered, toggleBlockHighlight]); + const selectEditorBlock = (0,external_wp_element_namespaceObject.useCallback)(event => { + selectBlock(event, clientId); + event.preventDefault(); + }, [clientId, selectBlock]); + const updateFocusAndSelection = (0,external_wp_element_namespaceObject.useCallback)((focusClientId, shouldSelectBlock) => { + if (shouldSelectBlock) { + selectBlock(undefined, focusClientId, null, null); + } + focusListItem(focusClientId, treeGridElementRef); + }, [selectBlock, treeGridElementRef]); + const toggleExpanded = (0,external_wp_element_namespaceObject.useCallback)(event => { + // Prevent shift+click from opening link in a new window when toggling. + event.preventDefault(); + event.stopPropagation(); + if (isExpanded === true) { + collapse(clientId); + } else if (isExpanded === false) { + expand(clientId); + } + }, [clientId, expand, collapse, isExpanded]); + + // Allow right-clicking an item in the List View to open up the block settings dropdown. + const onContextMenu = (0,external_wp_element_namespaceObject.useCallback)(event => { + if (showBlockActions && allowRightClickOverrides) { + settingsRef.current?.click(); + // Ensure the position of the settings dropdown is at the cursor. + setSettingsAnchorRect(new window.DOMRect(event.clientX, event.clientY, 0, 0)); + event.preventDefault(); + } + }, [allowRightClickOverrides, settingsRef, showBlockActions]); + const onMouseDown = (0,external_wp_element_namespaceObject.useCallback)(event => { + // Prevent right-click from focusing the block, + // because focus will be handled when opening the block settings dropdown. + if (allowRightClickOverrides && event.button === 2) { + event.preventDefault(); + } + }, [allowRightClickOverrides]); + const settingsPopoverAnchor = (0,external_wp_element_namespaceObject.useMemo)(() => { + const { + ownerDocument + } = rowRef?.current || {}; + + // If no custom position is set, the settings dropdown will be anchored to the + // DropdownMenu toggle button. + if (!settingsAnchorRect || !ownerDocument) { + return undefined; + } + + // Position the settings dropdown at the cursor when right-clicking a block. + return { + ownerDocument, + getBoundingClientRect() { + return settingsAnchorRect; + } + }; + }, [settingsAnchorRect]); + const clearSettingsAnchorRect = (0,external_wp_element_namespaceObject.useCallback)(() => { + // Clear the custom position for the settings dropdown so that it is restored back + // to being anchored to the DropdownMenu toggle button. + setSettingsAnchorRect(undefined); + }, [setSettingsAnchorRect]); + let colSpan; + if (hasRenderedMovers) { + colSpan = 2; + } else if (!showBlockActions) { + colSpan = 3; + } + const classes = classnames_default()({ + 'is-selected': isSelected, + 'is-first-selected': isFirstSelectedBlock, + 'is-last-selected': isLastSelectedBlock, + 'is-branch-selected': isBranchSelected, + 'is-synced-branch': isSyncedBranch, + 'is-dragging': isDragged, + 'has-single-cell': !showBlockActions, + 'is-synced': blockInformation?.isSynced, + 'is-draggable': canMove, + 'is-displacement-normal': displacement === 'normal', + 'is-displacement-up': displacement === 'up', + 'is-displacement-down': displacement === 'down', + 'is-after-dragged-blocks': isAfterDraggedBlocks, + 'is-nesting': isNesting + }); + + // Only include all selected blocks if the currently clicked on block + // is one of the selected blocks. This ensures that if a user attempts + // to alter a block that isn't part of the selection, they're still able + // to do so. + const dropdownClientIds = selectedClientIds.includes(clientId) ? selectedClientIds : [clientId]; + + // Pass in a ref to the row, so that it can be scrolled + // into view when selected. For long lists, the placeholder for the + // selected block is also observed, within ListViewLeafPlaceholder. + useListViewScrollIntoView({ + isSelected, + rowItemRef: rowRef, + selectedClientIds + }); + + // Detect if there is a block in the canvas currently being edited and multi-selection is not happening. + const currentlyEditingBlockInCanvas = isSelected && selectedClientIds.length === 1; + return (0,external_React_.createElement)(leaf, { + className: classes, + isDragged: isDragged, + onKeyDown: onKeyDown, + onMouseEnter: onMouseEnter, + onMouseLeave: onMouseLeave, + onFocus: onMouseEnter, + onBlur: onMouseLeave, + level: level, + position: position, + rowCount: rowCount, + path: path, + id: `list-view-${listViewInstanceId}-block-${clientId}`, + "data-block": clientId, + "data-expanded": canEdit ? isExpanded : undefined, + ref: rowRef + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridCell, { + className: "block-editor-list-view-block__contents-cell", + colSpan: colSpan, + ref: cellRef, + "aria-selected": !!isSelected + }, ({ + ref, + tabIndex, + onFocus + }) => (0,external_React_.createElement)("div", { + className: "block-editor-list-view-block__contents-container" + }, (0,external_React_.createElement)(block_contents, { + block: block, + onClick: selectEditorBlock, + onContextMenu: onContextMenu, + onMouseDown: onMouseDown, + onToggleExpanded: toggleExpanded, + isSelected: isSelected, + position: position, + siblingBlockCount: siblingBlockCount, + level: level, + ref: ref, + tabIndex: currentlyEditingBlockInCanvas ? 0 : tabIndex, + onFocus: onFocus, + isExpanded: canEdit ? isExpanded : undefined, + selectedClientIds: selectedClientIds, + ariaLabel: blockAriaLabel, + ariaDescribedBy: descriptionId, + updateFocusAndSelection: updateFocusAndSelection + }), (0,external_React_.createElement)(AriaReferencedText, { + id: descriptionId + }, blockPositionDescription))), hasRenderedMovers && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridCell, { + className: moverCellClassName, + withoutGridItem: true + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridItem, null, ({ + ref, + tabIndex, + onFocus + }) => (0,external_React_.createElement)(BlockMoverUpButton, { + orientation: "vertical", + clientIds: [clientId], + ref: ref, + tabIndex: tabIndex, + onFocus: onFocus + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridItem, null, ({ + ref, + tabIndex, + onFocus + }) => (0,external_React_.createElement)(BlockMoverDownButton, { + orientation: "vertical", + clientIds: [clientId], + ref: ref, + tabIndex: tabIndex, + onFocus: onFocus + })))), showBlockActions && BlockSettingsMenu && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridCell, { + className: listViewBlockSettingsClassName, + "aria-selected": !!isSelected, + ref: settingsRef + }, ({ + ref, + tabIndex, + onFocus + }) => (0,external_React_.createElement)(BlockSettingsMenu, { + clientIds: dropdownClientIds, + block: block, + icon: more_vertical, + label: settingsAriaLabel, + popoverProps: { + anchor: settingsPopoverAnchor // Used to position the settings at the cursor on right-click. + }, + + toggleProps: { + ref, + className: 'block-editor-list-view-block__menu', + tabIndex, + onClick: clearSettingsAnchorRect, + onFocus + }, + disableOpenOnArrowDown: true, + expand: expand, + expandedState: expandedState, + setInsertedBlock: setInsertedBlock, + __experimentalSelectBlock: updateFocusAndSelection + }))); +} +/* harmony default export */ var list_view_block = ((0,external_wp_element_namespaceObject.memo)(ListViewBlock)); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/branch.js + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + + + +/** + * Given a block, returns the total number of blocks in that subtree. This is used to help determine + * the list position of a block. + * + * When a block is collapsed, we do not count their children as part of that total. In the current drag + * implementation dragged blocks and their children are not counted. + * + * @param {Object} block block tree + * @param {Object} expandedState state that notes which branches are collapsed + * @param {Array} draggedClientIds a list of dragged client ids + * @param {boolean} isExpandedByDefault flag to determine the default fallback expanded state. + * @return {number} block count + */ +function countBlocks(block, expandedState, draggedClientIds, isExpandedByDefault) { + var _expandedState$block$; + const isDragged = draggedClientIds?.includes(block.clientId); + if (isDragged) { + return 0; + } + const isExpanded = (_expandedState$block$ = expandedState[block.clientId]) !== null && _expandedState$block$ !== void 0 ? _expandedState$block$ : isExpandedByDefault; + if (isExpanded) { + return 1 + block.innerBlocks.reduce(countReducer(expandedState, draggedClientIds, isExpandedByDefault), 0); + } + return 1; +} +const countReducer = (expandedState, draggedClientIds, isExpandedByDefault) => (count, block) => { + var _expandedState$block$2; + const isDragged = draggedClientIds?.includes(block.clientId); + if (isDragged) { + return count; + } + const isExpanded = (_expandedState$block$2 = expandedState[block.clientId]) !== null && _expandedState$block$2 !== void 0 ? _expandedState$block$2 : isExpandedByDefault; + if (isExpanded && block.innerBlocks.length > 0) { + return count + countBlocks(block, expandedState, draggedClientIds, isExpandedByDefault); + } + return count + 1; +}; +const branch_noop = () => {}; +function ListViewBranch(props) { + const { + blocks, + selectBlock = branch_noop, + showBlockMovers, + selectedClientIds, + level = 1, + path = '', + isBranchSelected = false, + listPosition = 0, + fixedListWindow, + isExpanded, + parentId, + shouldShowInnerBlocks = true, + isSyncedBranch = false, + showAppender: showAppenderProp = true + } = props; + const parentBlockInformation = useBlockDisplayInformation(parentId); + const syncedBranch = isSyncedBranch || !!parentBlockInformation?.isSynced; + const canParentExpand = (0,external_wp_data_namespaceObject.useSelect)(select => { + if (!parentId) { + return true; + } + return select(store).canEditBlock(parentId); + }, [parentId]); + const { + blockDropPosition, + blockDropTargetIndex, + firstDraggedBlockIndex, + blockIndexes, + expandedState, + draggedClientIds + } = useListViewContext(); + if (!canParentExpand) { + return null; + } + + // Only show the appender at the first level. + const showAppender = showAppenderProp && level === 1; + const filteredBlocks = blocks.filter(Boolean); + const blockCount = filteredBlocks.length; + // The appender means an extra row in List View, so add 1 to the row count. + const rowCount = showAppender ? blockCount + 1 : blockCount; + let nextPosition = listPosition; + return (0,external_React_.createElement)(external_React_.Fragment, null, filteredBlocks.map((block, index) => { + var _expandedState$client; + const { + clientId, + innerBlocks + } = block; + if (index > 0) { + nextPosition += countBlocks(filteredBlocks[index - 1], expandedState, draggedClientIds, isExpanded); + } + const isDragged = !!draggedClientIds?.includes(clientId); + + // Determine the displacement of the block while dragging. This + // works out whether the current block should be displaced up or + // down, relative to the dragged blocks and the drop target. + const { + displacement, + isAfterDraggedBlocks, + isNesting + } = getDragDisplacementValues({ + blockIndexes, + blockDropTargetIndex, + blockDropPosition, + clientId, + firstDraggedBlockIndex, + isDragged + }); + const { + itemInView + } = fixedListWindow; + const blockInView = itemInView(nextPosition); + const position = index + 1; + const updatedPath = path.length > 0 ? `${path}_${position}` : `${position}`; + const hasNestedBlocks = !!innerBlocks?.length; + const shouldExpand = hasNestedBlocks && shouldShowInnerBlocks ? (_expandedState$client = expandedState[clientId]) !== null && _expandedState$client !== void 0 ? _expandedState$client : isExpanded : undefined; + + // Make updates to the selected or dragged blocks synchronous, + // but asynchronous for any other block. + const isSelected = isClientIdSelected(clientId, selectedClientIds); + const isSelectedBranch = isBranchSelected || isSelected && hasNestedBlocks; + + // To avoid performance issues, we only render blocks that are in view, + // or blocks that are selected or dragged. If a block is selected, + // it is only counted if it is the first of the block selection. + // This prevents the entire tree from being rendered when a branch is + // selected, or a user selects all blocks, while still enabling scroll + // into view behavior when selecting a block or opening the list view. + const showBlock = isDragged || blockInView || isSelected && clientId === selectedClientIds[0]; + return (0,external_React_.createElement)(external_wp_data_namespaceObject.AsyncModeProvider, { + key: clientId, + value: !isSelected + }, showBlock && (0,external_React_.createElement)(list_view_block, { + block: block, + selectBlock: selectBlock, + isSelected: isSelected, + isBranchSelected: isSelectedBranch, + isDragged: isDragged, + level: level, + position: position, + rowCount: rowCount, + siblingBlockCount: blockCount, + showBlockMovers: showBlockMovers, + path: updatedPath, + isExpanded: isDragged ? false : shouldExpand, + listPosition: nextPosition, + selectedClientIds: selectedClientIds, + isSyncedBranch: syncedBranch, + displacement: displacement, + isAfterDraggedBlocks: isAfterDraggedBlocks, + isNesting: isNesting + }), !showBlock && (0,external_React_.createElement)("tr", null, (0,external_React_.createElement)("td", { + className: "block-editor-list-view-placeholder" + })), hasNestedBlocks && shouldExpand && !isDragged && (0,external_React_.createElement)(ListViewBranch, { + parentId: clientId, + blocks: innerBlocks, + selectBlock: selectBlock, + showBlockMovers: showBlockMovers, + level: level + 1, + path: updatedPath, + listPosition: nextPosition + 1, + fixedListWindow: fixedListWindow, + isBranchSelected: isSelectedBranch, + selectedClientIds: selectedClientIds, + isExpanded: isExpanded, + isSyncedBranch: syncedBranch + })); + }), showAppender && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridRow, { + level: level, + setSize: rowCount, + positionInSet: rowCount, + isExpanded: true + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTreeGridCell, null, treeGridCellProps => (0,external_React_.createElement)(Appender, { + clientId: parentId, + nestingLevel: level, + blockCount: blockCount, + ...treeGridCellProps + })))); +} +/* harmony default export */ var branch = ((0,external_wp_element_namespaceObject.memo)(ListViewBranch)); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/drop-indicator.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + +function ListViewDropIndicatorPreview({ + draggedBlockClientId, + listViewRef, + blockDropTarget +}) { + const blockInformation = useBlockDisplayInformation(draggedBlockClientId); + const blockTitle = useBlockDisplayTitle({ + clientId: draggedBlockClientId, + context: 'list-view' + }); + const { + rootClientId, + clientId, + dropPosition + } = blockDropTarget || {}; + const [rootBlockElement, blockElement] = (0,external_wp_element_namespaceObject.useMemo)(() => { + if (!listViewRef.current) { + return []; + } + + // The rootClientId will be defined whenever dropping into inner + // block lists, but is undefined when dropping at the root level. + const _rootBlockElement = rootClientId ? listViewRef.current.querySelector(`[data-block="${rootClientId}"]`) : undefined; + + // The clientId represents the sibling block, the dragged block will + // usually be inserted adjacent to it. It will be undefined when + // dropping a block into an empty block list. + const _blockElement = clientId ? listViewRef.current.querySelector(`[data-block="${clientId}"]`) : undefined; + return [_rootBlockElement, _blockElement]; + }, [listViewRef, rootClientId, clientId]); + + // The targetElement is the element that the drop indicator will appear + // before or after. When dropping into an empty block list, blockElement + // is undefined, so the indicator will appear after the rootBlockElement. + const targetElement = blockElement || rootBlockElement; + const rtl = (0,external_wp_i18n_namespaceObject.isRTL)(); + const getDropIndicatorWidth = (0,external_wp_element_namespaceObject.useCallback)((targetElementRect, indent) => { + if (!targetElement) { + return 0; + } + + // Default to assuming that the width of the drop indicator + // should be the same as the target element. + let width = targetElement.offsetWidth; + + // In deeply nested lists, where a scrollbar is present, + // the width of the drop indicator should be the width of + // the scroll container, minus the distance from the left + // edge of the scroll container to the left edge of the + // target element. + const scrollContainer = (0,external_wp_dom_namespaceObject.getScrollContainer)(targetElement, 'horizontal'); + const ownerDocument = targetElement.ownerDocument; + const windowScroll = scrollContainer === ownerDocument.body || scrollContainer === ownerDocument.documentElement; + if (scrollContainer && !windowScroll) { + const scrollContainerRect = scrollContainer.getBoundingClientRect(); + const distanceBetweenContainerAndTarget = (0,external_wp_i18n_namespaceObject.isRTL)() ? scrollContainerRect.right - targetElementRect.right : targetElementRect.left - scrollContainerRect.left; + const scrollContainerWidth = scrollContainer.clientWidth; + if (scrollContainerWidth < width + distanceBetweenContainerAndTarget) { + width = scrollContainerWidth - distanceBetweenContainerAndTarget; + } + + // LTR logic for ensuring the drop indicator does not extend + // beyond the right edge of the scroll container. + if (!rtl && targetElementRect.left + indent < scrollContainerRect.left) { + width -= scrollContainerRect.left - targetElementRect.left; + return width; + } + + // RTL logic for ensuring the drop indicator does not extend + // beyond the right edge of the scroll container. + if (rtl && targetElementRect.right - indent > scrollContainerRect.right) { + width -= targetElementRect.right - scrollContainerRect.right; + return width; + } + } + + // Subtract the indent from the final width of the indicator. + return width - indent; + }, [rtl, targetElement]); + const style = (0,external_wp_element_namespaceObject.useMemo)(() => { + if (!targetElement) { + return {}; + } + const targetElementRect = targetElement.getBoundingClientRect(); + return { + width: getDropIndicatorWidth(targetElementRect, 0) + }; + }, [getDropIndicatorWidth, targetElement]); + const horizontalScrollOffsetStyle = (0,external_wp_element_namespaceObject.useMemo)(() => { + if (!targetElement) { + return {}; + } + const scrollContainer = (0,external_wp_dom_namespaceObject.getScrollContainer)(targetElement); + const ownerDocument = targetElement.ownerDocument; + const windowScroll = scrollContainer === ownerDocument.body || scrollContainer === ownerDocument.documentElement; + if (scrollContainer && !windowScroll) { + const scrollContainerRect = scrollContainer.getBoundingClientRect(); + const targetElementRect = targetElement.getBoundingClientRect(); + const distanceBetweenContainerAndTarget = rtl ? scrollContainerRect.right - targetElementRect.right : targetElementRect.left - scrollContainerRect.left; + if (!rtl && scrollContainerRect.left > targetElementRect.left) { + return { + transform: `translateX( ${distanceBetweenContainerAndTarget}px )` + }; + } + if (rtl && scrollContainerRect.right < targetElementRect.right) { + return { + transform: `translateX( ${distanceBetweenContainerAndTarget * -1}px )` + }; + } + } + return {}; + }, [rtl, targetElement]); + const ariaLevel = (0,external_wp_element_namespaceObject.useMemo)(() => { + if (!rootBlockElement) { + return 1; + } + const _ariaLevel = parseInt(rootBlockElement.getAttribute('aria-level'), 10); + return _ariaLevel ? _ariaLevel + 1 : 1; + }, [rootBlockElement]); + const hasAdjacentSelectedBranch = (0,external_wp_element_namespaceObject.useMemo)(() => { + if (!targetElement) { + return false; + } + return targetElement.classList.contains('is-branch-selected'); + }, [targetElement]); + const popoverAnchor = (0,external_wp_element_namespaceObject.useMemo)(() => { + const isValidDropPosition = dropPosition === 'top' || dropPosition === 'bottom' || dropPosition === 'inside'; + if (!targetElement || !isValidDropPosition) { + return undefined; + } + return { + contextElement: targetElement, + getBoundingClientRect() { + const rect = targetElement.getBoundingClientRect(); + // In RTL languages, the drop indicator should be positioned + // to the left of the target element, with the width of the + // indicator determining the indent at the right edge of the + // target element. In LTR languages, the drop indicator should + // end at the right edge of the target element, with the indent + // added to the position of the left edge of the target element. + // let left = rtl ? rect.left : rect.left + indent; + let left = rect.left; + let top = 0; + + // In deeply nested lists, where a scrollbar is present, + // the width of the drop indicator should be the width of + // the visible area of the scroll container. Additionally, + // the left edge of the drop indicator line needs to be + // offset by the distance the left edge of the target element + // and the left edge of the scroll container. The ensures + // that the drop indicator position never breaks out of the + // visible area of the scroll container. + const scrollContainer = (0,external_wp_dom_namespaceObject.getScrollContainer)(targetElement, 'horizontal'); + const doc = targetElement.ownerDocument; + const windowScroll = scrollContainer === doc.body || scrollContainer === doc.documentElement; + + // If the scroll container is not the window, offset the left position, if need be. + if (scrollContainer && !windowScroll) { + const scrollContainerRect = scrollContainer.getBoundingClientRect(); + + // In RTL languages, a vertical scrollbar is present on the + // left edge of the scroll container. The width of the + // scrollbar needs to be accounted for when positioning the + // drop indicator. + const scrollbarWidth = rtl ? scrollContainer.offsetWidth - scrollContainer.clientWidth : 0; + if (left < scrollContainerRect.left + scrollbarWidth) { + left = scrollContainerRect.left + scrollbarWidth; + } + } + if (dropPosition === 'top') { + top = rect.top - rect.height * 2; + } else { + // `dropPosition` is either `bottom` or `inside` + top = rect.top; + } + const width = getDropIndicatorWidth(rect, 0); + const height = rect.height; + return new window.DOMRect(left, top, width, height); + } + }; + }, [targetElement, dropPosition, getDropIndicatorWidth, rtl]); + if (!targetElement) { + return null; + } + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover, { + animate: false, + anchor: popoverAnchor, + focusOnMount: false, + className: "block-editor-list-view-drop-indicator--preview", + variant: "unstyled", + flip: false, + resize: true + }, (0,external_React_.createElement)("div", { + style: style, + className: classnames_default()('block-editor-list-view-drop-indicator__line', { + 'block-editor-list-view-drop-indicator__line--darker': hasAdjacentSelectedBranch + }) + }, (0,external_React_.createElement)("div", { + className: "block-editor-list-view-leaf", + "aria-level": ariaLevel + }, (0,external_React_.createElement)("div", { + className: classnames_default()('block-editor-list-view-block-select-button', 'block-editor-list-view-block-contents'), + style: horizontalScrollOffsetStyle + }, (0,external_React_.createElement)(ListViewExpander, { + onClick: () => {} + }), (0,external_React_.createElement)(block_icon, { + icon: blockInformation?.icon, + showColors: true, + context: "list-view" + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + alignment: "center", + className: "block-editor-list-view-block-select-button__label-wrapper", + justify: "flex-start", + spacing: 1 + }, (0,external_React_.createElement)("span", { + className: "block-editor-list-view-block-select-button__title" + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { + ellipsizeMode: "auto" + }, blockTitle)))), (0,external_React_.createElement)("div", { + className: "block-editor-list-view-block__menu-cell" + })))); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-block-selection.js +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + +function useBlockSelection() { + const { + clearSelectedBlock, + multiSelect, + selectBlock + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + const { + getBlockName, + getBlockParents, + getBlockSelectionStart, + getSelectedBlockClientIds, + hasMultiSelection, + hasSelectedBlock + } = (0,external_wp_data_namespaceObject.useSelect)(store); + const { + getBlockType + } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blocks_namespaceObject.store); + const updateBlockSelection = (0,external_wp_element_namespaceObject.useCallback)(async (event, clientId, destinationClientId, focusPosition) => { + if (!event?.shiftKey && event?.keyCode !== external_wp_keycodes_namespaceObject.ESCAPE) { + selectBlock(clientId, focusPosition); + return; + } + + // To handle multiple block selection via the `SHIFT` key, prevent + // the browser default behavior of opening the link in a new window. + event.preventDefault(); + const isOnlyDeselection = event.type === 'keydown' && event.keyCode === external_wp_keycodes_namespaceObject.ESCAPE; + const isKeyPress = event.type === 'keydown' && (event.keyCode === external_wp_keycodes_namespaceObject.UP || event.keyCode === external_wp_keycodes_namespaceObject.DOWN || event.keyCode === external_wp_keycodes_namespaceObject.HOME || event.keyCode === external_wp_keycodes_namespaceObject.END); + + // Handle clicking on a block when no blocks are selected, and return early. + if (!isKeyPress && !hasSelectedBlock() && !hasMultiSelection()) { + selectBlock(clientId, null); + return; + } + const selectedBlocks = getSelectedBlockClientIds(); + const clientIdWithParents = [...getBlockParents(clientId), clientId]; + if (isOnlyDeselection || isKeyPress && !selectedBlocks.some(blockId => clientIdWithParents.includes(blockId))) { + // Ensure that shift-selecting blocks via the keyboard only + // expands the current selection if focusing over already + // selected blocks. Otherwise, clear the selection so that + // a user can create a new selection entirely by keyboard. + await clearSelectedBlock(); + } + + // Update selection, if not only clearing the selection. + if (!isOnlyDeselection) { + let startTarget = getBlockSelectionStart(); + let endTarget = clientId; + + // Handle keyboard behavior for selecting multiple blocks. + if (isKeyPress) { + if (!hasSelectedBlock() && !hasMultiSelection()) { + // Set the starting point of the selection to the currently + // focused block, if there are no blocks currently selected. + // This ensures that as the selection is expanded or contracted, + // the starting point of the selection is anchored to that block. + startTarget = clientId; + } + if (destinationClientId) { + // If the user presses UP or DOWN, we want to ensure that the block they're + // moving to is the target for selection, and not the currently focused one. + endTarget = destinationClientId; + } + } + const startParents = getBlockParents(startTarget); + const endParents = getBlockParents(endTarget); + const { + start, + end + } = getCommonDepthClientIds(startTarget, endTarget, startParents, endParents); + await multiSelect(start, end, null); + } + + // Announce deselected block, or number of deselected blocks if + // the total number of blocks deselected is greater than one. + const updatedSelectedBlocks = getSelectedBlockClientIds(); + + // If the selection is greater than 1 and the Home or End keys + // were used to generate the selection, then skip announcing the + // deselected blocks. + if ((event.keyCode === external_wp_keycodes_namespaceObject.HOME || event.keyCode === external_wp_keycodes_namespaceObject.END) && updatedSelectedBlocks.length > 1) { + return; + } + const selectionDiff = selectedBlocks.filter(blockId => !updatedSelectedBlocks.includes(blockId)); + let label; + if (selectionDiff.length === 1) { + const title = getBlockType(getBlockName(selectionDiff[0]))?.title; + if (title) { + label = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: block name */ + (0,external_wp_i18n_namespaceObject.__)('%s deselected.'), title); + } + } else if (selectionDiff.length > 1) { + label = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: number of deselected blocks */ + (0,external_wp_i18n_namespaceObject.__)('%s blocks deselected.'), selectionDiff.length); + } + if (label) { + (0,external_wp_a11y_namespaceObject.speak)(label, 'assertive'); + } + }, [clearSelectedBlock, getBlockName, getBlockType, getBlockParents, getBlockSelectionStart, getSelectedBlockClientIds, hasMultiSelection, hasSelectedBlock, multiSelect, selectBlock]); + return { + updateBlockSelection + }; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-list-view-block-indexes.js +/** + * WordPress dependencies + */ + +function useListViewBlockIndexes(blocks) { + const blockIndexes = (0,external_wp_element_namespaceObject.useMemo)(() => { + const indexes = {}; + let currentGlobalIndex = 0; + const traverseBlocks = blockList => { + blockList.forEach(block => { + indexes[block.clientId] = currentGlobalIndex; + currentGlobalIndex++; + if (block.innerBlocks.length > 0) { + traverseBlocks(block.innerBlocks); + } + }); + }; + traverseBlocks(blocks); + return indexes; + }, [blocks]); + return blockIndexes; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-list-view-client-ids.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +function useListViewClientIds({ + blocks, + rootClientId +}) { + return (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getDraggedBlockClientIds, + getSelectedBlockClientIds, + getEnabledClientIdsTree + } = unlock(select(store)); + return { + selectedClientIds: getSelectedBlockClientIds(), + draggedClientIds: getDraggedBlockClientIds(), + clientIdsTree: blocks !== null && blocks !== void 0 ? blocks : getEnabledClientIdsTree(rootClientId) + }; + }, [blocks, rootClientId]); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-list-view-drop-zone.js +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + +/** @typedef {import('../../utils/math').WPPoint} WPPoint */ + +/** + * The type of a drag event. + * + * @typedef {'default'|'file'|'html'} WPDragEventType + */ + +/** + * An object representing data for blocks in the DOM used by drag and drop. + * + * @typedef {Object} WPListViewDropZoneBlock + * @property {string} clientId The client id for the block. + * @property {string} rootClientId The root client id for the block. + * @property {number} blockIndex The block's index. + * @property {Element} element The DOM element representing the block. + * @property {number} innerBlockCount The number of inner blocks the block has. + * @property {boolean} isDraggedBlock Whether the block is currently being dragged. + * @property {boolean} isExpanded Whether the block is expanded in the UI. + * @property {boolean} canInsertDraggedBlocksAsSibling Whether the dragged block can be a sibling of this block. + * @property {boolean} canInsertDraggedBlocksAsChild Whether the dragged block can be a child of this block. + */ + +/** + * An array representing data for blocks in the DOM used by drag and drop. + * + * @typedef {WPListViewDropZoneBlock[]} WPListViewDropZoneBlocks + */ + +/** + * An object containing details of a drop target. + * + * @typedef {Object} WPListViewDropZoneTarget + * @property {string} blockIndex The insertion index. + * @property {string} rootClientId The root client id for the block. + * @property {string|undefined} clientId The client id for the block. + * @property {'top'|'bottom'|'inside'} dropPosition The position relative to the block that the user is dropping to. + * 'inside' refers to nesting as an inner block. + */ + +// When the indentation level, the corresponding left margin in `style.scss` +// must be updated as well to ensure the drop zone is aligned with the indentation. +const NESTING_LEVEL_INDENTATION = 28; + +/** + * Determines whether the user is positioning the dragged block to be + * moved up to a parent level. + * + * Determined based on nesting level indentation of the current block. + * + * @param {WPPoint} point The point representing the cursor position when dragging. + * @param {DOMRect} rect The rectangle. + * @param {number} nestingLevel The nesting level of the block. + * @param {boolean} rtl Whether the editor is in RTL mode. + * @return {boolean} Whether the gesture is an upward gesture. + */ +function isUpGesture(point, rect, nestingLevel = 1, rtl = false) { + // If the block is nested, and the user is dragging to the bottom + // left of the block (or bottom right in RTL languages), then it is an upward gesture. + const blockIndentPosition = rtl ? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION : rect.left + nestingLevel * NESTING_LEVEL_INDENTATION; + return rtl ? point.x > blockIndentPosition : point.x < blockIndentPosition; +} + +/** + * Returns how many nesting levels up the user is attempting to drag to. + * + * The relative parent level is calculated based on how far + * the cursor is from the provided nesting level (e.g. of a candidate block + * that the user is hovering over). The nesting level is considered "desired" + * because it is not guaranteed that the user will be able to drag to the desired level. + * + * The returned integer can be used to access an ascending array + * of parent blocks, where the first item is the block the user + * is hovering over, and the last item is the root block. + * + * @param {WPPoint} point The point representing the cursor position when dragging. + * @param {DOMRect} rect The rectangle. + * @param {number} nestingLevel The nesting level of the block. + * @param {boolean} rtl Whether the editor is in RTL mode. + * @return {number} The desired relative parent level. + */ +function getDesiredRelativeParentLevel(point, rect, nestingLevel = 1, rtl = false) { + // In RTL languages, the block indent position is from the right edge of the block. + // In LTR languages, the block indent position is from the left edge of the block. + const blockIndentPosition = rtl ? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION : rect.left + nestingLevel * NESTING_LEVEL_INDENTATION; + const distanceBetweenPointAndBlockIndentPosition = rtl ? blockIndentPosition - point.x : point.x - blockIndentPosition; + const desiredParentLevel = Math.round(distanceBetweenPointAndBlockIndentPosition / NESTING_LEVEL_INDENTATION); + return Math.abs(desiredParentLevel); +} + +/** + * Returns an array of the parent blocks of the block the user is dropping to. + * + * @param {WPListViewDropZoneBlock} candidateBlockData The block the user is dropping to. + * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view. + * @return {WPListViewDropZoneBlocks} An array of block parents, including the block the user is dropping to. + */ +function getCandidateBlockParents(candidateBlockData, blocksData) { + const candidateBlockParents = []; + let currentBlockData = candidateBlockData; + while (currentBlockData) { + candidateBlockParents.push({ + ...currentBlockData + }); + currentBlockData = blocksData.find(blockData => blockData.clientId === currentBlockData.rootClientId); + } + return candidateBlockParents; +} + +/** + * Given a list of blocks data and a block index, return the next non-dragged + * block. This is used to determine the block that the user is dropping to, + * while ignoring the dragged block. + * + * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view. + * @param {number} index The index to begin searching from. + * @return {WPListViewDropZoneBlock | undefined} The next non-dragged block. + */ +function getNextNonDraggedBlock(blocksData, index) { + const nextBlockData = blocksData[index + 1]; + if (nextBlockData && nextBlockData.isDraggedBlock) { + return getNextNonDraggedBlock(blocksData, index + 1); + } + return nextBlockData; +} + +/** + * Determines whether the user positioning the dragged block to nest as an + * inner block. + * + * Determined based on nesting level indentation of the current block, plus + * the indentation of the next level of nesting. The vertical position of the + * cursor must also be within the block. + * + * @param {WPPoint} point The point representing the cursor position when dragging. + * @param {DOMRect} rect The rectangle. + * @param {number} nestingLevel The nesting level of the block. + * @param {boolean} rtl Whether the editor is in RTL mode. + */ +function isNestingGesture(point, rect, nestingLevel = 1, rtl = false) { + const blockIndentPosition = rtl ? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION : rect.left + nestingLevel * NESTING_LEVEL_INDENTATION; + const isNestingHorizontalGesture = rtl ? point.x < blockIndentPosition - NESTING_LEVEL_INDENTATION : point.x > blockIndentPosition + NESTING_LEVEL_INDENTATION; + return isNestingHorizontalGesture && point.y < rect.bottom; +} + +// Block navigation is always a vertical list, so only allow dropping +// to the above or below a block. +const ALLOWED_DROP_EDGES = ['top', 'bottom']; + +/** + * Given blocks data and the cursor position, compute the drop target. + * + * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view. + * @param {WPPoint} position The point representing the cursor position when dragging. + * @param {boolean} rtl Whether the editor is in RTL mode. + * + * @return {WPListViewDropZoneTarget | undefined} An object containing data about the drop target. + */ +function getListViewDropTarget(blocksData, position, rtl = false) { + let candidateEdge; + let candidateBlockData; + let candidateDistance; + let candidateRect; + let candidateBlockIndex; + for (let i = 0; i < blocksData.length; i++) { + const blockData = blocksData[i]; + if (blockData.isDraggedBlock) { + continue; + } + const rect = blockData.element.getBoundingClientRect(); + const [distance, edge] = getDistanceToNearestEdge(position, rect, ALLOWED_DROP_EDGES); + const isCursorWithinBlock = isPointContainedByRect(position, rect); + if (candidateDistance === undefined || distance < candidateDistance || isCursorWithinBlock) { + candidateDistance = distance; + const index = blocksData.indexOf(blockData); + const previousBlockData = blocksData[index - 1]; + + // If dragging near the top of a block and the preceding block + // is at the same level, use the preceding block as the candidate + // instead, as later it makes determining a nesting drop easier. + if (edge === 'top' && previousBlockData && previousBlockData.rootClientId === blockData.rootClientId && !previousBlockData.isDraggedBlock) { + candidateBlockData = previousBlockData; + candidateEdge = 'bottom'; + candidateRect = previousBlockData.element.getBoundingClientRect(); + candidateBlockIndex = index - 1; + } else { + candidateBlockData = blockData; + candidateEdge = edge; + candidateRect = rect; + candidateBlockIndex = index; + } + + // If the mouse position is within the block, break early + // as the user would intend to drop either before or after + // this block. + // + // This solves an issue where some rows in the list view + // tree overlap slightly due to sub-pixel rendering. + if (isCursorWithinBlock) { + break; + } + } + } + if (!candidateBlockData) { + return; + } + const candidateBlockParents = getCandidateBlockParents(candidateBlockData, blocksData); + const isDraggingBelow = candidateEdge === 'bottom'; + + // If the user is dragging towards the bottom of the block check whether + // they might be trying to nest the block as a child. + // If the block already has inner blocks, and is expanded, this should be treated + // as nesting since the next block in the tree will be the first child. + // However, if the block is collapsed, dragging beneath the block should + // still be allowed, as the next visible block in the tree will be a sibling. + if (isDraggingBelow && candidateBlockData.canInsertDraggedBlocksAsChild && (candidateBlockData.innerBlockCount > 0 && candidateBlockData.isExpanded || isNestingGesture(position, candidateRect, candidateBlockParents.length, rtl))) { + // If the block is expanded, insert the block as the first child. + // Otherwise, for collapsed blocks, insert the block as the last child. + const newBlockIndex = candidateBlockData.isExpanded ? 0 : candidateBlockData.innerBlockCount || 0; + return { + rootClientId: candidateBlockData.clientId, + clientId: candidateBlockData.clientId, + blockIndex: newBlockIndex, + dropPosition: 'inside' + }; + } + + // If the user is dragging towards the bottom of the block check whether + // they might be trying to move the block to be at a parent level. + if (isDraggingBelow && candidateBlockData.rootClientId && isUpGesture(position, candidateRect, candidateBlockParents.length, rtl)) { + const nextBlock = getNextNonDraggedBlock(blocksData, candidateBlockIndex); + const currentLevel = candidateBlockData.nestingLevel; + const nextLevel = nextBlock ? nextBlock.nestingLevel : 1; + if (currentLevel && nextLevel) { + // Determine the desired relative level of the block to be dropped. + const desiredRelativeLevel = getDesiredRelativeParentLevel(position, candidateRect, candidateBlockParents.length, rtl); + const targetParentIndex = Math.max(Math.min(desiredRelativeLevel, currentLevel - nextLevel), 0); + if (candidateBlockParents[targetParentIndex]) { + // Default to the block index of the candidate block. + let newBlockIndex = candidateBlockData.blockIndex; + + // If the next block is at the same level, use that as the default + // block index. This ensures that the block is dropped in the correct + // position when dragging to the bottom of a block. + if (candidateBlockParents[targetParentIndex].nestingLevel === nextBlock?.nestingLevel) { + newBlockIndex = nextBlock?.blockIndex; + } else { + // Otherwise, search from the current block index back + // to find the last block index within the same target parent. + for (let i = candidateBlockIndex; i >= 0; i--) { + const blockData = blocksData[i]; + if (blockData.rootClientId === candidateBlockParents[targetParentIndex].rootClientId) { + newBlockIndex = blockData.blockIndex + 1; + break; + } + } + } + return { + rootClientId: candidateBlockParents[targetParentIndex].rootClientId, + clientId: candidateBlockData.clientId, + blockIndex: newBlockIndex, + dropPosition: candidateEdge + }; + } + } + } + + // If dropping as a sibling, but block cannot be inserted in + // this context, return early. + if (!candidateBlockData.canInsertDraggedBlocksAsSibling) { + return; + } + const offset = isDraggingBelow ? 1 : 0; + return { + rootClientId: candidateBlockData.rootClientId, + clientId: candidateBlockData.clientId, + blockIndex: candidateBlockData.blockIndex + offset, + dropPosition: candidateEdge + }; +} + +// Throttle options need to be defined outside of the hook to avoid +// re-creating the object on every render. This is due to a limitation +// of the `useThrottle` hook, where the options object is included +// in the dependency array for memoization. +const EXPAND_THROTTLE_OPTIONS = { + leading: false, + // Don't call the function immediately on the first call. + trailing: true // Do call the function on the last call. +}; + +/** + * A react hook for implementing a drop zone in list view. + * + * @param {Object} props Named parameters. + * @param {?HTMLElement} [props.dropZoneElement] Optional element to be used as the drop zone. + * @param {Object} [props.expandedState] The expanded state of the blocks in the list view. + * @param {Function} [props.setExpandedState] Function to set the expanded state of a list of block clientIds. + * + * @return {WPListViewDropZoneTarget} The drop target. + */ +function useListViewDropZone({ + dropZoneElement, + expandedState, + setExpandedState +}) { + const { + getBlockRootClientId, + getBlockIndex, + getBlockCount, + getDraggedBlockClientIds, + canInsertBlocks + } = (0,external_wp_data_namespaceObject.useSelect)(store); + const [target, setTarget] = (0,external_wp_element_namespaceObject.useState)(); + const { + rootClientId: targetRootClientId, + blockIndex: targetBlockIndex + } = target || {}; + const onBlockDrop = useOnBlockDrop(targetRootClientId, targetBlockIndex); + const rtl = (0,external_wp_i18n_namespaceObject.isRTL)(); + const previousRootClientId = (0,external_wp_compose_namespaceObject.usePrevious)(targetRootClientId); + const maybeExpandBlock = (0,external_wp_element_namespaceObject.useCallback)((_expandedState, _target) => { + // If the user is attempting to drop a block inside a collapsed block, + // that is, using a nesting gesture flagged by 'inside' dropPosition, + // expand the block within the list view, if it isn't already. + const { + rootClientId + } = _target || {}; + if (!rootClientId) { + return; + } + if (_target?.dropPosition === 'inside' && !_expandedState[rootClientId]) { + setExpandedState({ + type: 'expand', + clientIds: [rootClientId] + }); + } + }, [setExpandedState]); + + // Throttle the maybeExpandBlock function to avoid expanding the block + // too quickly when the user is dragging over the block. This is to + // avoid expanding the block when the user is just passing over it. + const throttledMaybeExpandBlock = (0,external_wp_compose_namespaceObject.useThrottle)(maybeExpandBlock, 500, EXPAND_THROTTLE_OPTIONS); + (0,external_wp_element_namespaceObject.useEffect)(() => { + if (target?.dropPosition !== 'inside' || previousRootClientId !== target?.rootClientId) { + throttledMaybeExpandBlock.cancel(); + return; + } + throttledMaybeExpandBlock(expandedState, target); + }, [expandedState, previousRootClientId, target, throttledMaybeExpandBlock]); + const draggedBlockClientIds = getDraggedBlockClientIds(); + const throttled = (0,external_wp_compose_namespaceObject.useThrottle)((0,external_wp_element_namespaceObject.useCallback)((event, currentTarget) => { + const position = { + x: event.clientX, + y: event.clientY + }; + const isBlockDrag = !!draggedBlockClientIds?.length; + const blockElements = Array.from(currentTarget.querySelectorAll('[data-block]')); + const blocksData = blockElements.map(blockElement => { + const clientId = blockElement.dataset.block; + const isExpanded = blockElement.dataset.expanded === 'true'; + const isDraggedBlock = blockElement.classList.contains('is-dragging'); + + // Get nesting level from `aria-level` attribute because Firefox does not support `element.ariaLevel`. + const nestingLevel = parseInt(blockElement.getAttribute('aria-level'), 10); + const rootClientId = getBlockRootClientId(clientId); + return { + clientId, + isExpanded, + rootClientId, + blockIndex: getBlockIndex(clientId), + element: blockElement, + nestingLevel: nestingLevel || undefined, + isDraggedBlock: isBlockDrag ? isDraggedBlock : false, + innerBlockCount: getBlockCount(clientId), + canInsertDraggedBlocksAsSibling: isBlockDrag ? canInsertBlocks(draggedBlockClientIds, rootClientId) : true, + canInsertDraggedBlocksAsChild: isBlockDrag ? canInsertBlocks(draggedBlockClientIds, clientId) : true + }; + }); + const newTarget = getListViewDropTarget(blocksData, position, rtl); + if (newTarget) { + setTarget(newTarget); + } + }, [canInsertBlocks, draggedBlockClientIds, getBlockCount, getBlockIndex, getBlockRootClientId, rtl]), 50); + const ref = (0,external_wp_compose_namespaceObject.__experimentalUseDropZone)({ + dropZoneElement, + onDrop(event) { + if (target) { + onBlockDrop(event); + } + }, + onDragLeave() { + throttled.cancel(); + // Use `null` value to indicate that the drop target is not valid, + // but that the drag is still active. This allows for styling rules + // that are active only when a user drags outside of the list view. + setTarget(null); + }, + onDragOver(event) { + // `currentTarget` is only available while the event is being + // handled, so get it now and pass it to the thottled function. + // https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget + throttled(event, event.currentTarget); + }, + onDragEnd() { + throttled.cancel(); + // Use `undefined` value to indicate that the drag has concluded. + // This allows styling rules that are active only when a user is + // dragging to be removed. + setTarget(undefined); + } + }); + return { + ref, + target + }; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/use-list-view-expand-selected-item.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + +function useListViewExpandSelectedItem({ + firstSelectedBlockClientId, + setExpandedState +}) { + const [selectedTreeId, setSelectedTreeId] = (0,external_wp_element_namespaceObject.useState)(null); + const { + selectedBlockParentClientIds + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getBlockParents + } = select(store); + return { + selectedBlockParentClientIds: getBlockParents(firstSelectedBlockClientId, false) + }; + }, [firstSelectedBlockClientId]); + + // Expand tree when a block is selected. + (0,external_wp_element_namespaceObject.useEffect)(() => { + // If the selectedTreeId is the same as the selected block, + // it means that the block was selected using the block list tree. + if (selectedTreeId === firstSelectedBlockClientId) { + return; + } + + // If the selected block has parents, get the top-level parent. + if (selectedBlockParentClientIds?.length) { + // If the selected block has parents, + // expand the tree branch. + setExpandedState({ + type: 'expand', + clientIds: selectedBlockParentClientIds + }); + } + }, [firstSelectedBlockClientId, selectedBlockParentClientIds, selectedTreeId, setExpandedState]); + return { + setSelectedTreeId + }; +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/index.js + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + + + + + + + + + + const expanded = (state, action) => { if (Array.isArray(action.clientIds)) { return { @@ -49948,6 +58040,7 @@ function ListViewComponent({ blocks, rootClientId }); + const blockIndexes = useListViewBlockIndexes(clientIdsTree); const { getBlock } = (0,external_wp_data_namespaceObject.useSelect)(store); @@ -49974,7 +58067,9 @@ function ListViewComponent({ ref: dropZoneRef, target: blockDropTarget } = useListViewDropZone({ - dropZoneElement + dropZoneElement, + expandedState, + setExpandedState }); const elementRef = (0,external_wp_element_namespaceObject.useRef)(); const treeGridRef = (0,external_wp_compose_namespaceObject.useMergeRefs)([elementRef, dropZoneRef, ref]); @@ -50036,18 +58131,52 @@ function ListViewComponent({ updateBlockSelection(event, startRow?.dataset?.block, endRow?.dataset?.block); } }, [updateBlockSelection]); + const firstDraggedBlockClientId = draggedClientIds?.[0]; + + // Convert a blockDropTarget into indexes relative to the blocks in the list view. + // These values are used to determine which blocks should be displaced to make room + // for the drop indicator. See `ListViewBranch` and `getDragDisplacementValues`. + const { + blockDropTargetIndex, + blockDropPosition, + firstDraggedBlockIndex + } = (0,external_wp_element_namespaceObject.useMemo)(() => { + let _blockDropTargetIndex, _firstDraggedBlockIndex; + if (blockDropTarget?.clientId) { + const foundBlockIndex = blockIndexes[blockDropTarget.clientId]; + // If dragging below or inside the block, treat the drop target as the next block. + _blockDropTargetIndex = foundBlockIndex === undefined || blockDropTarget?.dropPosition === 'top' ? foundBlockIndex : foundBlockIndex + 1; + } else if (blockDropTarget === null) { + // A `null` value is used to indicate that the user is dragging outside of the list view. + _blockDropTargetIndex = null; + } + if (firstDraggedBlockClientId) { + const foundBlockIndex = blockIndexes[firstDraggedBlockClientId]; + _firstDraggedBlockIndex = foundBlockIndex === undefined || blockDropTarget?.dropPosition === 'top' ? foundBlockIndex : foundBlockIndex + 1; + } + return { + blockDropTargetIndex: _blockDropTargetIndex, + blockDropPosition: blockDropTarget?.dropPosition, + firstDraggedBlockIndex: _firstDraggedBlockIndex + }; + }, [blockDropTarget, blockIndexes, firstDraggedBlockClientId]); const contextValue = (0,external_wp_element_namespaceObject.useMemo)(() => ({ + blockDropPosition, + blockDropTargetIndex, + blockIndexes, draggedClientIds, expandedState, expand, + firstDraggedBlockIndex, collapse, BlockSettingsMenu, listViewInstanceId: instanceId, AdditionalBlockContent, insertedBlock, setInsertedBlock, - treeGridElementRef: elementRef - }), [draggedClientIds, expandedState, expand, collapse, BlockSettingsMenu, instanceId, AdditionalBlockContent, insertedBlock, setInsertedBlock]); + treeGridElementRef: elementRef, + rootClientId + }), [blockDropPosition, blockDropTargetIndex, blockIndexes, draggedClientIds, expandedState, expand, firstDraggedBlockIndex, collapse, BlockSettingsMenu, instanceId, AdditionalBlockContent, insertedBlock, setInsertedBlock, rootClientId]); // List View renders a fixed number of items and relies on each having a fixed item height of 36px. // If this value changes, we should also change the itemHeight value set in useFixedWindowList. @@ -50067,26 +58196,33 @@ function ListViewComponent({ if (!clientIdsTree.length && !showAppender) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_data_namespaceObject.AsyncModeProvider, { + const describedById = description && `block-editor-list-view-description-${instanceId}`; + return (0,external_React_.createElement)(external_wp_data_namespaceObject.AsyncModeProvider, { value: true - }, (0,external_wp_element_namespaceObject.createElement)(ListViewDropIndicator, { + }, (0,external_React_.createElement)(ListViewDropIndicatorPreview, { + draggedBlockClientId: firstDraggedBlockClientId, listViewRef: elementRef, blockDropTarget: blockDropTarget - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTreeGrid, { + }), description && (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + id: describedById + }, description), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTreeGrid, { id: id, - className: "block-editor-list-view-tree", + className: classnames_default()('block-editor-list-view-tree', { + 'is-dragging': draggedClientIds?.length > 0 && blockDropTargetIndex !== undefined + }), "aria-label": (0,external_wp_i18n_namespaceObject.__)('Block navigation structure'), ref: treeGridRef, onCollapseRow: collapseRow, onExpandRow: expandRow, onFocusRow: focusRow, - applicationAriaLabel: (0,external_wp_i18n_namespaceObject.__)('Block navigation structure') - // eslint-disable-next-line jsx-a11y/aria-props - , - "aria-description": description - }, (0,external_wp_element_namespaceObject.createElement)(ListViewContext.Provider, { + applicationAriaLabel: (0,external_wp_i18n_namespaceObject.__)('Block navigation structure'), + "aria-describedby": describedById, + style: { + '--wp-admin--list-view-dragged-items-height': draggedClientIds?.length ? `${BLOCK_LIST_ITEM_HEIGHT * (draggedClientIds.length - 1)}px` : null + } + }, (0,external_React_.createElement)(ListViewContext.Provider, { value: contextValue - }, (0,external_wp_element_namespaceObject.createElement)(branch, { + }, (0,external_React_.createElement)(branch, { blocks: clientIdsTree, parentId: rootClientId, selectBlock: selectEditorBlock, @@ -50106,7 +58242,7 @@ const PrivateListView = (0,external_wp_element_namespaceObject.forwardRef)(ListV // This is the public API for the ListView component. // We wrap the PrivateListView component to hide some props from the public API. /* harmony default export */ var components_list_view = ((0,external_wp_element_namespaceObject.forwardRef)((props, ref) => { - return (0,external_wp_element_namespaceObject.createElement)(PrivateListView, { + return (0,external_React_.createElement)(PrivateListView, { ref: ref, ...props, showAppender: false, @@ -50145,7 +58281,7 @@ function BlockNavigationDropdownToggle({ innerRef, ...props }) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { ...props, ref: innerRef, icon: list_view, @@ -50168,7 +58304,7 @@ function BlockNavigationDropdown({ }); const hasBlocks = (0,external_wp_data_namespaceObject.useSelect)(select => !!select(store).getBlockCount(), []); const isEnabled = hasBlocks && !isDisabled; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Dropdown, { contentClassName: "block-editor-block-navigation__popover", popoverProps: { placement: 'bottom-start' @@ -50176,103 +58312,22 @@ function BlockNavigationDropdown({ renderToggle: ({ isOpen, onToggle - }) => (0,external_wp_element_namespaceObject.createElement)(BlockNavigationDropdownToggle, { + }) => (0,external_React_.createElement)(BlockNavigationDropdownToggle, { ...props, innerRef: ref, isOpen: isOpen, onToggle: onToggle, isEnabled: isEnabled }), - renderContent: () => (0,external_wp_element_namespaceObject.createElement)("div", { + renderContent: () => (0,external_React_.createElement)("div", { className: "block-editor-block-navigation__container" - }, (0,external_wp_element_namespaceObject.createElement)("p", { + }, (0,external_React_.createElement)("p", { className: "block-editor-block-navigation__label" - }, (0,external_wp_i18n_namespaceObject.__)('List view')), (0,external_wp_element_namespaceObject.createElement)(components_list_view, null)) + }, (0,external_wp_i18n_namespaceObject.__)('List view')), (0,external_React_.createElement)(components_list_view, null)) }); } /* harmony default export */ var dropdown = ((0,external_wp_element_namespaceObject.forwardRef)(BlockNavigationDropdown)); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/utils.js -/** - * WordPress dependencies - */ - - - -/** - * Returns the active style from the given className. - * - * @param {Array} styles Block styles. - * @param {string} className Class name - * - * @return {Object?} The active style. - */ -function getActiveStyle(styles, className) { - for (const style of new (external_wp_tokenList_default())(className).values()) { - if (style.indexOf('is-style-') === -1) { - continue; - } - const potentialStyleName = style.substring(9); - const activeStyle = styles?.find(({ - name - }) => name === potentialStyleName); - if (activeStyle) { - return activeStyle; - } - } - return getDefaultStyle(styles); -} - -/** - * Replaces the active style in the block's className. - * - * @param {string} className Class name. - * @param {Object?} activeStyle The replaced style. - * @param {Object} newStyle The replacing style. - * - * @return {string} The updated className. - */ -function replaceActiveStyle(className, activeStyle, newStyle) { - const list = new (external_wp_tokenList_default())(className); - if (activeStyle) { - list.remove('is-style-' + activeStyle.name); - } - list.add('is-style-' + newStyle.name); - return list.value; -} - -/** - * Returns a collection of styles that can be represented on the frontend. - * The function checks a style collection for a default style. If none is found, it adds one to - * act as a fallback for when there is no active style applied to a block. The default item also serves - * as a switch on the frontend to deactivate non-default styles. - * - * @param {Array} styles Block styles. - * - * @return {Array} The style collection. - */ -function getRenderedStyles(styles) { - if (!styles || styles.length === 0) { - return []; - } - return getDefaultStyle(styles) ? styles : [{ - name: 'default', - label: (0,external_wp_i18n_namespaceObject._x)('Default', 'block style'), - isDefault: true - }, ...styles]; -} - -/** - * Returns a style object from a collection of styles where that style object is the default block style. - * - * @param {Array} styles Block styles. - * - * @return {Object?} The default style object, if found. - */ -function getDefaultStyle(styles) { - return styles?.find(style => style.isDefault); -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/preview-panel.js /** @@ -50306,109 +58361,11 @@ function BlockStylesPreviewPanel({ example }; }, [genericPreviewBlock, styleClassName]); - return (0,external_wp_element_namespaceObject.createElement)(preview_panel, { + return (0,external_React_.createElement)(preview_panel, { item: previewBlocks }); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/use-styles-for-block.js -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -/** - * - * @param {WPBlock} block Block object. - * @param {WPBlockType} type Block type settings. - * @return {WPBlock} A generic block ready for styles preview. - */ -function useGenericPreviewBlock(block, type) { - return (0,external_wp_element_namespaceObject.useMemo)(() => { - const example = type?.example; - const blockName = type?.name; - if (example && blockName) { - return (0,external_wp_blocks_namespaceObject.getBlockFromExample)(blockName, { - attributes: example.attributes, - innerBlocks: example.innerBlocks - }); - } - if (block) { - return (0,external_wp_blocks_namespaceObject.cloneBlock)(block); - } - }, [type?.example ? block?.name : block, type]); -} - -/** - * @typedef useStylesForBlocksArguments - * @property {string} clientId Block client ID. - * @property {() => void} onSwitch Block style switch callback function. - */ - -/** - * - * @param {useStylesForBlocksArguments} useStylesForBlocks arguments. - * @return {Object} Results of the select methods. - */ -function useStylesForBlocks({ - clientId, - onSwitch -}) { - const selector = select => { - const { - getBlock - } = select(store); - const block = getBlock(clientId); - if (!block) { - return {}; - } - const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(block.name); - const { - getBlockStyles - } = select(external_wp_blocks_namespaceObject.store); - return { - block, - blockType, - styles: getBlockStyles(block.name), - className: block.attributes.className || '' - }; - }; - const { - styles, - block, - blockType, - className - } = (0,external_wp_data_namespaceObject.useSelect)(selector, [clientId]); - const { - updateBlockAttributes - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const stylesToRender = getRenderedStyles(styles); - const activeStyle = getActiveStyle(stylesToRender, className); - const genericPreviewBlock = useGenericPreviewBlock(block, blockType); - const onSelect = style => { - const styleClassName = replaceActiveStyle(className, activeStyle, style); - updateBlockAttributes(clientId, { - className: styleClassName - }); - onSwitch(); - }; - return { - onSelect, - stylesToRender, - activeStyle, - genericPreviewBlock, - className - }; -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/index.js /** @@ -50423,7 +58380,6 @@ function useStylesForBlocks({ - /** * Internal dependencies */ @@ -50468,13 +58424,13 @@ function BlockStyles({ debouncedSetHoveredStyle(item); onHoverClassName((_item$name = item?.name) !== null && _item$name !== void 0 ? _item$name : null); }; - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-block-styles" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-block-styles__variants" }, stylesToRender.map(style => { const buttonText = style.label || style.name; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { __next40pxDefaultSize: true, className: classnames_default()('block-editor-block-styles__item', { 'is-active': activeStyle.name === style.name @@ -50488,18 +58444,18 @@ function BlockStyles({ onBlur: () => styleItemHandler(null), onClick: () => onSelectStylePreview(style), "aria-current": activeStyle.name === style.name - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, { numberOfLines: 1, className: "block-editor-block-styles__item-text" }, buttonText)); - })), hoveredStyle && !isMobileViewport && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { + })), hoveredStyle && !isMobileViewport && (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover, { placement: "left-start", - offset: 20, + offset: 34, focusOnMount: false - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-block-styles__preview-panel", onMouseLeave: () => styleItemHandler(null) - }, (0,external_wp_element_namespaceObject.createElement)(BlockStylesPreviewPanel, { + }, (0,external_React_.createElement)(BlockStylesPreviewPanel, { activeStyle: activeStyle, className: previewClassName, genericPreviewBlock: genericPreviewBlock, @@ -50507,13 +58463,6 @@ function BlockStyles({ })))); } /* harmony default export */ var block_styles = (BlockStyles); -BlockStyles.Slot = () => { - external_wp_deprecated_default()('BlockStyles.Slot', { - version: '6.4', - since: '6.2' - }); - return null; -}; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/paragraph.js @@ -50521,10 +58470,10 @@ BlockStyles.Slot = () => { * WordPress dependencies */ -const paragraph = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const paragraph = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m9.99609 14v-.2251l.00391.0001v6.225h1.5v-14.5h2.5v14.5h1.5v-14.5h3v-1.5h-8.50391c-2.76142 0-5 2.23858-5 5 0 2.7614 2.23858 5 5 5z" })); /* harmony default export */ var library_paragraph = (paragraph); @@ -50535,10 +58484,10 @@ const paragraph = (0,external_wp_element_namespaceObject.createElement)(external * WordPress dependencies */ -const headingLevel1 = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const headingLevel1 = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M17.6 7c-.6.9-1.5 1.7-2.6 2v1h2v7h2V7h-1.4zM11 11H7V7H5v10h2v-4h4v4h2V7h-2v4z" })); /* harmony default export */ var heading_level_1 = (headingLevel1); @@ -50549,10 +58498,10 @@ const headingLevel1 = (0,external_wp_element_namespaceObject.createElement)(exte * WordPress dependencies */ -const headingLevel2 = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const headingLevel2 = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M9 11.1H5v-4H3v10h2v-4h4v4h2v-10H9v4zm8 4c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6v1.5h8v-2H17z" })); /* harmony default export */ var heading_level_2 = (headingLevel2); @@ -50563,10 +58512,10 @@ const headingLevel2 = (0,external_wp_element_namespaceObject.createElement)(exte * WordPress dependencies */ -const headingLevel3 = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const headingLevel3 = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.3 1.7c-.4-.4-1-.7-1.6-.8v-.1c.6-.2 1.1-.5 1.5-.9.3-.4.5-.8.5-1.3 0-.4-.1-.8-.3-1.1-.2-.3-.5-.6-.8-.8-.4-.2-.8-.4-1.2-.5-.6-.1-1.1-.2-1.6-.2-.6 0-1.3.1-1.8.3s-1.1.5-1.6.9l1.2 1.4c.4-.2.7-.4 1.1-.6.3-.2.7-.3 1.1-.3.4 0 .8.1 1.1.3.3.2.4.5.4.8 0 .4-.2.7-.6.9-.7.3-1.5.5-2.2.4v1.6c.5 0 1 0 1.5.1.3.1.7.2 1 .3.2.1.4.2.5.4s.1.4.1.6c0 .3-.2.7-.5.8-.4.2-.9.3-1.4.3s-1-.1-1.4-.3c-.4-.2-.8-.4-1.2-.7L13 15.6c.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.6 0 1.1-.1 1.6-.2.4-.1.9-.2 1.3-.5.4-.2.7-.5.9-.9.2-.4.3-.8.3-1.2 0-.6-.3-1.1-.7-1.5z" })); /* harmony default export */ var heading_level_3 = (headingLevel3); @@ -50577,10 +58526,10 @@ const headingLevel3 = (0,external_wp_element_namespaceObject.createElement)(exte * WordPress dependencies */ -const headingLevel4 = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const headingLevel4 = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M20 13V7h-3l-4 6v2h5v2h2v-2h1v-2h-1zm-2 0h-2.8L18 9v4zm-9-2H5V7H3v10h2v-4h4v4h2V7H9v4z" })); /* harmony default export */ var heading_level_4 = (headingLevel4); @@ -50591,10 +58540,10 @@ const headingLevel4 = (0,external_wp_element_namespaceObject.createElement)(exte * WordPress dependencies */ -const headingLevel5 = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const headingLevel5 = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.7 1.2c-.2-.3-.5-.7-.8-.9-.3-.3-.7-.5-1.1-.6-.5-.1-.9-.2-1.4-.2-.2 0-.5.1-.7.1-.2.1-.5.1-.7.2l.1-1.9h4.3V7H14l-.3 5 1 .6.5-.2.4-.1c.1-.1.3-.1.4-.1h.5c.5 0 1 .1 1.4.4.4.2.6.7.6 1.1 0 .4-.2.8-.6 1.1-.4.3-.9.4-1.4.4-.4 0-.9-.1-1.3-.3-.4-.2-.7-.4-1.1-.7 0 0-1.1 1.4-1 1.5.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.5 0 1-.1 1.5-.3s.9-.4 1.3-.7c.4-.3.7-.7.9-1.1s.3-.9.3-1.4-.1-1-.3-1.4z" })); /* harmony default export */ var heading_level_5 = (headingLevel5); @@ -50605,10 +58554,10 @@ const headingLevel5 = (0,external_wp_element_namespaceObject.createElement)(exte * WordPress dependencies */ -const headingLevel6 = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const headingLevel6 = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M20.7 12.4c-.2-.3-.4-.6-.7-.9s-.6-.5-1-.6c-.4-.2-.8-.2-1.2-.2-.5 0-.9.1-1.3.3s-.8.5-1.2.8c0-.5 0-.9.2-1.4l.6-.9c.2-.2.5-.4.8-.5.6-.2 1.3-.2 1.9 0 .3.1.6.3.8.5 0 0 1.3-1.3 1.3-1.4-.4-.3-.9-.6-1.4-.8-.6-.2-1.3-.3-2-.3-.6 0-1.1.1-1.7.4-.5.2-1 .5-1.4.9-.4.4-.8 1-1 1.6-.3.7-.4 1.5-.4 2.3s.1 1.5.3 2.1c.2.6.6 1.1 1 1.5.4.4.9.7 1.4.9 1 .3 2 .3 3 0 .4-.1.8-.3 1.2-.6.3-.3.6-.6.8-1 .2-.5.3-.9.3-1.4s-.1-.9-.3-1.3zm-2 2.1c-.1.2-.3.4-.4.5-.1.1-.3.2-.5.2-.2.1-.4.1-.6.1-.2.1-.5 0-.7-.1-.2 0-.3-.2-.5-.3-.1-.2-.3-.4-.4-.6-.2-.3-.3-.7-.3-1 .3-.3.6-.5 1-.7.3-.1.7-.2 1-.2.4 0 .8.1 1.1.3.3.3.4.7.4 1.1 0 .2 0 .5-.1.7zM9 11H5V7H3v10h2v-4h4v4h2V7H9v4z" })); /* harmony default export */ var heading_level_6 = (headingLevel6); @@ -50621,7 +58570,7 @@ const headingLevel6 = (0,external_wp_element_namespaceObject.createElement)(exte -/** @typedef {import('@wordpress/element').WPComponent} WPComponent */ +/** @typedef {import('react').ComponentType} ComponentType */ /** * HeadingLevelIcon props. @@ -50646,13 +58595,13 @@ const LEVEL_TO_PATH = { * * @param {WPHeadingLevelIconProps} props Component props. * - * @return {?WPComponent} The icon. + * @return {?ComponentType} The icon. */ function HeadingLevelIcon({ level }) { if (LEVEL_TO_PATH[level]) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Icon, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Icon, { icon: LEVEL_TO_PATH[level] }); } @@ -50676,7 +58625,7 @@ const block_heading_level_dropdown_POPOVER_PROPS = { className: 'block-library-heading-level-dropdown' }; -/** @typedef {import('@wordpress/element').WPComponent} WPComponent */ +/** @typedef {import('react').ComponentType} ComponentType */ /** * HeadingLevelDropdown props. @@ -50694,16 +58643,16 @@ const block_heading_level_dropdown_POPOVER_PROPS = { * * @param {WPHeadingLevelDropdownProps} props Component props. * - * @return {WPComponent} The toolbar. + * @return {ComponentType} The toolbar. */ function HeadingLevelDropdown({ options = HEADING_LEVELS, value, onChange }) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarDropdownMenu, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarDropdownMenu, { popoverProps: block_heading_level_dropdown_POPOVER_PROPS, - icon: (0,external_wp_element_namespaceObject.createElement)(HeadingLevelIcon, { + icon: (0,external_React_.createElement)(HeadingLevelIcon, { level: value }), label: (0,external_wp_i18n_namespaceObject.__)('Change level'), @@ -50711,11 +58660,11 @@ function HeadingLevelDropdown({ { const isActive = targetLevel === value; return { - icon: (0,external_wp_element_namespaceObject.createElement)(HeadingLevelIcon, { + icon: (0,external_React_.createElement)(HeadingLevelIcon, { level: targetLevel, isPressed: isActive }), - label: targetLevel === 0 ? (0,external_wp_i18n_namespaceObject.__)('Paragraph') : (0,external_wp_i18n_namespaceObject.sprintf)( + title: targetLevel === 0 ? (0,external_wp_i18n_namespaceObject.__)('Paragraph') : (0,external_wp_i18n_namespaceObject.sprintf)( // translators: %s: heading level e.g: "1", "2", "3" (0,external_wp_i18n_namespaceObject.__)('Heading %d'), targetLevel), isActive, @@ -50735,13 +58684,13 @@ function HeadingLevelDropdown({ * WordPress dependencies */ -const layout = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const layout_layout = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" })); -/* harmony default export */ var library_layout = (layout); +/* harmony default export */ var library_layout = (layout_layout); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-variation-picker/index.js @@ -50767,29 +58716,29 @@ function BlockVariationPicker({ const classes = classnames_default()('block-editor-block-variation-picker', { 'has-many-variations': variations.length > 4 }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Placeholder, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Placeholder, { icon: icon, label: label, instructions: instructions, className: classes - }, (0,external_wp_element_namespaceObject.createElement)("ul", { + }, (0,external_React_.createElement)("ul", { className: "block-editor-block-variation-picker__variations", role: "list", "aria-label": (0,external_wp_i18n_namespaceObject.__)('Block variations') - }, variations.map(variation => (0,external_wp_element_namespaceObject.createElement)("li", { + }, variations.map(variation => (0,external_React_.createElement)("li", { key: variation.name - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "secondary", icon: variation.icon && variation.icon.src ? variation.icon.src : variation.icon, iconSize: 48, onClick: () => onSelect(variation), className: "block-editor-block-variation-picker__variation", label: variation.description || variation.title - }), (0,external_wp_element_namespaceObject.createElement)("span", { + }), (0,external_React_.createElement)("span", { className: "block-editor-block-variation-picker__variation-label" - }, variation.title)))), allowSkip && (0,external_wp_element_namespaceObject.createElement)("div", { + }, variation.title)))), allowSkip && (0,external_React_.createElement)("div", { className: "block-editor-block-variation-picker__skip" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "link", onClick: () => onSelect() }, (0,external_wp_i18n_namespaceObject.__)('Skip')))); @@ -50802,10 +58751,10 @@ function BlockVariationPicker({ * WordPress dependencies */ -const grid_grid = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const grid_grid = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m3 5c0-1.10457.89543-2 2-2h13.5c1.1046 0 2 .89543 2 2v13.5c0 1.1046-.8954 2-2 2h-13.5c-1.10457 0-2-.8954-2-2zm2-.5h6v6.5h-6.5v-6c0-.27614.22386-.5.5-.5zm-.5 8v6c0 .2761.22386.5.5.5h6v-6.5zm8 0v6.5h6c.2761 0 .5-.2239.5-.5v-6zm0-8v6.5h6.5v-6c0-.27614-.2239-.5-.5-.5z", fillRule: "evenodd", clipRule: "evenodd" @@ -50833,9 +58782,9 @@ const VIEWMODES = { const Actions = ({ onBlockPatternSelect -}) => (0,external_wp_element_namespaceObject.createElement)("div", { +}) => (0,external_React_.createElement)("div", { className: "block-editor-block-pattern-setup__actions" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "primary", onClick: onBlockPatternSelect }, (0,external_wp_i18n_namespaceObject.__)('Choose'))); @@ -50844,18 +58793,20 @@ const CarouselNavigation = ({ handleNext, activeSlide, totalSlides -}) => (0,external_wp_element_namespaceObject.createElement)("div", { +}) => (0,external_React_.createElement)("div", { className: "block-editor-block-pattern-setup__navigation" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { icon: chevron_left, label: (0,external_wp_i18n_namespaceObject.__)('Previous pattern'), onClick: handlePrevious, - disabled: activeSlide === 0 -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + disabled: activeSlide === 0, + __experimentalIsFocusable: true +}), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { icon: chevron_right, label: (0,external_wp_i18n_namespaceObject.__)('Next pattern'), onClick: handleNext, - disabled: activeSlide === totalSlides - 1 + disabled: activeSlide === totalSlides - 1, + __experimentalIsFocusable: true })); const SetupToolbar = ({ viewMode, @@ -50867,27 +58818,27 @@ const SetupToolbar = ({ onBlockPatternSelect }) => { const isCarouselView = viewMode === VIEWMODES.carousel; - const displayControls = (0,external_wp_element_namespaceObject.createElement)("div", { + const displayControls = (0,external_React_.createElement)("div", { className: "block-editor-block-pattern-setup__display-controls" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { icon: stretch_full_width, label: (0,external_wp_i18n_namespaceObject.__)('Carousel view'), onClick: () => setViewMode(VIEWMODES.carousel), isPressed: isCarouselView - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { icon: library_grid, label: (0,external_wp_i18n_namespaceObject.__)('Grid view'), onClick: () => setViewMode(VIEWMODES.grid), isPressed: viewMode === VIEWMODES.grid })); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-block-pattern-setup__toolbar" - }, isCarouselView && (0,external_wp_element_namespaceObject.createElement)(CarouselNavigation, { + }, isCarouselView && (0,external_React_.createElement)(CarouselNavigation, { handlePrevious: handlePrevious, handleNext: handleNext, activeSlide: activeSlide, totalSlides: totalSlides - }), displayControls, isCarouselView && (0,external_wp_element_namespaceObject.createElement)(Actions, { + }), displayControls, isCarouselView && (0,external_React_.createElement)(Actions, { onBlockPatternSelect: onBlockPatternSelect })); }; @@ -50939,6 +58890,12 @@ function usePatternsSetup(clientId, blockName, filterPatternsFn) { + +const { + CompositeV2: block_pattern_setup_Composite, + CompositeItemV2: block_pattern_setup_CompositeItem, + useCompositeStoreV2: block_pattern_setup_useCompositeStore +} = unlock(external_wp_components_namespaceObject.privateApis); const SetupContent = ({ viewMode, activeSlide, @@ -50946,41 +58903,40 @@ const SetupContent = ({ onBlockPatternSelect, showTitles }) => { - const composite = (0,external_wp_components_namespaceObject.__unstableUseCompositeState)(); + const compositeStore = block_pattern_setup_useCompositeStore(); const containerClass = 'block-editor-block-pattern-setup__container'; if (viewMode === VIEWMODES.carousel) { const slideClass = new Map([[activeSlide, 'active-slide'], [activeSlide - 1, 'previous-slide'], [activeSlide + 1, 'next-slide']]); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-block-pattern-setup__carousel" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: containerClass - }, (0,external_wp_element_namespaceObject.createElement)("ul", { + }, (0,external_React_.createElement)("div", { className: "carousel-container" - }, patterns.map((pattern, index) => (0,external_wp_element_namespaceObject.createElement)(BlockPatternSlide, { + }, patterns.map((pattern, index) => (0,external_React_.createElement)(BlockPatternSlide, { + active: index === activeSlide, className: slideClass.get(index) || '', key: pattern.name, pattern: pattern }))))); } - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-block-pattern-setup__grid" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableComposite, { - ...composite, + }, (0,external_React_.createElement)(block_pattern_setup_Composite, { + store: compositeStore, role: "listbox", className: containerClass, "aria-label": (0,external_wp_i18n_namespaceObject.__)('Patterns list') - }, patterns.map(pattern => (0,external_wp_element_namespaceObject.createElement)(block_pattern_setup_BlockPattern, { + }, patterns.map(pattern => (0,external_React_.createElement)(block_pattern_setup_BlockPattern, { key: pattern.name, pattern: pattern, onSelect: onBlockPatternSelect, - composite: composite, showTitles: showTitles })))); }; function block_pattern_setup_BlockPattern({ pattern, onSelect, - composite, showTitles }) { const baseClassName = 'block-editor-block-pattern-setup-list'; @@ -50990,26 +58946,28 @@ function block_pattern_setup_BlockPattern({ viewportWidth = 700 } = pattern; const descriptionId = (0,external_wp_compose_namespaceObject.useInstanceId)(block_pattern_setup_BlockPattern, `${baseClassName}__item-description`); - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: `${baseClassName}__list-item`, - "aria-label": pattern.title, - "aria-describedby": pattern.description ? descriptionId : undefined - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableCompositeItem, { + return (0,external_React_.createElement)("div", { + className: `${baseClassName}__list-item` + }, (0,external_React_.createElement)(block_pattern_setup_CompositeItem, { + render: (0,external_React_.createElement)("div", { + "aria-describedby": description ? descriptionId : undefined, + "aria-label": pattern.title, + className: `${baseClassName}__item` + }), + id: `${baseClassName}__pattern__${pattern.name}`, role: "option", - as: "div", - ...composite, - className: `${baseClassName}__item`, onClick: () => onSelect(blocks) - }, (0,external_wp_element_namespaceObject.createElement)(block_preview, { + }, (0,external_React_.createElement)(block_preview, { blocks: blocks, viewportWidth: viewportWidth - }), showTitles && (0,external_wp_element_namespaceObject.createElement)("div", { + }), showTitles && (0,external_React_.createElement)("div", { className: `${baseClassName}__item-title` - }, pattern.title), !!description && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + }, pattern.title), !!description && (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { id: descriptionId }, description))); } function BlockPatternSlide({ + active, className, pattern, minHeight @@ -51020,14 +58978,16 @@ function BlockPatternSlide({ description } = pattern; const descriptionId = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockPatternSlide, 'block-editor-block-pattern-setup-list__item-description'); - return (0,external_wp_element_namespaceObject.createElement)("li", { + return (0,external_React_.createElement)("div", { + "aria-hidden": !active, + role: "img", className: `pattern-slide ${className}`, "aria-label": title, "aria-describedby": description ? descriptionId : undefined - }, (0,external_wp_element_namespaceObject.createElement)(block_preview, { + }, (0,external_React_.createElement)(block_preview, { blocks: blocks, minHeight: minHeight - }), !!description && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + }), !!description && (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { id: descriptionId }, description)); } @@ -51053,24 +59013,24 @@ const BlockPatternSetup = ({ replaceBlock(clientId, clonedBlocks); }; const onPatternSelectCallback = onBlockPatternSelect || onBlockPatternSelectDefault; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)("div", { className: `block-editor-block-pattern-setup view-mode-${viewMode}` - }, (0,external_wp_element_namespaceObject.createElement)(SetupContent, { + }, (0,external_React_.createElement)(SetupContent, { viewMode: viewMode, activeSlide: activeSlide, patterns: patterns, onBlockPatternSelect: onPatternSelectCallback, showTitles: showTitles - }), (0,external_wp_element_namespaceObject.createElement)(setup_toolbar, { + }), (0,external_React_.createElement)(setup_toolbar, { viewMode: viewMode, setViewMode: setViewMode, activeSlide: activeSlide, totalSlides: patterns.length, handleNext: () => { - setActiveSlide(active => active + 1); + setActiveSlide(active => Math.min(active + 1, patterns.length - 1)); }, handlePrevious: () => { - setActiveSlide(active => active - 1); + setActiveSlide(active => Math.max(active - 1, 0)); }, onBlockPatternSelect: () => { onPatternSelectCallback(patterns[activeSlide].blocks); @@ -51102,13 +59062,13 @@ function VariationsButtons({ selectedValue, variations }) { - return (0,external_wp_element_namespaceObject.createElement)("fieldset", { + return (0,external_React_.createElement)("fieldset", { className: className - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { as: "legend" - }, (0,external_wp_i18n_namespaceObject.__)('Transform to variation')), variations.map(variation => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_wp_i18n_namespaceObject.__)('Transform to variation')), variations.map(variation => (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { key: variation.name, - icon: (0,external_wp_element_namespaceObject.createElement)(block_icon, { + icon: (0,external_React_.createElement)(block_icon, { icon: variation.icon, showColors: true }), @@ -51135,7 +59095,7 @@ function VariationsDropdown({ label: title, info: description })); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DropdownMenu, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.DropdownMenu, { className: className, label: (0,external_wp_i18n_namespaceObject.__)('Transform to variation'), text: (0,external_wp_i18n_namespaceObject.__)('Transform to variation'), @@ -51147,14 +59107,37 @@ function VariationsDropdown({ toggleProps: { iconPosition: 'right' } - }, () => (0,external_wp_element_namespaceObject.createElement)("div", { + }, () => (0,external_React_.createElement)("div", { className: `${className}__container` - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItemsChoice, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItemsChoice, { choices: selectOptions, value: selectedValue, onSelect: onSelectVariation })))); } +function VariationsToggleGroupControl({ + className, + onSelectVariation, + selectedValue, + variations +}) { + return (0,external_React_.createElement)("div", { + className: className + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, { + label: (0,external_wp_i18n_namespaceObject.__)('Transform to variation'), + value: selectedValue, + hideLabelFromVision: true, + onChange: onSelectVariation, + __next40pxDefaultSize: true, + __nextHasNoMarginBottom: true + }, variations.map(variation => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOptionIcon, { + key: variation.name, + icon: variation.icon, + value: variation.name, + label: selectedValue === variation.name ? variation.title : (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: Name of the block variation */ + (0,external_wp_i18n_namespaceObject.__)('Transform to %s'), variation.title) + })))); +} function __experimentalBlockVariationTransforms({ blockClientId }) { @@ -51201,12 +59184,16 @@ function __experimentalBlockVariationTransforms({ }) => name === variationName).attributes }); }; - const baseClass = 'block-editor-block-variation-transforms'; // Skip rendering if there are no variations if (!variations?.length) return null; - const Component = hasUniqueIcons ? VariationsButtons : VariationsDropdown; - return (0,external_wp_element_namespaceObject.createElement)(Component, { + const baseClass = 'block-editor-block-variation-transforms'; + + // Show buttons if there are more than 5 variations because the ToggleGroupControl does not wrap + const showButtons = variations.length > 5; + const ButtonComponent = showButtons ? VariationsButtons : VariationsToggleGroupControl; + const Component = hasUniqueIcons ? ButtonComponent : VariationsDropdown; + return (0,external_React_.createElement)(Component, { className: baseClass, onSelectVariation: onSelectVariation, selectedValue: selectedValue, @@ -51228,12 +59215,13 @@ function __experimentalBlockVariationTransforms({ /* harmony default export */ var with_color_context = ((0,external_wp_compose_namespaceObject.createHigherOrderComponent)(WrappedComponent => { return props => { - const colorsFeature = use_setting_useSetting('color.palette'); - const disableCustomColorsFeature = !use_setting_useSetting('color.custom'); - const colors = props.colors === undefined ? colorsFeature : props.colors; - const disableCustomColors = props.disableCustomColors === undefined ? disableCustomColorsFeature : props.disableCustomColors; + const [colorsFeature, enableCustomColors] = use_settings_useSettings('color.palette', 'color.custom'); + const { + colors = colorsFeature, + disableCustomColors = !enableCustomColors + } = props; const hasColorsToChoose = colors && colors.length > 0 || !disableCustomColors; - return (0,external_wp_element_namespaceObject.createElement)(WrappedComponent, { + return (0,external_React_.createElement)(WrappedComponent, { ...props, colors, disableCustomColors, @@ -51265,7 +59253,7 @@ function ColorPaletteControl({ value, ...otherProps }) { - return (0,external_wp_element_namespaceObject.createElement)(control, { + return (0,external_React_.createElement)(control, { ...otherProps, onColorChange: onChange, colorValue: value, @@ -51319,17 +59307,17 @@ function DateFormatPicker({ defaultFormat, onChange }) { - return (0,external_wp_element_namespaceObject.createElement)("fieldset", { + return (0,external_React_.createElement)("fieldset", { className: "block-editor-date-format-picker" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { as: "legend" - }, (0,external_wp_i18n_namespaceObject.__)('Date format')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { + }, (0,external_wp_i18n_namespaceObject.__)('Date format')), (0,external_React_.createElement)(external_wp_components_namespaceObject.ToggleControl, { __nextHasNoMarginBottom: true, label: (0,external_wp_i18n_namespaceObject.__)('Default format'), help: `${(0,external_wp_i18n_namespaceObject.__)('Example:')} ${(0,external_wp_date_namespaceObject.dateI18n)(defaultFormat, EXAMPLE_DATE)}`, checked: !format, onChange: checked => onChange(checked ? null : defaultFormat) - }), format && (0,external_wp_element_namespaceObject.createElement)(NonDefaultControls, { + }), format && (0,external_React_.createElement)(NonDefaultControls, { format: format, onChange: onChange })); @@ -51346,7 +59334,14 @@ function NonDefaultControls({ // 2022) in German (de). The resultant array is de-duplicated as some // languages will use the same format string for short, medium, and long // formats. - const suggestedFormats = [...new Set(['Y-m-d', (0,external_wp_i18n_namespaceObject._x)('n/j/Y', 'short date format'), (0,external_wp_i18n_namespaceObject._x)('n/j/Y g:i A', 'short date format with time'), (0,external_wp_i18n_namespaceObject._x)('M j, Y', 'medium date format'), (0,external_wp_i18n_namespaceObject._x)('M j, Y g:i A', 'medium date format with time'), (0,external_wp_i18n_namespaceObject._x)('F j, Y', 'long date format'), (0,external_wp_i18n_namespaceObject._x)('M j', 'short date format without the year')])]; + const suggestedFormats = [...new Set([/* translators: See https://www.php.net/manual/datetime.format.php */ + 'Y-m-d', /* translators: See https://www.php.net/manual/datetime.format.php */ + (0,external_wp_i18n_namespaceObject._x)('n/j/Y', 'short date format'), /* translators: See https://www.php.net/manual/datetime.format.php */ + (0,external_wp_i18n_namespaceObject._x)('n/j/Y g:i A', 'short date format with time'), /* translators: See https://www.php.net/manual/datetime.format.php */ + (0,external_wp_i18n_namespaceObject._x)('M j, Y', 'medium date format'), /* translators: See https://www.php.net/manual/datetime.format.php */ + (0,external_wp_i18n_namespaceObject._x)('M j, Y g:i A', 'medium date format with time'), /* translators: See https://www.php.net/manual/datetime.format.php */ + (0,external_wp_i18n_namespaceObject._x)('F j, Y', 'long date format'), /* translators: See https://www.php.net/manual/datetime.format.php */ + (0,external_wp_i18n_namespaceObject._x)('M j', 'short date format without the year')])]; const suggestedOptions = suggestedFormats.map((suggestedFormat, index) => ({ key: `suggested-${index}`, name: (0,external_wp_date_namespaceObject.dateI18n)(suggestedFormat, EXAMPLE_DATE), @@ -51359,7 +59354,7 @@ function NonDefaultControls({ __experimentalHint: (0,external_wp_i18n_namespaceObject.__)('Enter your own date format') }; const [isCustom, setIsCustom] = (0,external_wp_element_namespaceObject.useState)(() => !!format && !suggestedFormats.includes(format)); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.CustomSelectControl, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.CustomSelectControl, { __nextUnconstrainedWidth: true, label: (0,external_wp_i18n_namespaceObject.__)('Choose a format'), options: [...suggestedOptions, customOption], @@ -51374,12 +59369,12 @@ function NonDefaultControls({ onChange(selectedItem.format); } } - }), isCustom && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextControl, { + }), isCustom && (0,external_React_.createElement)(external_wp_components_namespaceObject.TextControl, { __nextHasNoMarginBottom: true, label: (0,external_wp_i18n_namespaceObject.__)('Custom format'), hideLabelFromVision: true, help: (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.__)('Enter a date or time format string.'), { - Link: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ExternalLink, { + Link: (0,external_React_.createElement)(external_wp_components_namespaceObject.ExternalLink, { href: (0,external_wp_i18n_namespaceObject.__)('https://wordpress.org/documentation/article/customize-date-and-time-format/') }) }), @@ -51420,7 +59415,7 @@ const WithToolsPanelItem = ({ setting.onGradientChange(); } }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { hasValue: () => { return !!setting.colorValue || !!setting.gradientValue; }, @@ -51439,12 +59434,12 @@ const WithToolsPanelItem = ({ const dropdown_LabeledColorIndicator = ({ colorValue, label -}) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { +}) => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { justify: "flex-start" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ColorIndicator, { +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.ColorIndicator, { className: "block-editor-panel-color-gradient-settings__color-indicator", colorValue: colorValue -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, { +}), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, { className: "block-editor-panel-color-gradient-settings__color-name", title: label }, label)); @@ -51467,9 +59462,9 @@ const renderToggle = settings => ({ }), 'aria-expanded': isOpen }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { ...toggleProps - }, (0,external_wp_element_namespaceObject.createElement)(dropdown_LabeledColorIndicator, { + }, (0,external_React_.createElement)(dropdown_LabeledColorIndicator, { colorValue: colorValue, label: label })); @@ -51500,7 +59495,7 @@ function ColorGradientSettingsDropdown({ shift: true }; } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, settings.map((setting, index) => { + return (0,external_React_.createElement)(external_React_.Fragment, null, settings.map((setting, index) => { var _setting$gradientValu; const controlProps = { clearable: false, @@ -51525,19 +59520,19 @@ function ColorGradientSettingsDropdown({ return setting && // If not in an `ItemGroup` wrap the dropdown in a // `ToolsPanelItem` - (0,external_wp_element_namespaceObject.createElement)(WithToolsPanelItem, { + (0,external_React_.createElement)(WithToolsPanelItem, { key: index, setting: setting, ...props - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Dropdown, { popoverProps: popoverProps, className: "block-editor-tools-panel-color-gradient-settings__dropdown", renderToggle: renderToggle(toggleSettings), - renderContent: () => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalDropdownContentWrapper, { + renderContent: () => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalDropdownContentWrapper, { paddingSize: "none" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-panel-color-gradient-settings__dropdown-content" - }, (0,external_wp_element_namespaceObject.createElement)(control, { + }, (0,external_React_.createElement)(control, { ...controlProps }))) })); @@ -51584,7 +59579,7 @@ const PanelColorGradientSettingsInner = ({ if ((!colors || colors.length === 0) && (!gradients || gradients.length === 0) && disableCustomColors && disableCustomGradients && settings?.every(setting => (!setting.colors || setting.colors.length === 0) && (!setting.gradients || setting.gradients.length === 0) && (setting.disableCustomColors === undefined || setting.disableCustomColors) && (setting.disableCustomGradients === undefined || setting.disableCustomGradients))) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { className: classnames_default()('block-editor-panel-color-gradient-settings', className), label: showTitle ? title : undefined, resetAll: () => { @@ -51606,7 +59601,7 @@ const PanelColorGradientSettingsInner = ({ panelId: panelId, __experimentalFirstVisibleItemClass: "first", __experimentalLastVisibleItemClass: "last" - }, (0,external_wp_element_namespaceObject.createElement)(ColorGradientSettingsDropdown, { + }, (0,external_React_.createElement)(ColorGradientSettingsDropdown, { settings: settings, panelId: panelId, colors, @@ -51615,24 +59610,24 @@ const PanelColorGradientSettingsInner = ({ disableCustomGradients, __experimentalIsRenderedInSidebar, enableAlpha - }), !!children && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, { + }), !!children && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, { marginY: 4 }), " ", children)); }; const PanelColorGradientSettingsSelect = props => { const colorGradientSettings = useMultipleOriginColorsAndGradients(); - return (0,external_wp_element_namespaceObject.createElement)(PanelColorGradientSettingsInner, { + return (0,external_React_.createElement)(PanelColorGradientSettingsInner, { ...colorGradientSettings, ...props }); }; const PanelColorGradientSettings = props => { if (panel_color_gradient_settings_colorsAndGradientKeys.every(key => props.hasOwnProperty(key))) { - return (0,external_wp_element_namespaceObject.createElement)(PanelColorGradientSettingsInner, { + return (0,external_React_.createElement)(PanelColorGradientSettingsInner, { ...props }); } - return (0,external_wp_element_namespaceObject.createElement)(PanelColorGradientSettingsSelect, { + return (0,external_React_.createElement)(PanelColorGradientSettingsSelect, { ...props }); }; @@ -51854,7 +59849,7 @@ function ImageEditingProvider({ ...transformImage, ...saveImage }), [transformImage, saveImage]); - return (0,external_wp_element_namespaceObject.createElement)(ImageEditingContext.Provider, { + return (0,external_React_.createElement)(ImageEditingContext.Provider, { value: providerValue }, children); } @@ -51876,31 +59871,31 @@ PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ -var tslib_es6_extendStatics = function(d, b) { - tslib_es6_extendStatics = Object.setPrototypeOf || +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return tslib_es6_extendStatics(d, b); + return extendStatics(d, b); }; -function tslib_es6_extends(d, b) { - tslib_es6_extendStatics(d, b); +function __extends(d, b) { + extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } -var tslib_es6_assign = function() { - tslib_es6_assign = Object.assign || function __assign(t) { +var __assign = function() { + __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; } - return tslib_es6_assign.apply(this, arguments); + return __assign.apply(this, arguments); } -function tslib_es6_rest(s, e) { +function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; @@ -51912,22 +59907,22 @@ function tslib_es6_rest(s, e) { return t; } -function tslib_es6_decorate(decorators, target, key, desc) { +function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; } -function tslib_es6_param(paramIndex, decorator) { +function __param(paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } } -function tslib_es6_metadata(metadataKey, metadataValue) { +function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } -function tslib_es6_awaiter(thisArg, _arguments, P, generator) { +function __awaiter(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } @@ -51937,7 +59932,7 @@ function tslib_es6_awaiter(thisArg, _arguments, P, generator) { }); } -function tslib_es6_generator(thisArg, body) { +function __generator(thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } @@ -51965,7 +59960,7 @@ function tslib_es6_generator(thisArg, body) { } } -var tslib_es6_createBinding = Object.create ? (function(o, m, k, k2) { +var __createBinding = Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { @@ -51973,11 +59968,11 @@ var tslib_es6_createBinding = Object.create ? (function(o, m, k, k2) { o[k2] = m[k]; }); -function tslib_es6_exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) tslib_es6_createBinding(o, m, p); +function __exportStar(m, o) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); } -function tslib_es6_values(o) { +function __values(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { @@ -51989,7 +59984,7 @@ function tslib_es6_values(o) { throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); } -function tslib_es6_read(o, n) { +function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; @@ -52006,13 +60001,13 @@ function tslib_es6_read(o, n) { return ar; } -function tslib_es6_spread() { +function __spread() { for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(tslib_es6_read(arguments[i])); + ar = ar.concat(__read(arguments[i])); return ar; } -function tslib_es6_spreadArrays() { +function __spreadArrays() { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) @@ -52020,67 +60015,67 @@ function tslib_es6_spreadArrays() { return r; }; -function tslib_es6_await(v) { - return this instanceof tslib_es6_await ? (this.v = v, this) : new tslib_es6_await(v); +function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); } -function tslib_es6_asyncGenerator(thisArg, _arguments, generator) { +function __asyncGenerator(thisArg, _arguments, generator) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var g = generator.apply(thisArg, _arguments || []), i, q = []; return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof tslib_es6_await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } } -function tslib_es6_asyncDelegator(o) { +function __asyncDelegator(o) { var i, p; return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: tslib_es6_await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } } -function tslib_es6_asyncValues(o) { +function __asyncValues(o) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof tslib_es6_values === "function" ? tslib_es6_values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } } -function tslib_es6_makeTemplateObject(cooked, raw) { +function __makeTemplateObject(cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; -var tslib_es6_setModuleDefault = Object.create ? (function(o, v) { +var __setModuleDefault = Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }; -function tslib_es6_importStar(mod) { +function __importStar(mod) { if (mod && mod.__esModule) return mod; var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) tslib_es6_createBinding(result, mod, k); - tslib_es6_setModuleDefault(result, mod); + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); return result; } -function tslib_es6_importDefault(mod) { +function __importDefault(mod) { return (mod && mod.__esModule) ? mod : { default: mod }; } -function tslib_es6_classPrivateFieldGet(receiver, privateMap) { +function __classPrivateFieldGet(receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); } -function tslib_es6_classPrivateFieldSet(receiver, privateMap, value) { +function __classPrivateFieldSet(receiver, privateMap, value) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to set private field on non-instance"); } @@ -52192,7 +60187,7 @@ function computeCroppedArea(crop, mediaSize, cropSize, aspect, zoom, rotation, r width: widthInPixels, height: Math.round(widthInPixels / aspect) }; - var croppedAreaPixels = tslib_es6_assign(tslib_es6_assign({}, sizePixels), { + var croppedAreaPixels = __assign(__assign({}, sizePixels), { x: Math.round(limitAreaFn(mediaNaturalBBoxSize.width - sizePixels.width, croppedAreaPercentages.x * mediaNaturalBBoxSize.width / 100)), y: Math.round(limitAreaFn(mediaNaturalBBoxSize.height - sizePixels.height, croppedAreaPercentages.y * mediaNaturalBBoxSize.height / 100)) }); @@ -52301,7 +60296,7 @@ var css_248z = ".reactEasyCrop_Container {\n position: absolute;\n top: 0;\n var MIN_ZOOM = 1; var MAX_ZOOM = 3; var Cropper = /** @class */function (_super) { - tslib_es6_extends(Cropper, _super); + __extends(Cropper, _super); function Cropper() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.imageRef = external_React_default().createRef(); @@ -52453,7 +60448,7 @@ var Cropper = /** @class */function (_super) { height: mediaRef.offsetHeight }; } - _this.mediaSize = tslib_es6_assign(tslib_es6_assign({}, renderedMediaSize), { + _this.mediaSize = __assign(__assign({}, renderedMediaSize), { naturalWidth: naturalWidth, naturalHeight: naturalHeight }); @@ -52545,7 +60540,7 @@ var Cropper = /** @class */function (_super) { x: x, y: y }; - _this.dragStartCrop = tslib_es6_assign({}, _this.props.crop); + _this.dragStartCrop = __assign({}, _this.props.crop); (_c = (_b = _this.props).onInteractionStart) === null || _c === void 0 ? void 0 : _c.call(_b); }; _this.onDrag = function (_a) { @@ -52830,17 +60825,17 @@ var Cropper = /** @class */function (_super) { "data-testid": "container", style: containerStyle, className: classNames('reactEasyCrop_Container', containerClassName) - }, image ? external_React_default().createElement("img", tslib_es6_assign({ + }, image ? external_React_default().createElement("img", __assign({ alt: "", className: classNames('reactEasyCrop_Image', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', objectFit === 'auto-cover' && (this.mediaSize.naturalWidth > this.mediaSize.naturalHeight ? 'reactEasyCrop_Cover_Horizontal' : 'reactEasyCrop_Cover_Vertical'), mediaClassName) }, mediaProps, { src: image, ref: this.imageRef, - style: tslib_es6_assign(tslib_es6_assign({}, mediaStyle), { + style: __assign(__assign({}, mediaStyle), { transform: transform || "translate(".concat(x, "px, ").concat(y, "px) rotate(").concat(rotation, "deg) scale(").concat(zoom, ")") }), onLoad: this.onMediaLoad - })) : video && external_React_default().createElement("video", tslib_es6_assign({ + })) : video && external_React_default().createElement("video", __assign({ autoPlay: true, loop: true, muted: true, @@ -52848,18 +60843,18 @@ var Cropper = /** @class */function (_super) { }, mediaProps, { ref: this.videoRef, onLoadedMetadata: this.onMediaLoad, - style: tslib_es6_assign(tslib_es6_assign({}, mediaStyle), { + style: __assign(__assign({}, mediaStyle), { transform: transform || "translate(".concat(x, "px, ").concat(y, "px) rotate(").concat(rotation, "deg) scale(").concat(zoom, ")") }), controls: false }), (Array.isArray(video) ? video : [{ src: video }]).map(function (item) { - return external_React_default().createElement("source", tslib_es6_assign({ + return external_React_default().createElement("source", __assign({ key: item.src }, item)); })), this.state.cropSize && external_React_default().createElement("div", { - style: tslib_es6_assign(tslib_es6_assign({}, cropAreaStyle), { + style: __assign(__assign({}, cropAreaStyle), { width: this.state.cropSize.width, height: this.state.cropSize.height }), @@ -52949,7 +60944,7 @@ function ImageCropper({ if (rotation % 180 === 90) { editedHeight = clientWidth * naturalWidth / naturalHeight; } - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: classnames_default()('wp-block-image__crop-area', borderProps?.className, { 'is-applying': isInProgress }), @@ -52958,7 +60953,7 @@ function ImageCropper({ width: width || clientWidth, height: editedHeight } - }, (0,external_wp_element_namespaceObject.createElement)(Cropper, { + }, (0,external_React_.createElement)(Cropper, { image: editedUrl || url, disabled: isInProgress, minZoom: constants_MIN_ZOOM / 100, @@ -52975,7 +60970,7 @@ function ImageCropper({ onZoomChange: newZoom => { setZoom(newZoom * 100); } - }), isInProgress && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null)); + }), isInProgress && (0,external_React_.createElement)(external_wp_components_namespaceObject.Spinner, null)); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/search.js @@ -52984,10 +60979,10 @@ function ImageCropper({ * WordPress dependencies */ -const search = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const search = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z" })); /* harmony default export */ var library_search = (search); @@ -53012,20 +61007,20 @@ function ZoomDropdown() { zoom, setZoom } = useImageEditingContext(); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Dropdown, { contentClassName: "wp-block-image__zoom", popoverProps: constants_POPOVER_PROPS, renderToggle: ({ isOpen, onToggle - }) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + }) => (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { icon: library_search, label: (0,external_wp_i18n_namespaceObject.__)('Zoom'), onClick: onToggle, "aria-expanded": isOpen, disabled: isInProgress }), - renderContent: () => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.RangeControl, { + renderContent: () => (0,external_React_.createElement)(external_wp_components_namespaceObject.RangeControl, { __nextHasNoMarginBottom: true, label: (0,external_wp_i18n_namespaceObject.__)('Zoom'), min: constants_MIN_ZOOM, @@ -53042,10 +61037,10 @@ function ZoomDropdown() { * WordPress dependencies */ -const aspectRatio = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const aspectRatio = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M18.5 5.5h-13c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2v-9c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5h-13c-.3 0-.5-.2-.5-.5v-9c0-.3.2-.5.5-.5h13c.3 0 .5.2.5.5v9zM6.5 12H8v-2h2V8.5H6.5V12zm9.5 2h-2v1.5h3.5V12H16v2z" })); /* harmony default export */ var aspect_ratio = (aspectRatio); @@ -53071,12 +61066,12 @@ function AspectGroup({ onClick, value }) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuGroup, { label: label }, aspectRatios.map(({ title, aspect - }) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { + }) => (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { key: aspect, disabled: isDisabled, onClick: () => { @@ -53096,7 +61091,7 @@ function AspectRatioDropdown({ setAspect, defaultAspect } = useImageEditingContext(); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DropdownMenu, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.DropdownMenu, { icon: aspect_ratio, label: (0,external_wp_i18n_namespaceObject.__)('Aspect Ratio'), popoverProps: constants_POPOVER_PROPS, @@ -53104,7 +61099,7 @@ function AspectRatioDropdown({ className: "wp-block-image__aspect-ratio" }, ({ onClose - }) => (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(AspectGroup, { + }) => (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(AspectGroup, { isDisabled: isInProgress, onClick: newAspect => { setAspect(newAspect); @@ -53120,7 +61115,7 @@ function AspectRatioDropdown({ title: (0,external_wp_i18n_namespaceObject.__)('Square'), aspect: 1 }] - }), (0,external_wp_element_namespaceObject.createElement)(AspectGroup, { + }), (0,external_React_.createElement)(AspectGroup, { label: (0,external_wp_i18n_namespaceObject.__)('Landscape'), isDisabled: isInProgress, onClick: newAspect => { @@ -53129,9 +61124,6 @@ function AspectRatioDropdown({ }, value: aspect, aspectRatios: [{ - title: (0,external_wp_i18n_namespaceObject.__)('16:10'), - aspect: 16 / 10 - }, { title: (0,external_wp_i18n_namespaceObject.__)('16:9'), aspect: 16 / 9 }, { @@ -53141,7 +61133,7 @@ function AspectRatioDropdown({ title: (0,external_wp_i18n_namespaceObject.__)('3:2'), aspect: 3 / 2 }] - }), (0,external_wp_element_namespaceObject.createElement)(AspectGroup, { + }), (0,external_React_.createElement)(AspectGroup, { label: (0,external_wp_i18n_namespaceObject.__)('Portrait'), isDisabled: isInProgress, onClick: newAspect => { @@ -53150,9 +61142,6 @@ function AspectRatioDropdown({ }, value: aspect, aspectRatios: [{ - title: (0,external_wp_i18n_namespaceObject.__)('10:16'), - aspect: 10 / 16 - }, { title: (0,external_wp_i18n_namespaceObject.__)('9:16'), aspect: 9 / 16 }, { @@ -53171,10 +61160,10 @@ function AspectRatioDropdown({ * WordPress dependencies */ -const rotateRight = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const rotateRight = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M15.1 4.8l-3-2.5V4c-4.4 0-8 3.6-8 8 0 3.7 2.5 6.9 6 7.7.3.1.6.1 1 .2l.2-1.5c-.4 0-.7-.1-1.1-.2l-.1.2v-.2c-2.6-.8-4.5-3.3-4.5-6.2 0-3.6 2.9-6.5 6.5-6.5v1.8l3-2.5zM20 11c-.2-1.4-.7-2.7-1.6-3.8l-1.2.8c.7.9 1.1 2 1.3 3.1L20 11zm-1.5 1.8c-.1.5-.2 1.1-.4 1.6s-.5 1-.8 1.5l1.2.9c.4-.5.8-1.1 1-1.8s.5-1.3.5-2l-1.5-.2zm-5.6 5.6l.2 1.5c1.4-.2 2.7-.7 3.8-1.6l-.9-1.1c-.9.7-2 1.1-3.1 1.2z" })); /* harmony default export */ var rotate_right = (rotateRight); @@ -53198,7 +61187,7 @@ function RotationButton() { isInProgress, rotateClockwise } = useImageEditingContext(); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { icon: rotate_right, label: (0,external_wp_i18n_namespaceObject.__)('Rotate'), onClick: rotateClockwise, @@ -53224,10 +61213,10 @@ function FormControls() { apply, cancel } = useImageEditingContext(); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { onClick: apply, disabled: isInProgress - }, (0,external_wp_i18n_namespaceObject.__)('Apply')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + }, (0,external_wp_i18n_namespaceObject.__)('Apply')), (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { onClick: cancel }, (0,external_wp_i18n_namespaceObject.__)('Cancel'))); } @@ -53261,14 +61250,14 @@ function ImageEditor({ onFinishEditing, borderProps }) { - return (0,external_wp_element_namespaceObject.createElement)(ImageEditingProvider, { + return (0,external_React_.createElement)(ImageEditingProvider, { id: id, url: url, naturalWidth: naturalWidth, naturalHeight: naturalHeight, onSaveImage: onSaveImage, onFinishEditing: onFinishEditing - }, (0,external_wp_element_namespaceObject.createElement)(ImageCropper, { + }, (0,external_React_.createElement)(ImageCropper, { borderProps: borderProps, url: url, width: width, @@ -53276,9 +61265,9 @@ function ImageEditor({ clientWidth: clientWidth, naturalHeight: naturalHeight, naturalWidth: naturalWidth - }), (0,external_wp_element_namespaceObject.createElement)(block_controls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_wp_element_namespaceObject.createElement)(ZoomDropdown, null), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarItem, null, toggleProps => (0,external_wp_element_namespaceObject.createElement)(AspectRatioDropdown, { + }), (0,external_React_.createElement)(block_controls, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_React_.createElement)(ZoomDropdown, null), (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarItem, null, toggleProps => (0,external_React_.createElement)(AspectRatioDropdown, { toggleProps: toggleProps - })), (0,external_wp_element_namespaceObject.createElement)(RotationButton, null)), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_wp_element_namespaceObject.createElement)(FormControls, null)))); + })), (0,external_React_.createElement)(RotationButton, null)), (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_React_.createElement)(FormControls, null)))); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-size-control/use-dimension-handler.js @@ -53348,7 +61337,6 @@ function useDimensionHandler(customHeight, customWidth, defaultHeight, defaultWi - /** * Internal dependencies */ @@ -53367,17 +61355,13 @@ function ImageSizeControl({ onChange, onChangeImage = image_size_control_noop }) { - external_wp_deprecated_default()('wp.blockEditor.__experimentalImageSizeControl', { - since: '6.3', - alternative: 'wp.blockEditor.privateApis.DimensionsTool and wp.blockEditor.privateApis.ResolutionTool' - }); const { currentHeight, currentWidth, updateDimension, updateDimensions } = useDimensionHandler(height, width, imageHeight, imageWidth, onChange); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, imageSizeOptions && imageSizeOptions.length > 0 && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SelectControl, { + return (0,external_React_.createElement)(external_React_.Fragment, null, imageSizeOptions && imageSizeOptions.length > 0 && (0,external_React_.createElement)(external_wp_components_namespaceObject.SelectControl, { __nextHasNoMarginBottom: true, label: (0,external_wp_i18n_namespaceObject.__)('Resolution'), value: slug, @@ -53385,40 +61369,40 @@ function ImageSizeControl({ onChange: onChangeImage, help: imageSizeHelp, size: "__unstable-large" - }), isResizable && (0,external_wp_element_namespaceObject.createElement)("div", { + }), isResizable && (0,external_React_.createElement)("div", { className: "block-editor-image-size-control" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { align: "baseline", spacing: "3" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalNumberControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalNumberControl, { className: "block-editor-image-size-control__width", label: (0,external_wp_i18n_namespaceObject.__)('Width'), value: currentWidth, min: 1, onChange: value => updateDimension('width', value), size: "__unstable-large" - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalNumberControl, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalNumberControl, { className: "block-editor-image-size-control__height", label: (0,external_wp_i18n_namespaceObject.__)('Height'), value: currentHeight, min: 1, onChange: value => updateDimension('height', value), size: "__unstable-large" - })), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ButtonGroup, { + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.ButtonGroup, { "aria-label": (0,external_wp_i18n_namespaceObject.__)('Image size presets') }, IMAGE_SIZE_PRESETS.map(scale => { const scaledWidth = Math.round(imageWidth * (scale / 100)); const scaledHeight = Math.round(imageHeight * (scale / 100)); const isCurrent = currentWidth === scaledWidth && currentHeight === scaledHeight; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { key: scale, - isSmall: true, + size: "small", variant: isCurrent ? 'primary' : undefined, isPressed: isCurrent, onClick: () => updateDimensions(scaledHeight, scaledWidth) }, scale, "%"); - })), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - isSmall: true, + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + size: "small", onClick: () => updateDimensions() }, (0,external_wp_i18n_namespaceObject.__)('Reset'))))); } @@ -53442,11 +61426,11 @@ function LinkViewerURL({ }) { const linkClassName = classnames_default()(className, 'block-editor-url-popover__link-viewer-url'); if (!url) { - return (0,external_wp_element_namespaceObject.createElement)("span", { + return (0,external_React_.createElement)("span", { className: linkClassName }); } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ExternalLink, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ExternalLink, { className: linkClassName, href: url }, urlLabel || (0,external_wp_url_namespaceObject.filterURLForDisplay)((0,external_wp_url_namespaceObject.safeDecodeURI)(url))); @@ -53478,15 +61462,15 @@ function LinkViewer({ urlLabel, ...props }) { - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: classnames_default()('block-editor-url-popover__link-viewer', className), ...props - }, (0,external_wp_element_namespaceObject.createElement)(LinkViewerURL, { + }, (0,external_React_.createElement)(LinkViewerURL, { url: url, urlLabel: urlLabel, className: linkClassName - }), onEditLinkClick && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - icon: library_edit, + }), onEditLinkClick && (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + icon: edit, label: (0,external_wp_i18n_namespaceObject.__)('Edit'), onClick: onEditLinkClick })); @@ -53517,15 +61501,15 @@ function LinkEditor({ value, ...props }) { - return (0,external_wp_element_namespaceObject.createElement)("form", { + return (0,external_React_.createElement)("form", { className: classnames_default()('block-editor-url-popover__link-editor', className), ...props - }, (0,external_wp_element_namespaceObject.createElement)(url_input, { + }, (0,external_React_.createElement)(url_input, { __nextHasNoMarginBottom: true, value: value, onChange: onChangeInputValue, autocompleteRef: autocompleteRef - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { icon: keyboard_return, label: (0,external_wp_i18n_namespaceObject.__)('Apply'), type: "submit" @@ -53588,25 +61572,25 @@ function URLPopover({ const toggleSettingsVisibility = () => { setIsSettingsExpanded(!isSettingsExpanded); }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover, { className: "block-editor-url-popover", focusOnMount: focusOnMount, placement: computedPlacement, shift: true, ...popoverProps - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-url-popover__input-container" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-url-popover__row" - }, children, !!renderSettings && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, children, !!renderSettings && (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { className: "block-editor-url-popover__settings-toggle", icon: chevron_down, label: (0,external_wp_i18n_namespaceObject.__)('Link settings'), onClick: toggleSettingsVisibility, "aria-expanded": isSettingsExpanded - })), showSettings && (0,external_wp_element_namespaceObject.createElement)("div", { + })), showSettings && (0,external_React_.createElement)("div", { className: "block-editor-url-popover__row block-editor-url-popover__settings" - }, renderSettings())), additionalControls && !showSettings && (0,external_wp_element_namespaceObject.createElement)("div", { + }, renderSettings())), additionalControls && !showSettings && (0,external_React_.createElement)("div", { className: "block-editor-url-popover__additional-controls" }, additionalControls)); } @@ -53650,20 +61634,20 @@ const InsertFromURLPopover = ({ onSubmit, onClose, popoverAnchor -}) => (0,external_wp_element_namespaceObject.createElement)(url_popover, { +}) => (0,external_React_.createElement)(url_popover, { anchor: popoverAnchor, onClose: onClose -}, (0,external_wp_element_namespaceObject.createElement)("form", { +}, (0,external_React_.createElement)("form", { className: "block-editor-media-placeholder__url-input-form", onSubmit: onSubmit -}, (0,external_wp_element_namespaceObject.createElement)("input", { +}, (0,external_React_.createElement)("input", { className: "block-editor-media-placeholder__url-input-field", type: "text", "aria-label": (0,external_wp_i18n_namespaceObject.__)('URL'), placeholder: (0,external_wp_i18n_namespaceObject.__)('Paste or type URL'), onChange: onChange, value: src -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { +}), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { className: "block-editor-media-placeholder__url-input-submit-button", icon: keyboard_return, label: (0,external_wp_i18n_namespaceObject.__)('Apply'), @@ -53680,15 +61664,15 @@ const URLSelectionUI = ({ // Use internal state instead of a ref to make sure that the component // re-renders when the popover's anchor updates. const [popoverAnchor, setPopoverAnchor] = (0,external_wp_element_namespaceObject.useState)(null); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-media-placeholder__url-input-container", ref: setPopoverAnchor - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { className: "block-editor-media-placeholder__button", onClick: openURLInput, isPressed: isURLInputVisible, variant: "tertiary" - }, (0,external_wp_i18n_namespaceObject.__)('Insert from URL')), isURLInputVisible && (0,external_wp_element_namespaceObject.createElement)(InsertFromURLPopover, { + }, (0,external_wp_i18n_namespaceObject.__)('Insert from URL')), isURLInputVisible && (0,external_React_.createElement)(InsertFromURLPopover, { src: src, onChange: onChangeSrc, onSubmit: onSubmitSrc, @@ -53905,7 +61889,7 @@ function MediaPlaceholder({ const placeholderClassName = classnames_default()('block-editor-media-placeholder', className, { 'is-appender': isAppender }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Placeholder, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Placeholder, { icon: icon, label: title, instructions: instructions, @@ -53921,13 +61905,13 @@ function MediaPlaceholder({ if (disableDropZone) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DropZone, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.DropZone, { onFilesDrop: onFilesUpload, onHTMLDrop: onHTMLDrop }); }; const renderCancelLink = () => { - return onCancel && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + return onCancel && (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { className: "block-editor-media-placeholder__cancel-button", title: (0,external_wp_i18n_namespaceObject.__)('Cancel'), variant: "link", @@ -53935,7 +61919,7 @@ function MediaPlaceholder({ }, (0,external_wp_i18n_namespaceObject.__)('Cancel')); }; const renderUrlSelectionUI = () => { - return onSelectURL && (0,external_wp_element_namespaceObject.createElement)(URLSelectionUI, { + return onSelectURL && (0,external_React_.createElement)(URLSelectionUI, { isURLInputVisible: isURLInputVisible, src: src, onChangeSrc: onChangeSrc, @@ -53945,9 +61929,9 @@ function MediaPlaceholder({ }); }; const renderFeaturedImageToggle = () => { - return onToggleFeaturedImage && (0,external_wp_element_namespaceObject.createElement)("div", { + return onToggleFeaturedImage && (0,external_React_.createElement)("div", { className: "block-editor-media-placeholder__url-input-container" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { className: "block-editor-media-placeholder__button", onClick: onToggleFeaturedImage, variant: "tertiary" @@ -53957,7 +61941,7 @@ function MediaPlaceholder({ const defaultButton = ({ open }) => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "tertiary", onClick: () => { open(); @@ -53965,7 +61949,7 @@ function MediaPlaceholder({ }, (0,external_wp_i18n_namespaceObject.__)('Media Library')); }; const libraryButton = mediaLibraryButton !== null && mediaLibraryButton !== void 0 ? mediaLibraryButton : defaultButton; - const uploadMediaLibraryButton = (0,external_wp_element_namespaceObject.createElement)(media_upload, { + const uploadMediaLibraryButton = (0,external_React_.createElement)(media_upload, { addToGallery: addToGallery, gallery: multiple && onlyAllowsImages(), multiple: multiple, @@ -53978,14 +61962,14 @@ function MediaPlaceholder({ render: libraryButton }); if (mediaUpload && isAppender) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, renderDropZone(), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FormFileUpload, { + return (0,external_React_.createElement)(external_React_.Fragment, null, renderDropZone(), (0,external_React_.createElement)(external_wp_components_namespaceObject.FormFileUpload, { onChange: onUpload, accept: accept, multiple: !!multiple, render: ({ openFileDialog }) => { - const content = (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + const content = (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "primary", className: classnames_default()('block-editor-media-placeholder__button', 'block-editor-media-placeholder__upload-button'), onClick: openFileDialog @@ -53995,7 +61979,7 @@ function MediaPlaceholder({ })); } if (mediaUpload) { - const content = (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, renderDropZone(), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FormFileUpload, { + const content = (0,external_React_.createElement)(external_React_.Fragment, null, renderDropZone(), (0,external_React_.createElement)(external_wp_components_namespaceObject.FormFileUpload, { variant: "primary", className: classnames_default()('block-editor-media-placeholder__button', 'block-editor-media-placeholder__upload-button'), onChange: onUpload, @@ -54007,9 +61991,9 @@ function MediaPlaceholder({ return renderPlaceholder(uploadMediaLibraryButton); }; if (disableMediaButtons) { - return (0,external_wp_element_namespaceObject.createElement)(check, null, renderDropZone()); + return (0,external_React_.createElement)(check, null, renderDropZone()); } - return (0,external_wp_element_namespaceObject.createElement)(check, { + return (0,external_React_.createElement)(check, { fallback: renderPlaceholder(renderUrlSelectionUI()) }, renderMediaUploadChecked()); } @@ -54044,7 +62028,7 @@ const PanelColorSettings = ({ onColorChange: onChange }; }); - return (0,external_wp_element_namespaceObject.createElement)(panel_color_gradient_settings, { + return (0,external_React_.createElement)(panel_color_gradient_settings, { settings: settings, gradients: [], disableCustomGradients: true, @@ -54075,10 +62059,10 @@ const format_toolbar_POPOVER_PROPS = { placement: 'bottom-start' }; const FormatToolbar = () => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, ['bold', 'italic', 'link', 'unknown'].map(format => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Slot, { + return (0,external_React_.createElement)(external_React_.Fragment, null, ['bold', 'italic', 'link', 'unknown'].map(format => (0,external_React_.createElement)(external_wp_components_namespaceObject.Slot, { name: `RichText.ToolbarControls.${format}`, key: format - })), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Slot, { + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.Slot, { name: "RichText.ToolbarControls" }, fills => { if (!fills.length) { @@ -54090,7 +62074,7 @@ const FormatToolbar = () => { const hasActive = allProps.some(({ isActive }) => isActive); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarItem, null, toggleProps => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DropdownMenu, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarItem, null, toggleProps => (0,external_React_.createElement)(external_wp_components_namespaceObject.DropdownMenu, { icon: chevron_down /* translators: button label text should, if possible, be under 16 characters. */, label: (0,external_wp_i18n_namespaceObject.__)('More'), @@ -54110,161 +62094,6 @@ const FormatToolbar = () => { }; /* harmony default export */ var format_toolbar = (FormatToolbar); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/navigable-toolbar/index.js - -/** - * WordPress dependencies - */ - - - - - -function hasOnlyToolbarItem(elements) { - const dataProp = 'toolbarItem'; - return !elements.some(element => !(dataProp in element.dataset)); -} -function getAllToolbarItemsIn(container) { - return Array.from(container.querySelectorAll('[data-toolbar-item]')); -} -function hasFocusWithin(container) { - return container.contains(container.ownerDocument.activeElement); -} -function focusFirstTabbableIn(container) { - const [firstTabbable] = external_wp_dom_namespaceObject.focus.tabbable.find(container); - if (firstTabbable) { - firstTabbable.focus({ - // When focusing newly mounted toolbars, - // the position of the popover is often not right on the first render - // This prevents the layout shifts when focusing the dialogs. - preventScroll: true - }); - } -} -function useIsAccessibleToolbar(ref) { - /* - * By default, we'll assume the starting accessible state of the Toolbar - * is true, as it seems to be the most common case. - * - * Transitioning from an (initial) false to true state causes the - * component to mount twice, which is causing undesired - * side-effects. These side-effects appear to only affect certain - * E2E tests. - * - * This was initial discovered in this pull-request: - * https://github.com/WordPress/gutenberg/pull/23425 - */ - const initialAccessibleToolbarState = true; - - // By default, it's gonna render NavigableMenu. If all the tabbable elements - // inside the toolbar are ToolbarItem components (or derived components like - // ToolbarButton), then we can wrap them with the accessible Toolbar - // component. - const [isAccessibleToolbar, setIsAccessibleToolbar] = (0,external_wp_element_namespaceObject.useState)(initialAccessibleToolbarState); - const determineIsAccessibleToolbar = (0,external_wp_element_namespaceObject.useCallback)(() => { - const tabbables = external_wp_dom_namespaceObject.focus.tabbable.find(ref.current); - const onlyToolbarItem = hasOnlyToolbarItem(tabbables); - if (!onlyToolbarItem) { - external_wp_deprecated_default()('Using custom components as toolbar controls', { - since: '5.6', - alternative: 'ToolbarItem, ToolbarButton or ToolbarDropdownMenu components', - link: 'https://developer.wordpress.org/block-editor/components/toolbar-button/#inside-blockcontrols' - }); - } - setIsAccessibleToolbar(onlyToolbarItem); - }, []); - (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { - // Toolbar buttons may be rendered asynchronously, so we use - // MutationObserver to check if the toolbar subtree has been modified. - const observer = new window.MutationObserver(determineIsAccessibleToolbar); - observer.observe(ref.current, { - childList: true, - subtree: true - }); - return () => observer.disconnect(); - }, [isAccessibleToolbar]); - return isAccessibleToolbar; -} -function useToolbarFocus(ref, focusOnMount, isAccessibleToolbar, defaultIndex, onIndexChange, shouldUseKeyboardFocusShortcut) { - // Make sure we don't use modified versions of this prop. - const [initialFocusOnMount] = (0,external_wp_element_namespaceObject.useState)(focusOnMount); - const [initialIndex] = (0,external_wp_element_namespaceObject.useState)(defaultIndex); - const focusToolbar = (0,external_wp_element_namespaceObject.useCallback)(() => { - focusFirstTabbableIn(ref.current); - }, []); - const focusToolbarViaShortcut = () => { - if (shouldUseKeyboardFocusShortcut) { - focusToolbar(); - } - }; - - // Focus on toolbar when pressing alt+F10 when the toolbar is visible. - (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)('core/block-editor/focus-toolbar', focusToolbarViaShortcut); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (initialFocusOnMount) { - focusToolbar(); - } - }, [isAccessibleToolbar, initialFocusOnMount, focusToolbar]); - (0,external_wp_element_namespaceObject.useEffect)(() => { - // Store ref so we have access on useEffect cleanup: https://legacy.reactjs.org/blog/2020/08/10/react-v17-rc.html#effect-cleanup-timing - const navigableToolbarRef = ref.current; - // If initialIndex is passed, we focus on that toolbar item when the - // toolbar gets mounted and initial focus is not forced. - // We have to wait for the next browser paint because block controls aren't - // rendered right away when the toolbar gets mounted. - let raf = 0; - if (!initialFocusOnMount) { - raf = window.requestAnimationFrame(() => { - const items = getAllToolbarItemsIn(navigableToolbarRef); - const index = initialIndex || 0; - if (items[index] && hasFocusWithin(navigableToolbarRef)) { - items[index].focus({ - // When focusing newly mounted toolbars, - // the position of the popover is often not right on the first render - // This prevents the layout shifts when focusing the dialogs. - preventScroll: true - }); - } - }); - } - return () => { - window.cancelAnimationFrame(raf); - if (!onIndexChange || !navigableToolbarRef) return; - // When the toolbar element is unmounted and onIndexChange is passed, we - // pass the focused toolbar item index so it can be hydrated later. - const items = getAllToolbarItemsIn(navigableToolbarRef); - const index = items.findIndex(item => item.tabIndex === 0); - onIndexChange(index); - }; - }, [initialIndex, initialFocusOnMount]); -} -function NavigableToolbar({ - children, - focusOnMount, - shouldUseKeyboardFocusShortcut = true, - __experimentalInitialIndex: initialIndex, - __experimentalOnIndexChange: onIndexChange, - ...props -}) { - const ref = (0,external_wp_element_namespaceObject.useRef)(); - const isAccessibleToolbar = useIsAccessibleToolbar(ref); - useToolbarFocus(ref, focusOnMount, isAccessibleToolbar, initialIndex, onIndexChange, shouldUseKeyboardFocusShortcut); - if (isAccessibleToolbar) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Toolbar, { - label: props['aria-label'], - ref: ref, - ...props - }, children); - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.NavigableMenu, { - orientation: "horizontal", - role: "toolbar", - ref: ref, - ...props - }, children); -} -/* harmony default export */ var navigable_toolbar = (NavigableToolbar); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/format-toolbar-container.js /** @@ -54293,24 +62122,24 @@ function InlineSelectionToolbar({ editableContentElement, settings }); - return (0,external_wp_element_namespaceObject.createElement)(InlineToolbar, { + return (0,external_React_.createElement)(InlineToolbar, { popoverAnchor: popoverAnchor }); } function InlineToolbar({ popoverAnchor }) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover, { placement: "top", focusOnMount: false, anchor: popoverAnchor, className: "block-editor-rich-text__inline-format-toolbar", __unstableSlotName: "block-toolbar" - }, (0,external_wp_element_namespaceObject.createElement)(navigable_toolbar, { + }, (0,external_React_.createElement)(NavigableToolbar, { className: "block-editor-rich-text__inline-format-toolbar-group" /* translators: accessibility text for the inline format toolbar */, "aria-label": (0,external_wp_i18n_namespaceObject.__)('Format tools') - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_wp_element_namespaceObject.createElement)(format_toolbar, null)))); + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_React_.createElement)(format_toolbar, null)))); } const FormatToolbarContainer = ({ inline, @@ -54319,7 +62148,7 @@ const FormatToolbarContainer = ({ }) => { const hasInlineToolbar = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getSettings().hasInlineToolbar, []); if (inline) { - return (0,external_wp_element_namespaceObject.createElement)(InlineToolbar, { + return (0,external_React_.createElement)(InlineToolbar, { popoverAnchor: editableContentElement }); } @@ -54328,16 +62157,16 @@ const FormatToolbarContainer = ({ if ((0,external_wp_richText_namespaceObject.isCollapsed)(value) && !activeFormats.length) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(InlineSelectionToolbar, { + return (0,external_React_.createElement)(InlineSelectionToolbar, { editableContentElement: editableContentElement, activeFormats: activeFormats }); } // Render regular toolbar. - return (0,external_wp_element_namespaceObject.createElement)(block_controls, { + return (0,external_React_.createElement)(block_controls, { group: "inline" - }, (0,external_wp_element_namespaceObject.createElement)(format_toolbar, null)); + }, (0,external_React_.createElement)(format_toolbar, null)); }; /* harmony default export */ var format_toolbar_container = (FormatToolbarContainer); @@ -54404,7 +62233,7 @@ function useMarkPersistent({ value }) { const previousText = (0,external_wp_element_namespaceObject.useRef)(); - const hasActiveFormats = value.activeFormats && !!value.activeFormats.length; + const hasActiveFormats = !!value.activeFormats?.length; const { __unstableMarkLastChangeAsPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(store); @@ -54432,8 +62261,6 @@ function useMarkPersistent({ }, [html, hasActiveFormats]); } -;// CONCATENATED MODULE: external ["wp","shortcode"] -var external_wp_shortcode_namespaceObject = window["wp"]["shortcode"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/utils.js /** @@ -54441,7 +62268,6 @@ var external_wp_shortcode_namespaceObject = window["wp"]["shortcode"]; */ - function addActiveFormats(value, activeFormats) { if (activeFormats?.length) { let index = value.formats.length; @@ -54474,7 +62300,6 @@ function getAllowedFormats({ return allowedFormats; } getAllowedFormats.EMPTY_ARRAY = []; -const isShortcode = text => (0,external_wp_shortcode_namespaceObject.regexp)('.*').test(text); /** * Creates a link from pasted URL. @@ -54578,7 +62403,6 @@ function splitValue({ - /** * Internal dependencies */ @@ -54603,40 +62427,16 @@ function usePasteHandler(props) { onReplace, onSplit, __unstableEmbedURLOnPaste, - preserveWhiteSpace, pastePlainText } = propsRef.current; if (!isSelected) { return; } const { - clipboardData - } = event; - let plainText = ''; - let html = ''; - - // IE11 only supports `Text` as an argument for `getData` and will - // otherwise throw an invalid argument error, so we try the standard - // arguments first, then fallback to `Text` if they fail. - try { - plainText = clipboardData.getData('text/plain'); - html = clipboardData.getData('text/html'); - } catch (error1) { - try { - html = clipboardData.getData('Text'); - } catch (error2) { - // Some browsers like UC Browser paste plain text by default and - // don't support clipboardData at all, so allow default - // behaviour. - return; - } - } - - // Remove Windows-specific metadata appended within copied HTML text. - html = removeWindowsFragments(html); - - // Strip meta tag. - html = removeCharsetMetaTag(html); + plainText, + html, + files + } = getPasteEventData(event); event.preventDefault(); // Allows us to ask for this information when we get a report. @@ -54646,32 +62446,14 @@ function usePasteHandler(props) { onChange((0,external_wp_richText_namespaceObject.insert)(value, plainText)); return; } - const transformed = formatTypes.reduce((accumlator, { - __unstablePasteRule - }) => { - // Only allow one transform. - if (__unstablePasteRule && accumlator === value) { - accumlator = __unstablePasteRule(value, { - html, - plainText - }); - } - return accumlator; - }, value); - if (transformed !== value) { - onChange(transformed); - return; - } - const files = [...(0,external_wp_dom_namespaceObject.getFilesFromDataTransfer)(clipboardData)]; - const isInternal = clipboardData.getData('rich-text') === 'true'; + const isInternal = event.clipboardData.getData('rich-text') === 'true'; // If the data comes from a rich text instance, we can directly use it // without filtering the data. The filters are only meant for externally // pasted content and remove inline styles. if (isInternal) { const pastedValue = (0,external_wp_richText_namespaceObject.create)({ - html, - preserveWhiteSpace + html }); addActiveFormats(pastedValue, value.activeFormats); onChange((0,external_wp_richText_namespaceObject.insert)(value, pastedValue)); @@ -54687,14 +62469,6 @@ function usePasteHandler(props) { // Allows us to ask for this information when we get a report. // eslint-disable-next-line no-console window.console.log('Received items:\n\n', files); - } - - // Process any attached files, unless we infer that the files in - // question are redundant "screenshots" of the actual HTML payload, - // as created by certain office-type programs. - // - // @see shouldDismissPastedFiles - if (files?.length && !shouldDismissPastedFiles(files, html, plainText)) { const fromTransforms = (0,external_wp_blocks_namespaceObject.getBlockTransforms)('from'); const blocks = files.reduce((accumulator, file) => { const transformation = (0,external_wp_blocks_namespaceObject.findTransform)(fromTransforms, transform => transform.type === 'files' && transform.isMatch([file])); @@ -54719,30 +62493,40 @@ function usePasteHandler(props) { return; } let mode = onReplace && onSplit ? 'AUTO' : 'INLINE'; - - // Force the blocks mode when the user is pasting - // on a new line & the content resembles a shortcode. - // Otherwise it's going to be detected as inline - // and the shortcode won't be replaced. - if (mode === 'AUTO' && (0,external_wp_richText_namespaceObject.isEmpty)(value) && isShortcode(plainText)) { - mode = 'BLOCKS'; - } - if (__unstableEmbedURLOnPaste && (0,external_wp_richText_namespaceObject.isEmpty)(value) && (0,external_wp_url_namespaceObject.isURL)(plainText.trim())) { + const trimmedPlainText = plainText.trim(); + if (__unstableEmbedURLOnPaste && (0,external_wp_richText_namespaceObject.isEmpty)(value) && (0,external_wp_url_namespaceObject.isURL)(trimmedPlainText) && + // For the link pasting feature, allow only http(s) protocols. + /^https?:/.test(trimmedPlainText)) { mode = 'BLOCKS'; } const content = (0,external_wp_blocks_namespaceObject.pasteHandler)({ HTML: html, plainText, mode, - tagName, - preserveWhiteSpace + tagName }); if (typeof content === 'string') { - const valueToInsert = (0,external_wp_richText_namespaceObject.create)({ - html: content - }); - addActiveFormats(valueToInsert, value.activeFormats); - onChange((0,external_wp_richText_namespaceObject.insert)(value, valueToInsert)); + const transformed = formatTypes.reduce((accumlator, { + __unstablePasteRule + }) => { + // Only allow one transform. + if (__unstablePasteRule && accumlator === value) { + accumlator = __unstablePasteRule(value, { + html, + plainText + }); + } + return accumlator; + }, value); + if (transformed !== value) { + onChange(transformed); + } else { + const valueToInsert = (0,external_wp_richText_namespaceObject.create)({ + html: content + }); + addActiveFormats(valueToInsert, value.activeFormats); + onChange((0,external_wp_richText_namespaceObject.insert)(value, valueToInsert)); + } } else if (content.length > 0) { if (onReplace && (0,external_wp_richText_namespaceObject.isEmpty)(value)) { onReplace(content, content.length - 1, -1); @@ -54763,47 +62547,6 @@ function usePasteHandler(props) { }, []); } -/** - * Normalizes a given string of HTML to remove the Windows-specific "Fragment" - * comments and any preceding and trailing content. - * - * @param {string} html the html to be normalized - * @return {string} the normalized html - */ -function removeWindowsFragments(html) { - const startStr = ''; - const startIdx = html.indexOf(startStr); - if (startIdx > -1) { - html = html.substring(startIdx + startStr.length); - } else { - // No point looking for EndFragment - return html; - } - const endStr = ''; - const endIdx = html.indexOf(endStr); - if (endIdx > -1) { - html = html.substring(0, endIdx); - } - return html; -} - -/** - * Removes the charset meta tag inserted by Chromium. - * See: - * - https://github.com/WordPress/gutenberg/issues/33585 - * - https://bugs.chromium.org/p/chromium/issues/detail?id=1264616#c4 - * - * @param {string} html the html to be stripped of the meta tag. - * @return {string} the cleaned html - */ -function removeCharsetMetaTag(html) { - const metaTag = ``; - if (html.startsWith(metaTag)) { - return html.slice(metaTag.length); - } - return html; -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-before-input-rules.js /** * WordPress dependencies @@ -54940,7 +62683,11 @@ function findSelection(blocks) { while (i--) { const attributeKey = retrieveSelectedAttribute(blocks[i].attributes); if (attributeKey) { - blocks[i].attributes[attributeKey] = blocks[i].attributes[attributeKey].replace(START_OF_SELECTED_AREA, ''); + blocks[i].attributes[attributeKey] = blocks[i].attributes[attributeKey] + // To do: refactor this to use rich text's selection instead, so + // we no longer have to use on this hack inserting a special + // character. + .toString().replace(START_OF_SELECTED_AREA, ''); return [blocks[i].clientId, attributeKey, 0, 0]; } const nestedSelection = findSelection(blocks[i].innerBlocks); @@ -54950,6 +62697,35 @@ function findSelection(blocks) { } return []; } + +/** + * An input rule that replaces two spaces with an en space, and an en space + * followed by a space with an em space. + * + * @param {Object} value Value to replace spaces in. + * + * @return {Object} Value with spaces replaced. + */ +function replacePrecedingSpaces(value) { + if (!(0,external_wp_richText_namespaceObject.isCollapsed)(value)) { + return value; + } + const { + text, + start + } = value; + const lastTwoCharacters = text.slice(start - 2, start); + + // Replace two spaces with an em space. + if (lastTwoCharacters === ' ') { + return (0,external_wp_richText_namespaceObject.insert)(value, '\u2002', start - 2, start); + } + // Replace an en space followed by a space with an em space. + else if (lastTwoCharacters === '\u2002 ') { + return (0,external_wp_richText_namespaceObject.insert)(value, '\u2003', start - 2, start); + } + return value; +} function useInputRules(props) { const { __unstableMarkLastChangeAsPersistent, @@ -55018,8 +62794,8 @@ function useInputRules(props) { if (inputType !== 'insertText' && type !== 'compositionend') { return; } - if (__unstableAllowPrefixTransformations && inputRule) { - if (inputRule()) return; + if (__unstableAllowPrefixTransformations && inputRule()) { + return; } const value = getValue(); const transformed = formatTypes.reduce((accumlator, { @@ -55029,7 +62805,7 @@ function useInputRules(props) { accumlator = __unstableInputRule(accumlator); } return accumlator; - }, preventEventDiscovery(value)); + }, preventEventDiscovery(replacePrecedingSpaces(value))); if (transformed !== value) { __unstableMarkLastChangeAsPersistent(); onChange({ @@ -55093,7 +62869,7 @@ function useDelete(props) { // an intentional user interaction distinguishing between Backspace and // Delete to remove the empty field, but also to avoid merge & remove // causing destruction of two fields (merge, then removed merged). - if (onRemove && (0,external_wp_richText_namespaceObject.isEmpty)(value) && isReverse) { + else if (onRemove && (0,external_wp_richText_namespaceObject.isEmpty)(value) && isReverse) { onRemove(!isReverse); } event.preventDefault(); @@ -55502,7 +63278,7 @@ function format_edit_Edit({ const isActive = activeFormat !== undefined; const activeObject = (0,external_wp_richText_namespaceObject.getActiveObject)(value); const isObjectActive = activeObject !== undefined && activeObject.type === name; - return (0,external_wp_element_namespaceObject.createElement)(EditFunction, { + return (0,external_React_.createElement)(EditFunction, { key: name, isActive: isActive, activeAttributes: isActive ? activeFormat.attributes || {} : {}, @@ -55519,7 +63295,7 @@ function FormatEdit({ formatTypes, ...props }) { - return formatTypes.map(settings => (0,external_wp_element_namespaceObject.createElement)(format_edit_Edit, { + return formatTypes.map(settings => (0,external_React_.createElement)(format_edit_Edit, { settings: settings, ...props, key: settings.name @@ -55539,38 +63315,42 @@ function FormatEdit({ * Internal dependencies */ -const Content = ({ + +/** + * Internal dependencies + */ + +function Content({ value, tagName: Tag, multiline, + format, ...props -}) => { - // Handle deprecated `children` and `node` sources. - if (Array.isArray(value)) { +}) { + if (rich_text.isEmpty(value)) { + const MultilineTag = getMultilineTag(multiline); + value = MultilineTag ? (0,external_React_.createElement)(MultilineTag, null) : null; + } else if (Array.isArray(value)) { external_wp_deprecated_default()('wp.blockEditor.RichText value prop as children type', { since: '6.1', version: '6.3', alternative: 'value prop as string', link: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/' }); - value = external_wp_blocks_namespaceObject.children.toHTML(value); + value = (0,external_React_.createElement)(external_wp_element_namespaceObject.RawHTML, null, external_wp_blocks_namespaceObject.children.toHTML(value)); + } else if (typeof value === 'string') { + // To do: deprecate. + value = (0,external_React_.createElement)(external_wp_element_namespaceObject.RawHTML, null, value); + } else { + // To do: create a toReactComponent method on RichTextData, which we + // might in the future also use for the editable tree. See + // https://github.com/WordPress/gutenberg/pull/41655. + value = (0,external_React_.createElement)(external_wp_element_namespaceObject.RawHTML, null, value.toHTMLString()); } - const MultilineTag = getMultilineTag(multiline); - if (!value && MultilineTag) { - value = `<${MultilineTag}>`; - } - const content = (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.RawHTML, null, value); - if (Tag) { - const { - format, - ...restProps - } = props; - return (0,external_wp_element_namespaceObject.createElement)(Tag, { - ...restProps - }, content); - } - return content; -}; + return Tag ? (0,external_React_.createElement)(Tag, { + ...props + }, value) : value; +} ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/multiline.js @@ -55618,10 +63398,10 @@ function RichTextMultiline({ function _onChange(newValues) { onChange(`<${multilineTagName}>${newValues.join(`<${multilineTagName}>`)}`); } - return (0,external_wp_element_namespaceObject.createElement)(TagName, { + return (0,external_React_.createElement)(TagName, { ref: forwardedRef }, values.map((_value, index) => { - return (0,external_wp_element_namespaceObject.createElement)(RichTextWrapper, { + return (0,external_React_.createElement)(RichTextWrapper, { key: index, identifier: `${identifier}-${index}`, tagName: multilineTagName, @@ -55660,6 +63440,49 @@ function RichTextMultiline({ } /* harmony default export */ var multiline = ((0,external_wp_element_namespaceObject.forwardRef)(RichTextMultiline)); +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/with-deprecations.js + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + +function withDeprecations(Component) { + return (0,external_wp_element_namespaceObject.forwardRef)((props, ref) => { + let value = props.value; + let onChange = props.onChange; + + // Handle deprecated format. + if (Array.isArray(value)) { + external_wp_deprecated_default()('wp.blockEditor.RichText value prop as children type', { + since: '6.1', + version: '6.3', + alternative: 'value prop as string', + link: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/' + }); + value = external_wp_blocks_namespaceObject.children.toHTML(props.value); + onChange = newValue => props.onChange(external_wp_blocks_namespaceObject.children.fromDOM((0,external_wp_richText_namespaceObject.__unstableCreateElement)(document, newValue).childNodes)); + } + const NewComponent = props.multiline ? multiline : Component; + const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(NewComponent); + return (0,external_React_.createElement)(NewComponent, { + ...props, + identifier: props.identifier || instanceId, + value: value, + onChange: onChange, + ref: ref + }); + }); +} + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/index.js /** @@ -55677,7 +63500,6 @@ function RichTextMultiline({ - /** * Internal dependencies */ @@ -55700,6 +63522,7 @@ function RichTextMultiline({ + const keyboardShortcutContext = (0,external_wp_element_namespaceObject.createContext)(); @@ -55766,35 +63589,62 @@ function RichTextWrapper({ props = removeNativeProps(props); const anchorRef = (0,external_wp_element_namespaceObject.useRef)(); const { - clientId + clientId, + isSelected: isBlockSelected, + name: blockName } = useBlockEditContext(); const selector = select => { + // Avoid subscribing to the block editor store if the block is not + // selected. + if (!isBlockSelected) { + return { + isSelected: false + }; + } const { getSelectionStart, - getSelectionEnd + getSelectionEnd, + getBlockAttributes } = select(store); const selectionStart = getSelectionStart(); const selectionEnd = getSelectionEnd(); + const blockBindings = getBlockAttributes(clientId)?.metadata?.bindings; let isSelected; if (originalIsSelected === undefined) { isSelected = selectionStart.clientId === clientId && selectionEnd.clientId === clientId && selectionStart.attributeKey === identifier; } else if (originalIsSelected) { isSelected = selectionStart.clientId === clientId; } + + // Disable Rich Text editing if block bindings specify that. + let shouldDisableEditing = false; + if (blockBindings) { + const blockTypeAttributes = (0,external_wp_blocks_namespaceObject.getBlockType)(blockName).attributes; + const { + getBlockBindingsSource + } = unlock(select(store)); + for (const [attribute, args] of Object.entries(blockBindings)) { + // If any of the attributes with source "rich-text" is part of the bindings, + // has a source with `lockAttributesEditing`, disable it. + if (blockTypeAttributes?.[attribute]?.source === 'rich-text' && getBlockBindingsSource(args.source.name)?.lockAttributesEditing) { + shouldDisableEditing = true; + break; + } + } + } return { selectionStart: isSelected ? selectionStart.offset : undefined, selectionEnd: isSelected ? selectionEnd.offset : undefined, - isSelected + isSelected, + shouldDisableEditing }; }; - // This selector must run on every render so the right selection state is - // retreived from the store on merge. - // To do: fix this somehow. const { selectionStart, selectionEnd, - isSelected - } = (0,external_wp_data_namespaceObject.useSelect)(selector); + isSelected, + shouldDisableEditing + } = (0,external_wp_data_namespaceObject.useSelect)(selector, [clientId, identifier, originalIsSelected, isBlockSelected]); const { getSelectionStart, getSelectionEnd, @@ -55908,27 +63758,27 @@ function RichTextWrapper({ anchorRef.current?.focus(); } const TagName = tagName; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, isSelected && (0,external_wp_element_namespaceObject.createElement)(keyboardShortcutContext.Provider, { + return (0,external_React_.createElement)(external_React_.Fragment, null, isSelected && (0,external_React_.createElement)(keyboardShortcutContext.Provider, { value: keyboardShortcuts - }, (0,external_wp_element_namespaceObject.createElement)(inputEventContext.Provider, { + }, (0,external_React_.createElement)(inputEventContext.Provider, { value: inputEvents - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover.__unstableSlotNameProvider, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Popover.__unstableSlotNameProvider, { value: "__unstable-block-tools-after" }, children && children({ value, onChange, onFocus - }), (0,external_wp_element_namespaceObject.createElement)(FormatEdit, { + }), (0,external_React_.createElement)(FormatEdit, { value: value, onChange: onChange, onFocus: onFocus, formatTypes: formatTypes, forwardedRef: anchorRef - })))), isSelected && hasFormats && (0,external_wp_element_namespaceObject.createElement)(format_toolbar_container, { + })))), isSelected && hasFormats && (0,external_React_.createElement)(format_toolbar_container, { inline: inlineToolbar, editableContentElement: anchorRef.current, value: value - }), (0,external_wp_element_namespaceObject.createElement)(TagName + }), (0,external_React_.createElement)(TagName // Overridable props. , { role: "textbox", @@ -55936,7 +63786,11 @@ function RichTextWrapper({ "aria-label": placeholder, ...props, ...autocompleteProps, - ref: (0,external_wp_compose_namespaceObject.useMergeRefs)([forwardedRef, autocompleteProps.ref, props.ref, richTextRef, useBeforeInputRules({ + ref: (0,external_wp_compose_namespaceObject.useMergeRefs)([ + // Rich text ref must be first because its focus listener + // must be set up before any other ref calls .focus() on + // mount. + richTextRef, forwardedRef, autocompleteProps.ref, props.ref, useBeforeInputRules({ value, onChange }), useInputRules({ @@ -55956,7 +63810,6 @@ function RichTextWrapper({ onReplace, onSplit, __unstableEmbedURLOnPaste, - preserveWhiteSpace, pastePlainText }), useDelete({ value, @@ -55972,7 +63825,7 @@ function RichTextWrapper({ onSplitAtEnd, onSplitAtDoubleLineEnd }), useFirefoxCompat(), anchorRef]), - contentEditable: true, + contentEditable: !shouldDisableEditing, suppressContentEditableWarning: true, className: classnames_default()('block-editor-rich-text__editable', props.className, 'rich-text') // Setting tabIndex to 0 is unnecessary, the element is already @@ -55982,36 +63835,11 @@ function RichTextWrapper({ // tabIndex because Safari will focus the element. However, // Safari will correctly ignore nested contentEditable elements. , - tabIndex: props.tabIndex === 0 ? null : props.tabIndex + tabIndex: props.tabIndex === 0 && !shouldDisableEditing ? null : props.tabIndex, + "data-wp-block-attribute-key": identifier })); } -const ForwardedRichTextWrapper = (0,external_wp_element_namespaceObject.forwardRef)(RichTextWrapper); -function RichTextSwitcher(props, ref) { - let value = props.value; - let onChange = props.onChange; - - // Handle deprecated format. - if (Array.isArray(value)) { - external_wp_deprecated_default()('wp.blockEditor.RichText value prop as children type', { - since: '6.1', - version: '6.3', - alternative: 'value prop as string', - link: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/' - }); - value = external_wp_blocks_namespaceObject.children.toHTML(props.value); - onChange = newValue => props.onChange(external_wp_blocks_namespaceObject.children.fromDOM((0,external_wp_richText_namespaceObject.__unstableCreateElement)(document, newValue).childNodes)); - } - const Component = props.multiline ? multiline : ForwardedRichTextWrapper; - const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(RichTextSwitcher); - return (0,external_wp_element_namespaceObject.createElement)(Component, { - ...props, - identifier: props.identifier || instanceId, - value: value, - onChange: onChange, - ref: ref - }); -} -const ForwardedRichTextContainer = (0,external_wp_element_namespaceObject.forwardRef)(RichTextSwitcher); +const ForwardedRichTextContainer = withDeprecations((0,external_wp_element_namespaceObject.forwardRef)(RichTextWrapper)); ForwardedRichTextContainer.Content = Content; ForwardedRichTextContainer.isEmpty = value => { return !value || value.length === 0; @@ -56037,11 +63865,10 @@ ForwardedRichTextContainer.isEmpty = value => { */ const EditableText = (0,external_wp_element_namespaceObject.forwardRef)((props, ref) => { - return (0,external_wp_element_namespaceObject.createElement)(rich_text, { + return (0,external_React_.createElement)(rich_text, { ref: ref, ...props, - __unstableDisableFormats: true, - preserveWhiteSpace: true + __unstableDisableFormats: true }); }); EditableText.Content = ({ @@ -56049,7 +63876,7 @@ EditableText.Content = ({ tagName: Tag = 'div', ...props }) => { - return (0,external_wp_element_namespaceObject.createElement)(Tag, { + return (0,external_React_.createElement)(Tag, { ...props }, value); }; @@ -56085,7 +63912,7 @@ const PlainText = (0,external_wp_element_namespaceObject.forwardRef)(({ ...props }, ref) => { if (__experimentalVersion === 2) { - return (0,external_wp_element_namespaceObject.createElement)(editable_text, { + return (0,external_React_.createElement)(editable_text, { ref: ref, ...props }); @@ -56095,7 +63922,7 @@ const PlainText = (0,external_wp_element_namespaceObject.forwardRef)(({ onChange, ...remainingProps } = props; - return (0,external_wp_element_namespaceObject.createElement)(lib/* default */.Z, { + return (0,external_React_.createElement)(react_autosize_textarea_lib/* default */.Z, { ref: ref, className: classnames_default()('block-editor-plain-text', className), onChange: event => onChange(event.target.value), @@ -56120,9 +63947,9 @@ function ResponsiveBlockControlLabel({ const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(ResponsiveBlockControlLabel); const accessibleLabel = desc || (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: 1: property name. 2: viewport name. */ (0,external_wp_i18n_namespaceObject._x)('Controls the %1$s property for %2$s viewports.', 'Text labelling a interface as controlling a given layout property (eg: margin) for a given screen size.'), property, viewport.label); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("span", { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)("span", { "aria-describedby": `rbc-desc-${instanceId}` - }, viewport.label), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { + }, viewport.label), (0,external_React_.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { as: "span", id: `rbc-desc-${instanceId}` }, accessibleLabel)); @@ -56179,32 +64006,32 @@ function ResponsiveBlockControl(props) { /* translators: 'Help text for the responsive mode toggle control.' */ const toggleHelpText = (0,external_wp_i18n_namespaceObject.__)('Toggle between using the same value for all screen sizes or using a unique value per screen size.'); - const defaultControl = renderDefaultControl((0,external_wp_element_namespaceObject.createElement)(ResponsiveBlockControlLabel, { + const defaultControl = renderDefaultControl((0,external_React_.createElement)(ResponsiveBlockControlLabel, { property: property, viewport: defaultLabel }), defaultLabel); const defaultResponsiveControls = () => { - return viewports.map(viewport => (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, { + return viewports.map(viewport => (0,external_React_.createElement)(external_wp_element_namespaceObject.Fragment, { key: viewport.id - }, renderDefaultControl((0,external_wp_element_namespaceObject.createElement)(ResponsiveBlockControlLabel, { + }, renderDefaultControl((0,external_React_.createElement)(ResponsiveBlockControlLabel, { property: property, viewport: viewport }), viewport))); }; - return (0,external_wp_element_namespaceObject.createElement)("fieldset", { + return (0,external_React_.createElement)("fieldset", { className: "block-editor-responsive-block-control" - }, (0,external_wp_element_namespaceObject.createElement)("legend", { + }, (0,external_React_.createElement)("legend", { className: "block-editor-responsive-block-control__title" - }, title), (0,external_wp_element_namespaceObject.createElement)("div", { + }, title), (0,external_React_.createElement)("div", { className: "block-editor-responsive-block-control__inner" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToggleControl, { __nextHasNoMarginBottom: true, className: "block-editor-responsive-block-control__toggle", label: toggleControlLabel, checked: !isResponsive, onChange: onIsResponsiveChange, help: toggleHelpText - }), (0,external_wp_element_namespaceObject.createElement)("div", { + }), (0,external_React_.createElement)("div", { className: classnames_default()('block-editor-responsive-block-control__group', { 'is-responsive': isResponsive }) @@ -56267,9 +64094,9 @@ function RichTextToolbarButton({ if (shortcutType && shortcutCharacter) { shortcut = external_wp_keycodes_namespaceObject.displayShortcut[shortcutType](shortcutCharacter); } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Fill, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Fill, { name: fillName - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { ...props, shortcut: shortcut })); @@ -56322,12 +64149,12 @@ function __unstableRichTextInputEvent({ * Internal dependencies */ -const selectIcon = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { +const selectIcon = (0,external_React_.createElement)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { d: "M9.4 20.5L5.2 3.8l14.6 9-2 .3c-.2 0-.4.1-.7.1-.9.2-1.6.3-2.2.5-.8.3-1.4.5-1.8.8-.4.3-.8.8-1.3 1.5-.4.5-.8 1.2-1.2 2l-.3.6-.9 1.9zM7.6 7.1l2.4 9.3c.2-.4.5-.8.7-1.1.6-.8 1.1-1.4 1.6-1.8.5-.4 1.3-.8 2.2-1.1l1.2-.3-8.1-5z" })); function ToolSelector(props, ref) { @@ -56335,14 +64162,14 @@ function ToolSelector(props, ref) { const { __unstableSetEditorMode } = (0,external_wp_data_namespaceObject.useDispatch)(store); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Dropdown, { renderToggle: ({ isOpen, onToggle - }) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }) => (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { ...props, ref: ref, - icon: mode === 'navigation' ? selectIcon : library_edit, + icon: mode === 'navigation' ? selectIcon : edit, "aria-expanded": isOpen, "aria-haspopup": "true", onClick: onToggle @@ -56350,25 +64177,24 @@ function ToolSelector(props, ref) { label: (0,external_wp_i18n_namespaceObject.__)('Tools') }), popoverProps: { - placement: 'bottom-start', - variant: undefined + placement: 'bottom-start' }, - renderContent: () => (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.NavigableMenu, { + renderContent: () => (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.NavigableMenu, { role: "menu", "aria-label": (0,external_wp_i18n_namespaceObject.__)('Tools') - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItemsChoice, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItemsChoice, { value: mode === 'navigation' ? 'navigation' : 'edit', onSelect: __unstableSetEditorMode, choices: [{ value: 'edit', - label: (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: library_edit + label: (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(build_module_icon, { + icon: edit }), (0,external_wp_i18n_namespaceObject.__)('Edit')) }, { value: 'navigation', - label: (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, selectIcon, (0,external_wp_i18n_namespaceObject.__)('Select')) + label: (0,external_React_.createElement)(external_React_.Fragment, null, selectIcon, (0,external_wp_i18n_namespaceObject.__)('Select')) }] - })), (0,external_wp_element_namespaceObject.createElement)("div", { + })), (0,external_React_.createElement)("div", { className: "block-editor-tool-selector__help" }, (0,external_wp_i18n_namespaceObject.__)('Tools provide different interactions for selecting, navigating, and editing blocks. Toggle between select and edit by pressing Escape and Enter.'))) }); @@ -56390,11 +64216,12 @@ function UnitControl({ units: unitsProp, ...props }) { + const [availableUnits] = use_settings_useSettings('spacing.units'); const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ - availableUnits: use_setting_useSetting('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'], + availableUnits: availableUnits || ['%', 'px', 'em', 'rem', 'vw'], units: unitsProp }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { units: units, ...props }); @@ -56406,10 +64233,10 @@ function UnitControl({ * WordPress dependencies */ -const arrowLeft = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const arrowLeft = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M20 11.2H6.8l3.7-3.7-1-1L3.9 12l5.6 5.5 1-1-3.7-3.7H20z" })); /* harmony default export */ var arrow_left = (arrowLeft); @@ -56455,29 +64282,29 @@ class URLInputButton extends external_wp_element_namespaceObject.Component { expanded } = this.state; const buttonLabel = url ? (0,external_wp_i18n_namespaceObject.__)('Edit link') : (0,external_wp_i18n_namespaceObject.__)('Insert link'); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-url-input__button" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { icon: library_link, label: buttonLabel, onClick: this.toggle, className: "components-toolbar__control", isPressed: !!url - }), expanded && (0,external_wp_element_namespaceObject.createElement)("form", { + }), expanded && (0,external_React_.createElement)("form", { className: "block-editor-url-input__button-modal", onSubmit: this.submitLink - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-url-input__button-modal-line" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { className: "block-editor-url-input__back", icon: arrow_left, label: (0,external_wp_i18n_namespaceObject.__)('Close'), onClick: this.toggle - }), (0,external_wp_element_namespaceObject.createElement)(url_input, { + }), (0,external_React_.createElement)(url_input, { __nextHasNoMarginBottom: true, value: url || '', onChange: onChange - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { icon: keyboard_return, label: (0,external_wp_i18n_namespaceObject.__)('Submit'), type: "submit" @@ -56496,10 +64323,10 @@ class URLInputButton extends external_wp_element_namespaceObject.Component { * WordPress dependencies */ -const close_close = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const close_close = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z" })); /* harmony default export */ var library_close = (close_close); @@ -56523,15 +64350,15 @@ const LINK_DESTINATION_CUSTOM = 'custom'; const LINK_DESTINATION_MEDIA = 'media'; const LINK_DESTINATION_ATTACHMENT = 'attachment'; const NEW_TAB_REL = ['noreferrer', 'noopener']; -const icon = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { +const icon = (0,external_React_.createElement)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { d: "M0,0h24v24H0V0z", fill: "none" -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { +}), (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { d: "m19 5v14h-14v-14h14m0-2h-14c-1.1 0-2 0.9-2 2v14c0 1.1 0.9 2 2 2h14c1.1 0 2-0.9 2-2v-14c0-1.1-0.9-2-2-2z" -}), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { +}), (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { d: "m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z" })); const ImageURLInputUI = ({ @@ -56638,13 +64465,13 @@ const ImageURLInputUI = ({ linkDestination: LINK_DESTINATION_ATTACHMENT, title: (0,external_wp_i18n_namespaceObject.__)('Attachment Page'), url: mediaType === 'image' ? mediaLink : undefined, - icon: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { + icon: (0,external_React_.createElement)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { d: "M0 0h24v24H0V0z", fill: "none" - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.Path, { d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z" })) }); @@ -56682,19 +64509,19 @@ const ImageURLInputUI = ({ linkClass: value }); }; - const advancedOptions = (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + const advancedOptions = (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: "3" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToggleControl, { __nextHasNoMarginBottom: true, label: (0,external_wp_i18n_namespaceObject.__)('Open in new tab'), onChange: onSetNewTab, checked: linkTarget === '_blank' - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextControl, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.TextControl, { __nextHasNoMarginBottom: true, label: (0,external_wp_i18n_namespaceObject.__)('Link rel'), value: rel !== null && rel !== void 0 ? rel : '', onChange: onSetLinkRel - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextControl, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.TextControl, { __nextHasNoMarginBottom: true, label: (0,external_wp_i18n_namespaceObject.__)('Link CSS Class'), value: linkClass || '', @@ -56702,19 +64529,20 @@ const ImageURLInputUI = ({ })); const linkEditorValue = urlInput !== null ? urlInput : url; const urlLabel = (getLinkDestinations().find(destination => destination.linkDestination === linkDestination) || {}).title; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarButton, { icon: library_link, className: "components-toolbar__control", label: url ? (0,external_wp_i18n_namespaceObject.__)('Edit link') : (0,external_wp_i18n_namespaceObject.__)('Insert link'), "aria-expanded": isOpen, onClick: openLinkUI, - ref: setPopoverAnchor - }), isOpen && (0,external_wp_element_namespaceObject.createElement)(url_popover, { + ref: setPopoverAnchor, + isActive: !!url + }), isOpen && (0,external_React_.createElement)(url_popover, { anchor: popoverAnchor, onFocusOutside: onFocusOutside(), onClose: closeLinkUI, renderSettings: () => advancedOptions, - additionalControls: !linkEditorValue && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.NavigableMenu, null, getLinkDestinations().map(link => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { + additionalControls: !linkEditorValue && (0,external_React_.createElement)(external_wp_components_namespaceObject.NavigableMenu, null, getLinkDestinations().map(link => (0,external_React_.createElement)(external_wp_components_namespaceObject.MenuItem, { key: link.linkDestination, icon: link.icon, onClick: () => { @@ -56723,18 +64551,18 @@ const ImageURLInputUI = ({ stopEditLink(); } }, link.title))) - }, (!url || isEditingLink) && (0,external_wp_element_namespaceObject.createElement)(url_popover.LinkEditor, { + }, (!url || isEditingLink) && (0,external_React_.createElement)(url_popover.LinkEditor, { className: "block-editor-format-toolbar__link-container-content", value: linkEditorValue, onChangeInputValue: setUrlInput, onSubmit: onSubmitLinkChange(), autocompleteRef: autocompleteRef - }), url && !isEditingLink && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(url_popover.LinkViewer, { + }), url && !isEditingLink && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(url_popover.LinkViewer, { className: "block-editor-format-toolbar__link-container-content", url: url, onEditLinkClick: startEditLink, urlLabel: urlLabel - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { icon: library_close, label: (0,external_wp_i18n_namespaceObject.__)('Remove link'), onClick: onLinkRemove @@ -56742,132 +64570,16 @@ const ImageURLInputUI = ({ }; -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/block-toolbar-last-item.js -/** - * WordPress dependencies - */ - -const { - Fill: __unstableBlockToolbarLastItem, - Slot: block_toolbar_last_item_Slot -} = (0,external_wp_components_namespaceObject.createSlotFill)('__unstableBlockToolbarLastItem'); -__unstableBlockToolbarLastItem.Slot = block_toolbar_last_item_Slot; -/* harmony default export */ var block_toolbar_last_item = (__unstableBlockToolbarLastItem); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/block-name-context.js -/** - * WordPress dependencies - */ - -const __unstableBlockNameContext = (0,external_wp_element_namespaceObject.createContext)(''); -/* harmony default export */ var block_name_context = (__unstableBlockNameContext); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/mobile.js - -/** - * WordPress dependencies - */ - -const mobile = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M15 4H9c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h6c.3 0 .5.2.5.5v12zm-4.5-.5h2V16h-2v1.5z" -})); -/* harmony default export */ var library_mobile = (mobile); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/tablet.js - -/** - * WordPress dependencies - */ - -const tablet = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M17 4H7c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v12zm-7.5-.5h4V16h-4v1.5z" -})); -/* harmony default export */ var library_tablet = (tablet); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/desktop.js - -/** - * WordPress dependencies - */ - -const desktop = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M20.5 16h-.7V8c0-1.1-.9-2-2-2H6.2c-1.1 0-2 .9-2 2v8h-.7c-.8 0-1.5.7-1.5 1.5h20c0-.8-.7-1.5-1.5-1.5zM5.7 8c0-.3.2-.5.5-.5h11.6c.3 0 .5.2.5.5v7.6H5.7V8z" -})); -/* harmony default export */ var library_desktop = (desktop); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/preview-options/index.js - -/** - * External dependencies - */ - - /** * WordPress dependencies */ - - - -function PreviewOptions({ - children, - viewLabel, - className, - isEnabled = true, - deviceType, - setDeviceType, - label -}) { - const isMobile = (0,external_wp_compose_namespaceObject.useViewportMatch)('small', '<'); - if (isMobile) return null; - const popoverProps = { - className: classnames_default()(className, 'block-editor-post-preview__dropdown-content'), - placement: 'bottom-end' - }; - const toggleProps = { - className: 'block-editor-post-preview__button-toggle', - disabled: !isEnabled, - __experimentalIsFocusable: !isEnabled, - children: viewLabel - }; - const menuProps = { - 'aria-label': (0,external_wp_i18n_namespaceObject.__)('View options') - }; - const deviceIcons = { - mobile: library_mobile, - tablet: library_tablet, - desktop: library_desktop - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DropdownMenu, { - className: "block-editor-post-preview__dropdown", - popoverProps: popoverProps, - toggleProps: toggleProps, - menuProps: menuProps, - icon: deviceIcons[deviceType.toLowerCase()], - label: label || (0,external_wp_i18n_namespaceObject.__)('Preview'), - disableOpenOnArrowDown: !isEnabled - }, renderProps => (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - className: "block-editor-post-preview__button-resize", - onClick: () => setDeviceType('Desktop'), - icon: deviceType === 'Desktop' && library_check - }, (0,external_wp_i18n_namespaceObject.__)('Desktop')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - className: "block-editor-post-preview__button-resize", - onClick: () => setDeviceType('Tablet'), - icon: deviceType === 'Tablet' && library_check - }, (0,external_wp_i18n_namespaceObject.__)('Tablet')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - className: "block-editor-post-preview__button-resize", - onClick: () => setDeviceType('Mobile'), - icon: deviceType === 'Mobile' && library_check - }, (0,external_wp_i18n_namespaceObject.__)('Mobile'))), children?.(renderProps))); +function PreviewOptions() { + external_wp_deprecated_default()('wp.blockEditor.PreviewOptions', { + version: '6.5' + }); + return null; } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-resize-canvas/index.js @@ -56931,7 +64643,10 @@ function useResizeCanvas(deviceType) { overflowY: 'auto' }; default: - return null; + return { + marginLeft: marginHorizontal, + marginRight: marginHorizontal + }; } }; return contentInlineStyles(deviceType); @@ -56958,7 +64673,7 @@ const SkipToSelectedBlock = ({ const onClick = () => { ref.current.focus(); }; - return selectedBlockClientId ? (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + return selectedBlockClientId ? (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "secondary", className: "block-editor-skip-to-selected-block", onClick: onClick @@ -56976,20 +64691,6 @@ const SkipToSelectedBlock = ({ ;// CONCATENATED MODULE: external ["wp","wordcount"] var external_wp_wordcount_namespaceObject = window["wp"]["wordcount"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/copy.js - -/** - * WordPress dependencies - */ - -const copy_copy = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M20.2 8v11c0 .7-.6 1.2-1.2 1.2H6v1.5h13c1.5 0 2.7-1.2 2.7-2.8V8zM18 16.4V4.6c0-.9-.7-1.6-1.6-1.6H4.6C3.7 3 3 3.7 3 4.6v11.8c0 .9.7 1.6 1.6 1.6h11.8c.9 0 1.6-.7 1.6-1.6zm-13.5 0V4.6c0-.1.1-.1.1-.1h11.8c.1 0 .1.1.1.1v11.8c0 .1-.1.1-.1.1H4.6l-.1-.1z" -})); -/* harmony default export */ var library_copy = (copy_copy); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/multi-selection-inspector/index.js /** @@ -57010,17 +64711,17 @@ function MultiSelectionInspector({ blocks }) { const words = (0,external_wp_wordcount_namespaceObject.count)((0,external_wp_blocks_namespaceObject.serialize)(blocks), 'words'); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-multi-selection-inspector__card" - }, (0,external_wp_element_namespaceObject.createElement)(block_icon, { + }, (0,external_React_.createElement)(block_icon, { icon: library_copy, showColors: true - }), (0,external_wp_element_namespaceObject.createElement)("div", { + }), (0,external_React_.createElement)("div", { className: "block-editor-multi-selection-inspector__card-content" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-multi-selection-inspector__card-title" }, (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %d: number of blocks */ - (0,external_wp_i18n_namespaceObject._n)('%d Block', '%d Blocks', blocks.length), blocks.length)), (0,external_wp_element_namespaceObject.createElement)("div", { + (0,external_wp_i18n_namespaceObject._n)('%d Block', '%d Blocks', blocks.length), blocks.length)), (0,external_React_.createElement)("div", { className: "block-editor-multi-selection-inspector__card-description" }, (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %d: number of words */ (0,external_wp_i18n_namespaceObject._n)('%d word selected.', '%d words selected.', words), words)))); @@ -57087,9 +64788,9 @@ function DefaultStylePicker({ if (!preferredStyle || preferredStyle === defaultStyleName) { return null; } - return onUpdatePreferredStyleVariations && (0,external_wp_element_namespaceObject.createElement)("div", { + return onUpdatePreferredStyleVariations && (0,external_React_.createElement)("div", { className: "default-style-picker__default-switcher" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SelectControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.SelectControl, { __nextHasNoMarginBottom: true, options: selectOptions, value: preferredStyle || '', @@ -57104,10 +64805,10 @@ function DefaultStylePicker({ * WordPress dependencies */ -const cog = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const cog = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { fillRule: "evenodd", d: "M10.289 4.836A1 1 0 0111.275 4h1.306a1 1 0 01.987.836l.244 1.466c.787.26 1.503.679 2.108 1.218l1.393-.522a1 1 0 011.216.437l.653 1.13a1 1 0 01-.23 1.273l-1.148.944a6.025 6.025 0 010 2.435l1.149.946a1 1 0 01.23 1.272l-.653 1.13a1 1 0 01-1.216.437l-1.394-.522c-.605.54-1.32.958-2.108 1.218l-.244 1.466a1 1 0 01-.987.836h-1.306a1 1 0 01-.986-.836l-.244-1.466a5.995 5.995 0 01-2.108-1.218l-1.394.522a1 1 0 01-1.217-.436l-.653-1.131a1 1 0 01.23-1.272l1.149-.946a6.026 6.026 0 010-2.435l-1.148-.944a1 1 0 01-.23-1.272l.653-1.131a1 1 0 011.217-.437l1.393.522a5.994 5.994 0 012.108-1.218l.244-1.466zM14.929 12a3 3 0 11-6 0 3 3 0 016 0z", clipRule: "evenodd" @@ -57120,10 +64821,10 @@ const cog = (0,external_wp_element_namespaceObject.createElement)(external_wp_pr * WordPress dependencies */ -const styles = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const styles = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M12 4c-4.4 0-8 3.6-8 8v.1c0 4.1 3.2 7.5 7.2 7.9h.8c4.4 0 8-3.6 8-8s-3.6-8-8-8zm0 15V5c3.9 0 7 3.1 7 7s-3.1 7-7 7z" })); /* harmony default export */ var library_styles = (styles); @@ -57174,11 +64875,11 @@ const AdvancedControls = () => { if (!hasFills) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.PanelBody, { className: "block-editor-block-inspector__advanced", title: (0,external_wp_i18n_namespaceObject.__)('Advanced'), initialOpen: false - }, (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }, (0,external_React_.createElement)(inspector_controls.Slot, { group: "advanced" })); }; @@ -57225,11 +64926,11 @@ const PositionControlsPanel = () => { }) => !!attributes?.style?.position?.type)); } }, [initialOpen, multiSelectedBlocks, setInitialOpen]); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.PanelBody, { className: "block-editor-block-inspector__position", title: (0,external_wp_i18n_namespaceObject.__)('Position'), initialOpen: initialOpen !== null && initialOpen !== void 0 ? initialOpen : false - }, (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }, (0,external_React_.createElement)(inspector_controls.Slot, { group: "position" })); }; @@ -57239,7 +64940,7 @@ const PositionControls = () => { if (!hasFills) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(PositionControlsPanel, null); + return (0,external_React_.createElement)(PositionControlsPanel, null); }; /* harmony default export */ var position_controls_panel = (PositionControls); @@ -57268,12 +64969,12 @@ function InspectorControlsTabsHint() { if (!isInspectorControlsTabsHintVisible) { return null; } - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { ref: ref, className: "block-editor-inspector-controls-tabs__hint" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-inspector-controls-tabs__hint-content" - }, (0,external_wp_i18n_namespaceObject.__)("Looking for other block settings? They've moved to the styles tab.")), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_wp_i18n_namespaceObject.__)("Looking for other block settings? They've moved to the styles tab.")), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { className: "block-editor-inspector-controls-tabs__hint-dismiss", icon: library_close, iconSize: "16", @@ -57299,7 +65000,7 @@ function InspectorControlsTabsHint() { const SettingsTab = ({ showAdvancedControls = false -}) => (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, null), (0,external_wp_element_namespaceObject.createElement)(position_controls_panel, null), showAdvancedControls && (0,external_wp_element_namespaceObject.createElement)("div", null, (0,external_wp_element_namespaceObject.createElement)(advanced_controls_panel, null)), (0,external_wp_element_namespaceObject.createElement)(InspectorControlsTabsHint, null)); +}) => (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(inspector_controls.Slot, null), (0,external_React_.createElement)(position_controls_panel, null), showAdvancedControls && (0,external_React_.createElement)("div", null, (0,external_React_.createElement)(advanced_controls_panel, null)), (0,external_React_.createElement)(InspectorControlsTabsHint, null)); /* harmony default export */ var settings_tab = (SettingsTab); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inspector-controls-tabs/styles-tab.js @@ -57322,31 +65023,34 @@ const StylesTab = ({ clientId, hasBlockStyles }) => { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, hasBlockStyles && (0,external_wp_element_namespaceObject.createElement)("div", null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { + return (0,external_React_.createElement)(external_React_.Fragment, null, hasBlockStyles && (0,external_React_.createElement)("div", null, (0,external_React_.createElement)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)('Styles') - }, (0,external_wp_element_namespaceObject.createElement)(block_styles, { + }, (0,external_React_.createElement)(block_styles, { clientId: clientId - }), (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, 'defaultStylePicker', true) && (0,external_wp_element_namespaceObject.createElement)(DefaultStylePicker, { + }), (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, 'defaultStylePicker', true) && (0,external_React_.createElement)(DefaultStylePicker, { blockName: blockName - }))), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }))), (0,external_React_.createElement)(inspector_controls.Slot, { group: "color", label: (0,external_wp_i18n_namespaceObject.__)('Color'), className: "color-block-support-panel__inner-wrapper" - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "background", label: (0,external_wp_i18n_namespaceObject.__)('Background') - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "filter" - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "typography", label: (0,external_wp_i18n_namespaceObject.__)('Typography') - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "dimensions", label: (0,external_wp_i18n_namespaceObject.__)('Dimensions') - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "border", label: (0,external_wp_i18n_namespaceObject.__)('Border') - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { + group: "effects", + label: (0,external_wp_i18n_namespaceObject.__)('Effects') + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "styles" })); }; @@ -57376,6 +65080,10 @@ const useIsListViewTabDisabled = blockName => { + +const { + Tabs: inspector_controls_tabs_Tabs +} = unlock(external_wp_components_namespaceObject.privateApis); function InspectorControlsTabs({ blockName, clientId, @@ -57388,30 +65096,37 @@ function InspectorControlsTabs({ // which at the time is the first tab. This check allows blocks known to // include the list view tab to set it as the tab selected by default. const initialTabName = !use_is_list_view_tab_disabled(blockName) ? TAB_LIST_VIEW.name : undefined; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TabPanel, { - className: "block-editor-block-inspector__tabs", - tabs: tabs, - initialTabName: initialTabName, + return (0,external_React_.createElement)("div", { + className: "block-editor-block-inspector__tabs" + }, (0,external_React_.createElement)(inspector_controls_tabs_Tabs, { + initialTabId: initialTabName, key: clientId - }, tab => { - if (tab.name === TAB_SETTINGS.name) { - return (0,external_wp_element_namespaceObject.createElement)(settings_tab, { - showAdvancedControls: !!blockName - }); - } - if (tab.name === TAB_STYLES.name) { - return (0,external_wp_element_namespaceObject.createElement)(styles_tab, { - blockName: blockName, - clientId: clientId, - hasBlockStyles: hasBlockStyles - }); - } - if (tab.name === TAB_LIST_VIEW.name) { - return (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { - group: "list" - }); - } - }); + }, (0,external_React_.createElement)(inspector_controls_tabs_Tabs.TabList, null, tabs.map(tab => (0,external_React_.createElement)(inspector_controls_tabs_Tabs.Tab, { + key: tab.name, + tabId: tab.name, + render: (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { + icon: tab.icon, + label: tab.title, + className: tab.className + }) + }))), (0,external_React_.createElement)(inspector_controls_tabs_Tabs.TabPanel, { + tabId: TAB_SETTINGS.name, + focusable: false + }, (0,external_React_.createElement)(settings_tab, { + showAdvancedControls: !!blockName + })), (0,external_React_.createElement)(inspector_controls_tabs_Tabs.TabPanel, { + tabId: TAB_STYLES.name, + focusable: false + }, (0,external_React_.createElement)(styles_tab, { + blockName: blockName, + clientId: clientId, + hasBlockStyles: hasBlockStyles + })), (0,external_React_.createElement)(inspector_controls_tabs_Tabs.TabPanel, { + tabId: TAB_LIST_VIEW.name, + focusable: false + }, (0,external_React_.createElement)(inspector_controls.Slot, { + group: "list" + })))); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js @@ -57452,7 +65167,8 @@ function useInspectorControlsTabs(blockName) { list: listGroup, position: positionGroup, styles: stylesGroup, - typography: typographyGroup + typography: typographyGroup, + effects: effectsGroup } = inspector_controls_groups; // List View Tab: If there are any fills for the list group add that tab. @@ -57462,7 +65178,7 @@ function useInspectorControlsTabs(blockName) { // Styles Tab: Add this tab if there are any fills for block supports // e.g. border, color, spacing, typography, etc. - const styleFills = [...((0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(borderGroup.Slot.__unstableName) || []), ...((0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(colorGroup.Slot.__unstableName) || []), ...((0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(dimensionsGroup.Slot.__unstableName) || []), ...((0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(stylesGroup.Slot.__unstableName) || []), ...((0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(typographyGroup.Slot.__unstableName) || [])]; + const styleFills = [...((0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(borderGroup.Slot.__unstableName) || []), ...((0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(colorGroup.Slot.__unstableName) || []), ...((0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(dimensionsGroup.Slot.__unstableName) || []), ...((0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(stylesGroup.Slot.__unstableName) || []), ...((0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(typographyGroup.Slot.__unstableName) || []), ...((0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(effectsGroup.Slot.__unstableName) || [])]; const hasStyleFills = styleFills.length; // Settings Tab: If we don't have multiple tabs to display @@ -57547,15 +65263,15 @@ const { Slot: block_info_slot_fill_Slot } = createPrivateSlotFill('BlockInformation'); const BlockInfo = props => { - const isDisplayed = useDisplayBlockControls(); - if (!isDisplayed) { + const context = useBlockEditContext(); + if (!context[mayDisplayControlsKey]) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(block_info_slot_fill_Fill, { + return (0,external_React_.createElement)(block_info_slot_fill_Fill, { ...props }); }; -BlockInfo.Slot = props => (0,external_wp_element_namespaceObject.createElement)(block_info_slot_fill_Slot, { +BlockInfo.Slot = props => (0,external_React_.createElement)(block_info_slot_fill_Slot, { ...props }); /* harmony default export */ var block_info_slot_fill = (BlockInfo); @@ -57580,9 +65296,9 @@ function BlockQuickNavigation({ if (!clientIds.length) { return null; } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 1 - }, clientIds.map(clientId => (0,external_wp_element_namespaceObject.createElement)(BlockQuickNavigationItem, { + }, clientIds.map(clientId => (0,external_React_.createElement)(BlockQuickNavigationItem, { key: clientId, clientId: clientId }))); @@ -57615,14 +65331,16 @@ function BlockQuickNavigationItem({ const { selectBlock } = (0,external_wp_data_namespaceObject.useDispatch)(store); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { isPressed: isSelected, onClick: () => selectBlock(clientId) - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - justify: "flex-start" - }, (0,external_wp_element_namespaceObject.createElement)(block_icon, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Flex, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_React_.createElement)(block_icon, { icon: icon - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, name))); + })), (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexBlock, { + style: { + textAlign: 'left' + } + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, null, name)))); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-inspector/index.js @@ -57666,16 +65384,16 @@ function BlockInspectorLockedBlocks({ return getClientIdsOfDescendants(topLevelLockedBlock).filter(clientId => getBlockName(clientId) !== 'core/list-item' && getBlockEditingMode(clientId) === 'contentOnly'); }, [topLevelLockedBlock]); const blockInformation = useBlockDisplayInformation(topLevelLockedBlock); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-block-inspector" - }, (0,external_wp_element_namespaceObject.createElement)(block_card, { + }, (0,external_React_.createElement)(block_card, { ...blockInformation, className: blockInformation.isSynced && 'is-synced' - }), (0,external_wp_element_namespaceObject.createElement)(block_variation_transforms, { + }), (0,external_React_.createElement)(block_variation_transforms, { blockClientId: topLevelLockedBlock - }), (0,external_wp_element_namespaceObject.createElement)(block_info_slot_fill.Slot, null), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { + }), (0,external_React_.createElement)(block_info_slot_fill.Slot, null), (0,external_React_.createElement)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)('Content') - }, (0,external_wp_element_namespaceObject.createElement)(BlockQuickNavigation, { + }, (0,external_React_.createElement)(BlockQuickNavigation, { clientIds: contentClientIds }))); } @@ -57704,7 +65422,7 @@ const BlockInspector = ({ selectedBlockClientId: _selectedBlockClientId, selectedBlockName: _selectedBlockName, blockType: _blockType, - topLevelLockedBlock: __unstableGetContentLockingParent(_selectedBlockClientId) || (getTemplateLock(_selectedBlockClientId) === 'contentOnly' ? _selectedBlockClientId : undefined) + topLevelLockedBlock: __unstableGetContentLockingParent(_selectedBlockClientId) || (getTemplateLock(_selectedBlockClientId) === 'contentOnly' || _selectedBlockName === 'core/block' ? _selectedBlockClientId : undefined) }; }, []); const availableTabs = useInspectorControlsTabs(blockType?.name); @@ -57718,24 +65436,24 @@ const BlockInspector = ({ // its children blocks. const blockInspectorAnimationSettings = useBlockInspectorAnimationSettings(blockType, selectedBlockClientId); if (count > 1) { - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-block-inspector" - }, (0,external_wp_element_namespaceObject.createElement)(multi_selection_inspector, null), showTabs ? (0,external_wp_element_namespaceObject.createElement)(InspectorControlsTabs, { + }, (0,external_React_.createElement)(multi_selection_inspector, null), showTabs ? (0,external_React_.createElement)(InspectorControlsTabs, { tabs: availableTabs - }) : (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, null), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }) : (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(inspector_controls.Slot, null), (0,external_React_.createElement)(inspector_controls.Slot, { group: "color", label: (0,external_wp_i18n_namespaceObject.__)('Color'), className: "color-block-support-panel__inner-wrapper" - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "typography", label: (0,external_wp_i18n_namespaceObject.__)('Typography') - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "dimensions", label: (0,external_wp_i18n_namespaceObject.__)('Dimensions') - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "border", label: (0,external_wp_i18n_namespaceObject.__)('Border') - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "styles" }))); } @@ -57747,24 +65465,24 @@ const BlockInspector = ({ */ if (!blockType || !selectedBlockClientId || isSelectedBlockUnregistered) { if (showNoBlockSelectedMessage) { - return (0,external_wp_element_namespaceObject.createElement)("span", { + return (0,external_React_.createElement)("span", { className: "block-editor-block-inspector__no-blocks" }, (0,external_wp_i18n_namespaceObject.__)('No block selected.')); } return null; } if (topLevelLockedBlock) { - return (0,external_wp_element_namespaceObject.createElement)(BlockInspectorLockedBlocks, { + return (0,external_React_.createElement)(BlockInspectorLockedBlocks, { topLevelLockedBlock: topLevelLockedBlock }); } - return (0,external_wp_element_namespaceObject.createElement)(BlockInspectorSingleBlockWrapper, { + return (0,external_React_.createElement)(BlockInspectorSingleBlockWrapper, { animate: blockInspectorAnimationSettings, - wrapper: children => (0,external_wp_element_namespaceObject.createElement)(AnimatedContainer, { + wrapper: children => (0,external_React_.createElement)(AnimatedContainer, { blockInspectorAnimationSettings: blockInspectorAnimationSettings, selectedBlockClientId: selectedBlockClientId }, children) - }, (0,external_wp_element_namespaceObject.createElement)(BlockInspectorSingleBlock, { + }, (0,external_React_.createElement)(BlockInspectorSingleBlock, { clientId: selectedBlockClientId, blockName: blockType.name })); @@ -57782,7 +65500,7 @@ const AnimatedContainer = ({ children }) => { const animationOrigin = blockInspectorAnimationSettings && blockInspectorAnimationSettings.enterDirection === 'leftToRight' ? -50 : 50; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { animate: { x: 0, opacity: 1, @@ -57812,45 +65530,48 @@ const BlockInspectorSingleBlock = ({ return blockStyles && blockStyles.length > 0; }, [blockName]); const blockInformation = useBlockDisplayInformation(clientId); - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { className: "block-editor-block-inspector" - }, (0,external_wp_element_namespaceObject.createElement)(block_card, { + }, (0,external_React_.createElement)(block_card, { ...blockInformation, className: blockInformation.isSynced && 'is-synced' - }), (0,external_wp_element_namespaceObject.createElement)(block_variation_transforms, { + }), (0,external_React_.createElement)(block_variation_transforms, { blockClientId: clientId - }), (0,external_wp_element_namespaceObject.createElement)(block_info_slot_fill.Slot, null), showTabs && (0,external_wp_element_namespaceObject.createElement)(InspectorControlsTabs, { + }), (0,external_React_.createElement)(block_info_slot_fill.Slot, null), showTabs && (0,external_React_.createElement)(InspectorControlsTabs, { hasBlockStyles: hasBlockStyles, clientId: clientId, blockName: blockName, tabs: availableTabs - }), !showTabs && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, hasBlockStyles && (0,external_wp_element_namespaceObject.createElement)("div", null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { + }), !showTabs && (0,external_React_.createElement)(external_React_.Fragment, null, hasBlockStyles && (0,external_React_.createElement)("div", null, (0,external_React_.createElement)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)('Styles') - }, (0,external_wp_element_namespaceObject.createElement)(block_styles, { + }, (0,external_React_.createElement)(block_styles, { clientId: clientId - }), (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, 'defaultStylePicker', true) && (0,external_wp_element_namespaceObject.createElement)(DefaultStylePicker, { + }), (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockName, 'defaultStylePicker', true) && (0,external_React_.createElement)(DefaultStylePicker, { blockName: blockName - }))), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, null), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }))), (0,external_React_.createElement)(inspector_controls.Slot, null), (0,external_React_.createElement)(inspector_controls.Slot, { group: "list" - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "color", label: (0,external_wp_i18n_namespaceObject.__)('Color'), className: "color-block-support-panel__inner-wrapper" - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "typography", label: (0,external_wp_i18n_namespaceObject.__)('Typography') - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "dimensions", label: (0,external_wp_i18n_namespaceObject.__)('Dimensions') - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "border", label: (0,external_wp_i18n_namespaceObject.__)('Border') - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "styles" - }), (0,external_wp_element_namespaceObject.createElement)(inspector_controls.Slot, { + }), (0,external_React_.createElement)(inspector_controls.Slot, { group: "background", label: (0,external_wp_i18n_namespaceObject.__)('Background') - }), (0,external_wp_element_namespaceObject.createElement)(position_controls_panel, null), (0,external_wp_element_namespaceObject.createElement)("div", null, (0,external_wp_element_namespaceObject.createElement)(advanced_controls_panel, null))), (0,external_wp_element_namespaceObject.createElement)(skip_to_selected_block, { + }), (0,external_React_.createElement)(position_controls_panel, null), (0,external_React_.createElement)(inspector_controls.Slot, { + group: "effects", + label: (0,external_wp_i18n_namespaceObject.__)('Effects') + }), (0,external_React_.createElement)("div", null, (0,external_React_.createElement)(advanced_controls_panel, null))), (0,external_React_.createElement)(skip_to_selected_block, { key: "back" })); }; @@ -57860,97 +65581,7 @@ const BlockInspectorSingleBlock = ({ */ /* harmony default export */ var block_inspector = (BlockInspector); -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-mover/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - -function BlockMover({ - clientIds, - hideDragHandle -}) { - const { - canMove, - rootClientId, - isFirst, - isLast, - orientation - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockIndex, - getBlockListSettings, - canMoveBlocks, - getBlockOrder, - getBlockRootClientId - } = select(store); - const normalizedClientIds = Array.isArray(clientIds) ? clientIds : [clientIds]; - const firstClientId = normalizedClientIds[0]; - const _rootClientId = getBlockRootClientId(firstClientId); - const firstIndex = getBlockIndex(firstClientId); - const lastIndex = getBlockIndex(normalizedClientIds[normalizedClientIds.length - 1]); - const blockOrder = getBlockOrder(_rootClientId); - return { - canMove: canMoveBlocks(clientIds, _rootClientId), - rootClientId: _rootClientId, - isFirst: firstIndex === 0, - isLast: lastIndex === blockOrder.length - 1, - orientation: getBlockListSettings(_rootClientId)?.orientation - }; - }, [clientIds]); - if (!canMove || isFirst && isLast && !rootClientId) { - return null; - } - const dragHandleLabel = (0,external_wp_i18n_namespaceObject.__)('Drag'); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, { - className: classnames_default()('block-editor-block-mover', { - 'is-horizontal': orientation === 'horizontal' - }) - }, !hideDragHandle && (0,external_wp_element_namespaceObject.createElement)(block_draggable, { - clientIds: clientIds - }, draggableProps => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - icon: drag_handle, - className: "block-editor-block-mover__drag-handle", - "aria-hidden": "true", - label: dragHandleLabel - // Should not be able to tab to drag handle as this - // button can only be used with a pointer device. - , - tabIndex: "-1", - ...draggableProps - })), (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-block-mover__move-button-container" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarItem, null, itemProps => (0,external_wp_element_namespaceObject.createElement)(BlockMoverUpButton, { - clientIds: clientIds, - ...itemProps - })), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarItem, null, itemProps => (0,external_wp_element_namespaceObject.createElement)(BlockMoverDownButton, { - clientIds: clientIds, - ...itemProps - })))); -} - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-mover/README.md - */ -/* harmony default export */ var block_mover = (BlockMover); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/index.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/copy-handler/index.js /** * WordPress dependencies @@ -57961,2336 +65592,33 @@ function BlockMover({ * Internal dependencies */ -function BlockSettingsMenu({ - clientIds, - ...props -}) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarItem, null, toggleProps => (0,external_wp_element_namespaceObject.createElement)(block_settings_dropdown, { - clientIds: clientIds, - toggleProps: toggleProps, - ...props - }))); -} -/* harmony default export */ var block_settings_menu = (BlockSettingsMenu); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-parent-selector/index.js /** - * WordPress dependencies + * @deprecated */ - - - - - - -/** - * Internal dependencies - */ - - - - - -/** - * Block parent selector component, displaying the hierarchy of the - * current block selection as a single icon to "go up" a level. - * - * @return {WPComponent} Parent block selector. - */ -function BlockParentSelector() { - const { - selectBlock - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const { - firstParentClientId, - isVisible - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockName, - getBlockParents, - getSelectedBlockClientId, - getBlockEditingMode - } = select(store); - const { - hasBlockSupport - } = select(external_wp_blocks_namespaceObject.store); - const selectedBlockClientId = getSelectedBlockClientId(); - const parents = getBlockParents(selectedBlockClientId); - const _firstParentClientId = parents[parents.length - 1]; - const parentBlockName = getBlockName(_firstParentClientId); - const _parentBlockType = (0,external_wp_blocks_namespaceObject.getBlockType)(parentBlockName); - return { - firstParentClientId: _firstParentClientId, - isVisible: _firstParentClientId && getBlockEditingMode(_firstParentClientId) === 'default' && hasBlockSupport(_parentBlockType, '__experimentalParentSelector', true) - }; - }, []); - const blockInformation = useBlockDisplayInformation(firstParentClientId); - - // Allows highlighting the parent block outline when focusing or hovering - // the parent block selector within the child. - const nodeRef = (0,external_wp_element_namespaceObject.useRef)(); - const showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures({ - ref: nodeRef, - highlightParent: true +const __unstableUseClipboardHandler = () => { + external_wp_deprecated_default()('__unstableUseClipboardHandler', { + alternative: 'BlockCanvas or WritingFlow', + since: '6.4', + version: '6.7' }); - if (!isVisible) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-block-parent-selector", - key: firstParentClientId, - ref: nodeRef, - ...showHoveredOrFocusedGestures - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - className: "block-editor-block-parent-selector__button", - onClick: () => selectBlock(firstParentClientId), - label: (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: Name of the block's parent. */ - (0,external_wp_i18n_namespaceObject.__)('Select %s'), blockInformation?.title), - showTooltip: true, - icon: (0,external_wp_element_namespaceObject.createElement)(block_icon, { - icon: blockInformation?.icon - }) - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/preview-block-popover.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - -function PreviewBlockPopover({ - blocks -}) { - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-block-switcher__popover__preview__parent" - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-block-switcher__popover__preview__container" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { - className: "block-editor-block-switcher__preview__popover", - placement: "bottom-start", - focusOnMount: false - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-block-switcher__preview" - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-block-switcher__preview-title" - }, (0,external_wp_i18n_namespaceObject.__)('Preview')), (0,external_wp_element_namespaceObject.createElement)(block_preview, { - viewportWidth: 500, - blocks: blocks - }))))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/block-variation-transformations.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - -const block_variation_transformations_EMPTY_OBJECT = {}; -function useBlockVariationTransforms({ - clientIds, - blocks -}) { - const { - activeBlockVariation, - blockVariationTransformations - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockRootClientId, - getBlockAttributes, - canRemoveBlocks - } = select(store); - const { - getActiveBlockVariation, - getBlockVariations - } = select(external_wp_blocks_namespaceObject.store); - const rootClientId = getBlockRootClientId(Array.isArray(clientIds) ? clientIds[0] : clientIds); - const canRemove = canRemoveBlocks(clientIds, rootClientId); - // Only handle single selected blocks for now. - if (blocks.length !== 1 || !canRemove) { - return block_variation_transformations_EMPTY_OBJECT; - } - const [firstBlock] = blocks; - return { - blockVariationTransformations: getBlockVariations(firstBlock.name, 'transform'), - activeBlockVariation: getActiveBlockVariation(firstBlock.name, getBlockAttributes(firstBlock.clientId)) - }; - }, [clientIds, blocks]); - const transformations = (0,external_wp_element_namespaceObject.useMemo)(() => { - return blockVariationTransformations?.filter(({ - name - }) => name !== activeBlockVariation?.name); - }, [blockVariationTransformations, activeBlockVariation]); - return transformations; -} -const BlockVariationTransformations = ({ - transformations, - onSelect, - blocks -}) => { - const [hoveredTransformItemName, setHoveredTransformItemName] = (0,external_wp_element_namespaceObject.useState)(); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, hoveredTransformItemName && (0,external_wp_element_namespaceObject.createElement)(PreviewBlockPopover, { - blocks: (0,external_wp_blocks_namespaceObject.cloneBlock)(blocks[0], transformations.find(({ - name - }) => name === hoveredTransformItemName).attributes) - }), transformations?.map(item => (0,external_wp_element_namespaceObject.createElement)(BlockVariationTranformationItem, { - key: item.name, - item: item, - onSelect: onSelect, - setHoveredTransformItemName: setHoveredTransformItemName - }))); + return useClipboardHandler(); }; -function BlockVariationTranformationItem({ - item, - onSelect, - setHoveredTransformItemName -}) { - const { - name, - icon, - title - } = item; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - className: (0,external_wp_blocks_namespaceObject.getBlockMenuDefaultClassName)(name), - onClick: event => { - event.preventDefault(); - onSelect(name); - }, - onMouseLeave: () => setHoveredTransformItemName(null), - onMouseEnter: () => setHoveredTransformItemName(name) - }, (0,external_wp_element_namespaceObject.createElement)(block_icon, { - icon: icon, - showColors: true - }), title); -} -/* harmony default export */ var block_variation_transformations = (BlockVariationTransformations); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/block-transformations-menu.js /** - * WordPress dependencies + * @deprecated + * @param {Object} props */ - - - - - -/** - * Internal dependencies - */ - - - - -/** - * Helper hook to group transformations to display them in a specific order in the UI. - * For now we group only priority content driven transformations(ex. paragraph -> heading). - * - * Later on we could also group 'layout' transformations(ex. paragraph -> group) and - * display them in different sections. - * - * @param {Object[]} possibleBlockTransformations The available block transformations. - * @return {Record} The grouped block transformations. - */ -function useGroupedTransforms(possibleBlockTransformations) { - const priorityContentTranformationBlocks = { - 'core/paragraph': 1, - 'core/heading': 2, - 'core/list': 3, - 'core/quote': 4 - }; - const transformations = (0,external_wp_element_namespaceObject.useMemo)(() => { - const priorityTextTranformsNames = Object.keys(priorityContentTranformationBlocks); - return possibleBlockTransformations.reduce((accumulator, item) => { - const { - name - } = item; - if (priorityTextTranformsNames.includes(name)) { - accumulator.priorityTextTransformations.push(item); - } else { - accumulator.restTransformations.push(item); - } - return accumulator; - }, { - priorityTextTransformations: [], - restTransformations: [] - }); - }, [possibleBlockTransformations]); - - // Order the priority text transformations. - transformations.priorityTextTransformations.sort(({ - name: currentName - }, { - name: nextName - }) => { - return priorityContentTranformationBlocks[currentName] < priorityContentTranformationBlocks[nextName] ? -1 : 1; +function CopyHandler(props) { + external_wp_deprecated_default()('CopyHandler', { + alternative: 'BlockCanvas or WritingFlow', + since: '6.4', + version: '6.7' }); - return transformations; -} -const BlockTransformationsMenu = ({ - className, - possibleBlockTransformations, - possibleBlockVariationTransformations, - onSelect, - onSelectVariation, - blocks -}) => { - const [hoveredTransformItemName, setHoveredTransformItemName] = (0,external_wp_element_namespaceObject.useState)(); - const { - priorityTextTransformations, - restTransformations - } = useGroupedTransforms(possibleBlockTransformations); - // We have to check if both content transformations(priority and rest) are set - // in order to create a separate MenuGroup for them. - const hasBothContentTransformations = priorityTextTransformations.length && restTransformations.length; - const restTransformItems = !!restTransformations.length && (0,external_wp_element_namespaceObject.createElement)(RestTransformationItems, { - restTransformations: restTransformations, - onSelect: onSelect, - setHoveredTransformItemName: setHoveredTransformItemName - }); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, { - label: (0,external_wp_i18n_namespaceObject.__)('Transform to'), - className: className - }, hoveredTransformItemName && (0,external_wp_element_namespaceObject.createElement)(PreviewBlockPopover, { - blocks: (0,external_wp_blocks_namespaceObject.switchToBlockType)(blocks, hoveredTransformItemName) - }), !!possibleBlockVariationTransformations?.length && (0,external_wp_element_namespaceObject.createElement)(block_variation_transformations, { - transformations: possibleBlockVariationTransformations, - blocks: blocks, - onSelect: onSelectVariation - }), priorityTextTransformations.map(item => (0,external_wp_element_namespaceObject.createElement)(BlockTranformationItem, { - key: item.name, - item: item, - onSelect: onSelect, - setHoveredTransformItemName: setHoveredTransformItemName - })), !hasBothContentTransformations && restTransformItems), !!hasBothContentTransformations && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, { - className: className - }, restTransformItems)); -}; -function RestTransformationItems({ - restTransformations, - onSelect, - setHoveredTransformItemName -}) { - return restTransformations.map(item => (0,external_wp_element_namespaceObject.createElement)(BlockTranformationItem, { - key: item.name, - item: item, - onSelect: onSelect, - setHoveredTransformItemName: setHoveredTransformItemName - })); -} -function BlockTranformationItem({ - item, - onSelect, - setHoveredTransformItemName -}) { - const { - name, - icon, - title, - isDisabled - } = item; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - className: (0,external_wp_blocks_namespaceObject.getBlockMenuDefaultClassName)(name), - onClick: event => { - event.preventDefault(); - onSelect(name); - }, - disabled: isDisabled, - onMouseLeave: () => setHoveredTransformItemName(null), - onMouseEnter: () => setHoveredTransformItemName(name) - }, (0,external_wp_element_namespaceObject.createElement)(block_icon, { - icon: icon, - showColors: true - }), title); -} -/* harmony default export */ var block_transformations_menu = (BlockTransformationsMenu); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/menu-items.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - -const menu_items_noop = () => {}; -function BlockStylesMenuItems({ - clientId, - onSwitch = menu_items_noop -}) { - const { - onSelect, - stylesToRender, - activeStyle - } = useStylesForBlocks({ - clientId, - onSwitch - }); - if (!stylesToRender || stylesToRender.length === 0) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, stylesToRender.map(style => { - const menuItemText = style.label || style.name; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - key: style.name, - icon: activeStyle.name === style.name ? library_check : null, - onClick: () => onSelect(style) - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalText, { - as: "span", - limit: 18, - ellipsizeMode: "tail", - truncate: true - }, menuItemText)); - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/block-styles-menu.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - -function BlockStylesMenu({ - hoveredBlock, - onSwitch -}) { - const { - clientId - } = hoveredBlock; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, { - label: (0,external_wp_i18n_namespaceObject.__)('Styles'), - className: "block-editor-block-switcher__styles__menugroup" - }, (0,external_wp_element_namespaceObject.createElement)(BlockStylesMenuItems, { - clientId: clientId, - onSwitch: onSwitch - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/utils.js -/** - * WordPress dependencies - */ - - -/** - * Try to find a matching block by a block's name in a provided - * block. We recurse through InnerBlocks and return the reference - * of the matched block (it could be an InnerBlock). - * If no match is found return nothing. - * - * @param {WPBlock} block The block to try to find a match. - * @param {string} selectedBlockName The block's name to use for matching condition. - * @param {Set} consumedBlocks A set holding the previously matched/consumed blocks. - * - * @return {WPBlock | undefined} The matched block if found or nothing(`undefined`). - */ -const getMatchingBlockByName = (block, selectedBlockName, consumedBlocks = new Set()) => { - const { - clientId, - name, - innerBlocks = [] - } = block; - // Check if block has been consumed already. - if (consumedBlocks.has(clientId)) return; - if (name === selectedBlockName) return block; - // Try to find a matching block from InnerBlocks recursively. - for (const innerBlock of innerBlocks) { - const match = getMatchingBlockByName(innerBlock, selectedBlockName, consumedBlocks); - if (match) return match; - } -}; - -/** - * Find and return the block attributes to retain through - * the transformation, based on Block Type's `role:content` - * attributes. If no `role:content` attributes exist, - * return selected block's attributes. - * - * @param {string} name Block type's namespaced name. - * @param {Object} attributes Selected block's attributes. - * @return {Object} The block's attributes to retain. - */ -const getRetainedBlockAttributes = (name, attributes) => { - const contentAttributes = (0,external_wp_blocks_namespaceObject.__experimentalGetBlockAttributesNamesByRole)(name, 'content'); - if (!contentAttributes?.length) return attributes; - return contentAttributes.reduce((_accumulator, attribute) => { - if (attributes[attribute]) _accumulator[attribute] = attributes[attribute]; - return _accumulator; - }, {}); -}; - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/use-transformed-patterns.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -/** - * Mutate the matched block's attributes by getting - * which block type's attributes to retain and prioritize - * them in the merging of the attributes. - * - * @param {WPBlock} match The matched block. - * @param {WPBlock} selectedBlock The selected block. - * @return {void} - */ -const transformMatchingBlock = (match, selectedBlock) => { - // Get the block attributes to retain through the transformation. - const retainedBlockAttributes = getRetainedBlockAttributes(selectedBlock.name, selectedBlock.attributes); - match.attributes = { - ...match.attributes, - ...retainedBlockAttributes - }; -}; - -/** - * By providing the selected blocks and pattern's blocks - * find the matching blocks, transform them and return them. - * If not all selected blocks are matched, return nothing. - * - * @param {WPBlock[]} selectedBlocks The selected blocks. - * @param {WPBlock[]} patternBlocks The pattern's blocks. - * @return {WPBlock[]|void} The transformed pattern's blocks or undefined if not all selected blocks have been matched. - */ -const getPatternTransformedBlocks = (selectedBlocks, patternBlocks) => { - // Clone Pattern's blocks to produce new clientIds and be able to mutate the matches. - const _patternBlocks = patternBlocks.map(block => (0,external_wp_blocks_namespaceObject.cloneBlock)(block)); - /** - * Keep track of the consumed pattern blocks. - * This is needed because we loop the selected blocks - * and for example we may have selected two paragraphs and - * the pattern's blocks could have more `paragraphs`. - */ - const consumedBlocks = new Set(); - for (const selectedBlock of selectedBlocks) { - let isMatch = false; - for (const patternBlock of _patternBlocks) { - const match = getMatchingBlockByName(patternBlock, selectedBlock.name, consumedBlocks); - if (!match) continue; - isMatch = true; - consumedBlocks.add(match.clientId); - // We update (mutate) the matching pattern block. - transformMatchingBlock(match, selectedBlock); - // No need to loop through other pattern's blocks. - break; - } - // Bail eary if a selected block has not been matched. - if (!isMatch) return; - } - return _patternBlocks; -}; - -/** - * @typedef {WPBlockPattern & {transformedBlocks: WPBlock[]}} TransformedBlockPattern - */ - -/** - * Custom hook that accepts patterns from state and the selected - * blocks and tries to match these with the pattern's blocks. - * If all selected blocks are matched with a Pattern's block, - * we transform them by retaining block's attributes with `role:content`. - * The transformed pattern's blocks are set to a new pattern - * property `transformedBlocks`. - * - * @param {WPBlockPattern[]} patterns Patterns from state. - * @param {WPBlock[]} selectedBlocks The currently selected blocks. - * @return {TransformedBlockPattern[]} Returns the eligible matched patterns with all the selected blocks. - */ -const useTransformedPatterns = (patterns, selectedBlocks) => { - return (0,external_wp_element_namespaceObject.useMemo)(() => patterns.reduce((accumulator, _pattern) => { - const transformedBlocks = getPatternTransformedBlocks(selectedBlocks, _pattern.blocks); - if (transformedBlocks) { - accumulator.push({ - ..._pattern, - transformedBlocks - }); - } - return accumulator; - }, []), [patterns, selectedBlocks]); -}; -/* harmony default export */ var use_transformed_patterns = (useTransformedPatterns); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/pattern-transformations-menu.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - -function PatternTransformationsMenu({ - blocks, - patterns: statePatterns, - onSelect -}) { - const [showTransforms, setShowTransforms] = (0,external_wp_element_namespaceObject.useState)(false); - const patterns = use_transformed_patterns(statePatterns, blocks); - if (!patterns.length) return null; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, { - className: "block-editor-block-switcher__pattern__transforms__menugroup" - }, showTransforms && (0,external_wp_element_namespaceObject.createElement)(PreviewPatternsPopover, { - patterns: patterns, - onSelect: onSelect - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - onClick: event => { - event.preventDefault(); - setShowTransforms(!showTransforms); - }, - icon: chevron_right - }, (0,external_wp_i18n_namespaceObject.__)('Patterns'))); -} -function PreviewPatternsPopover({ - patterns, - onSelect -}) { - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-block-switcher__popover__preview__parent" - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-block-switcher__popover__preview__container" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { - className: "block-editor-block-switcher__preview__popover", - position: "bottom right" - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-block-switcher__preview is-pattern-list-preview" - }, (0,external_wp_element_namespaceObject.createElement)(BlockPatternsList, { - patterns: patterns, - onSelect: onSelect - }))))); -} -function BlockPatternsList({ - patterns, - onSelect -}) { - const composite = (0,external_wp_components_namespaceObject.__unstableUseCompositeState)(); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableComposite, { - ...composite, - role: "listbox", - className: "block-editor-block-switcher__preview-patterns-container", - "aria-label": (0,external_wp_i18n_namespaceObject.__)('Patterns list') - }, patterns.map(pattern => (0,external_wp_element_namespaceObject.createElement)(pattern_transformations_menu_BlockPattern, { - key: pattern.name, - pattern: pattern, - onSelect: onSelect, - composite: composite - }))); -} -function pattern_transformations_menu_BlockPattern({ - pattern, - onSelect, - composite -}) { - // TODO check pattern/preview width... - const baseClassName = 'block-editor-block-switcher__preview-patterns-container'; - const descriptionId = (0,external_wp_compose_namespaceObject.useInstanceId)(pattern_transformations_menu_BlockPattern, `${baseClassName}-list__item-description`); - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: `${baseClassName}-list__list-item` - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableCompositeItem, { - role: "option", - as: "div", - ...composite, - "aria-label": pattern.title, - "aria-describedby": pattern.description ? descriptionId : undefined, - className: `${baseClassName}-list__item`, - onClick: () => onSelect(pattern.transformedBlocks) - }, (0,external_wp_element_namespaceObject.createElement)(block_preview, { - blocks: pattern.transformedBlocks, - viewportWidth: pattern.viewportWidth || 500 - }), (0,external_wp_element_namespaceObject.createElement)("div", { - className: `${baseClassName}-list__item-title` - }, pattern.title)), !!pattern.description && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { - id: descriptionId - }, pattern.description)); -} -/* harmony default export */ var pattern_transformations_menu = (PatternTransformationsMenu); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/index.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - - - - -const BlockSwitcherDropdownMenu = ({ - clientIds, - blocks -}) => { - const { - replaceBlocks, - multiSelect, - updateBlockAttributes - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const blockInformation = useBlockDisplayInformation(blocks[0].clientId); - const { - possibleBlockTransformations, - canRemove, - hasBlockStyles, - icon, - patterns - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockRootClientId, - getBlockTransformItems, - __experimentalGetPatternTransformItems, - canRemoveBlocks - } = select(store); - const { - getBlockStyles, - getBlockType - } = select(external_wp_blocks_namespaceObject.store); - const rootClientId = getBlockRootClientId(Array.isArray(clientIds) ? clientIds[0] : clientIds); - const [{ - name: firstBlockName - }] = blocks; - const _isSingleBlockSelected = blocks.length === 1; - const styles = _isSingleBlockSelected && getBlockStyles(firstBlockName); - let _icon; - if (_isSingleBlockSelected) { - _icon = blockInformation?.icon; // Take into account active block variations. - } else { - const isSelectionOfSameType = new Set(blocks.map(({ - name - }) => name)).size === 1; - // When selection consists of blocks of multiple types, display an - // appropriate icon to communicate the non-uniformity. - _icon = isSelectionOfSameType ? getBlockType(firstBlockName)?.icon : library_copy; - } - return { - possibleBlockTransformations: getBlockTransformItems(blocks, rootClientId), - canRemove: canRemoveBlocks(clientIds, rootClientId), - hasBlockStyles: !!styles?.length, - icon: _icon, - patterns: __experimentalGetPatternTransformItems(blocks, rootClientId) - }; - }, [clientIds, blocks, blockInformation?.icon]); - const blockVariationTransformations = useBlockVariationTransforms({ - clientIds, - blocks - }); - const blockTitle = useBlockDisplayTitle({ - clientId: Array.isArray(clientIds) ? clientIds[0] : clientIds, - maximumLength: 35 - }); - const isReusable = blocks.length === 1 && (0,external_wp_blocks_namespaceObject.isReusableBlock)(blocks[0]); - const isTemplate = blocks.length === 1 && (0,external_wp_blocks_namespaceObject.isTemplatePart)(blocks[0]); - function selectForMultipleBlocks(insertedBlocks) { - if (insertedBlocks.length > 1) { - multiSelect(insertedBlocks[0].clientId, insertedBlocks[insertedBlocks.length - 1].clientId); - } - } - - // Simple block tranformation based on the `Block Transforms` API. - function onBlockTransform(name) { - const newBlocks = (0,external_wp_blocks_namespaceObject.switchToBlockType)(blocks, name); - replaceBlocks(clientIds, newBlocks); - selectForMultipleBlocks(newBlocks); - } - function onBlockVariationTransform(name) { - updateBlockAttributes(blocks[0].clientId, { - ...blockVariationTransformations.find(({ - name: variationName - }) => variationName === name).attributes - }); - } - - // Pattern transformation through the `Patterns` API. - function onPatternTransform(transformedBlocks) { - replaceBlocks(clientIds, transformedBlocks); - selectForMultipleBlocks(transformedBlocks); - } - - /** - * The `isTemplate` check is a stopgap solution here. - * Ideally, the Transforms API should handle this - * by allowing to exclude blocks from wildcard transformations. - */ - const hasPossibleBlockTransformations = !!possibleBlockTransformations.length && canRemove && !isTemplate; - const hasPossibleBlockVariationTransformations = !!blockVariationTransformations?.length; - const hasPatternTransformation = !!patterns?.length && canRemove; - if (!hasBlockStyles && !hasPossibleBlockTransformations && !hasPossibleBlockVariationTransformations) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - disabled: true, - className: "block-editor-block-switcher__no-switcher-icon", - title: blockTitle, - icon: (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(block_icon, { - icon: icon, - showColors: true - }), (isReusable || isTemplate) && (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-block-switcher__toggle-text" - }, blockTitle)) - })); - } - const blockSwitcherLabel = blockTitle; - const blockSwitcherDescription = 1 === blocks.length ? (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: block title. */ - (0,external_wp_i18n_namespaceObject.__)('%s: Change block type or style'), blockTitle) : (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %d: number of blocks. */ - (0,external_wp_i18n_namespaceObject._n)('Change type of %d block', 'Change type of %d blocks', blocks.length), blocks.length); - const hasBlockOrBlockVariationTransforms = hasPossibleBlockTransformations || hasPossibleBlockVariationTransformations; - const showDropDown = hasBlockStyles || hasBlockOrBlockVariationTransforms || hasPatternTransformation; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarItem, null, toggleProps => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DropdownMenu, { - className: "block-editor-block-switcher", - label: blockSwitcherLabel, - popoverProps: { - placement: 'bottom-start', - className: 'block-editor-block-switcher__popover' - }, - icon: (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(block_icon, { - icon: icon, - className: "block-editor-block-switcher__toggle", - showColors: true - }), (isReusable || isTemplate) && (0,external_wp_element_namespaceObject.createElement)("span", { - className: "block-editor-block-switcher__toggle-text" - }, blockTitle)), - toggleProps: { - describedBy: blockSwitcherDescription, - ...toggleProps - }, - menuProps: { - orientation: 'both' - } - }, ({ - onClose - }) => showDropDown && (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-block-switcher__container" - }, hasPatternTransformation && (0,external_wp_element_namespaceObject.createElement)(pattern_transformations_menu, { - blocks: blocks, - patterns: patterns, - onSelect: transformedBlocks => { - onPatternTransform(transformedBlocks); - onClose(); - } - }), hasBlockOrBlockVariationTransforms && (0,external_wp_element_namespaceObject.createElement)(block_transformations_menu, { - className: "block-editor-block-switcher__transforms__menugroup", - possibleBlockTransformations: possibleBlockTransformations, - possibleBlockVariationTransformations: blockVariationTransformations, - blocks: blocks, - onSelect: name => { - onBlockTransform(name); - onClose(); - }, - onSelectVariation: name => { - onBlockVariationTransform(name); - onClose(); - } - }), hasBlockStyles && (0,external_wp_element_namespaceObject.createElement)(BlockStylesMenu, { - hoveredBlock: blocks[0], - onSwitch: onClose - }))))); -}; -const BlockSwitcher = ({ - clientIds -}) => { - const blocks = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getBlocksByClientId(clientIds), [clientIds]); - if (!blocks.length || blocks.some(block => !block)) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(BlockSwitcherDropdownMenu, { - clientIds: clientIds, - blocks: blocks - }); -}; -/* harmony default export */ var block_switcher = (BlockSwitcher); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-lock/toolbar.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - -function BlockLockToolbar({ - clientId, - wrapperRef -}) { - const { - canEdit, - canMove, - canRemove, - canLock - } = useBlockLock(clientId); - const [isModalOpen, toggleModal] = (0,external_wp_element_namespaceObject.useReducer)(isActive => !isActive, false); - const lockButtonRef = (0,external_wp_element_namespaceObject.useRef)(null); - const isFirstRender = (0,external_wp_element_namespaceObject.useRef)(true); - const shouldHideBlockLockUI = !canLock || canEdit && canMove && canRemove; - - // Restore focus manually on the first focusable element in the toolbar - // when the block lock modal is closed and the block is not locked anymore. - // See https://github.com/WordPress/gutenberg/issues/51447 - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (isFirstRender.current) { - isFirstRender.current = false; - return; - } - if (!isModalOpen && shouldHideBlockLockUI) { - external_wp_dom_namespaceObject.focus.focusable.find(wrapperRef.current, { - sequential: false - }).find(element => element.tagName === 'BUTTON' && element !== lockButtonRef.current)?.focus(); - } - // wrapperRef is a reference object and should be stable - }, [isModalOpen, shouldHideBlockLockUI, wrapperRef]); - if (shouldHideBlockLockUI) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, { - className: "block-editor-block-lock-toolbar" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - ref: lockButtonRef, - icon: library_lock, - label: (0,external_wp_i18n_namespaceObject.__)('Unlock'), - onClick: toggleModal, - "aria-expanded": isModalOpen, - "aria-haspopup": "dialog" - })), isModalOpen && (0,external_wp_element_namespaceObject.createElement)(BlockLockModal, { - clientId: clientId, - onClose: toggleModal - })); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/group.js - -/** - * WordPress dependencies - */ - -const group_group = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M18 4h-7c-1.1 0-2 .9-2 2v3H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h3V13c0 1.1.9 2 2 2h2.5v3zm0-4.5H11c-.3 0-.5-.2-.5-.5v-2.5H13c.3 0 .5.2.5.5v2.5zm5-.5c0 .3-.2.5-.5.5h-3V11c0-1.1-.9-2-2-2h-2.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7z" -})); -/* harmony default export */ var library_group = (group_group); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/row.js - -/** - * WordPress dependencies - */ - -const row = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M4 6.5h5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H4V16h5a.5.5 0 0 0 .5-.5v-7A.5.5 0 0 0 9 8H4V6.5Zm16 0h-5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h5V16h-5a.5.5 0 0 1-.5-.5v-7A.5.5 0 0 1 15 8h5V6.5Z" -})); -/* harmony default export */ var library_row = (row); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/stack.js - -/** - * WordPress dependencies - */ - -const stack = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M17.5 4v5a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V4H8v5a.5.5 0 0 0 .5.5h7A.5.5 0 0 0 16 9V4h1.5Zm0 16v-5a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v5H8v-5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v5h1.5Z" -})); -/* harmony default export */ var library_stack = (stack); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/convert-to-group-buttons/toolbar.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - -const layouts = { - group: { - type: 'constrained' - }, - row: { - type: 'flex', - flexWrap: 'nowrap' - }, - stack: { - type: 'flex', - orientation: 'vertical' - } -}; -function BlockGroupToolbar() { - const { - blocksSelection, - clientIds, - groupingBlockName, - isGroupable - } = useConvertToGroupButtonProps(); - const { - replaceBlocks - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const { - canRemove, - variations - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - canRemoveBlocks - } = select(store); - const { - getBlockVariations - } = select(external_wp_blocks_namespaceObject.store); - return { - canRemove: canRemoveBlocks(clientIds), - variations: getBlockVariations(groupingBlockName, 'transform') - }; - }, [clientIds, groupingBlockName]); - const onConvertToGroup = layout => { - const newBlocks = (0,external_wp_blocks_namespaceObject.switchToBlockType)(blocksSelection, groupingBlockName); - if (typeof layout !== 'string') { - layout = 'group'; - } - if (newBlocks && newBlocks.length > 0) { - // Because the block is not in the store yet we can't use - // updateBlockAttributes so need to manually update attributes. - newBlocks[0].attributes.layout = layouts[layout]; - replaceBlocks(clientIds, newBlocks); - } - }; - const onConvertToRow = () => onConvertToGroup('row'); - const onConvertToStack = () => onConvertToGroup('stack'); - - // Don't render the button if the current selection cannot be grouped. - // A good example is selecting multiple button blocks within a Buttons block: - // The group block is not a valid child of Buttons, so we should not show the button. - // Any blocks that are locked against removal also cannot be grouped. - if (!isGroupable || !canRemove) { - return null; - } - const canInsertRow = !!variations.find(({ - name - }) => name === 'group-row'); - const canInsertStack = !!variations.find(({ - name - }) => name === 'group-stack'); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - icon: library_group, - label: (0,external_wp_i18n_namespaceObject._x)('Group', 'verb'), - onClick: onConvertToGroup - }), canInsertRow && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - icon: library_row, - label: (0,external_wp_i18n_namespaceObject._x)('Row', 'single horizontal line'), - onClick: onConvertToRow - }), canInsertStack && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - icon: library_stack, - label: (0,external_wp_i18n_namespaceObject._x)('Stack', 'verb'), - onClick: onConvertToStack - })); -} -/* harmony default export */ var toolbar = (BlockGroupToolbar); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit-visually-button/index.js - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - -function BlockEditVisuallyButton({ - clientIds -}) { - // Edit visually only works for single block selection. - const clientId = clientIds.length === 1 ? clientIds[0] : undefined; - const canEditVisually = (0,external_wp_data_namespaceObject.useSelect)(select => !!clientId && select(store).getBlockMode(clientId) === 'html', [clientId]); - const { - toggleBlockMode - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - if (!canEditVisually) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { - onClick: () => { - toggleBlockMode(clientId); - } - }, (0,external_wp_i18n_namespaceObject.__)('Edit visually'))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - - - - - - - - -const BlockToolbar = ({ - hideDragHandle -}) => { - const { - blockClientIds, - blockType, - isValid, - isVisual, - blockEditingMode - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockName, - getBlockMode, - getSelectedBlockClientIds, - isBlockValid, - getBlockRootClientId, - getBlockEditingMode - } = select(store); - const selectedBlockClientIds = getSelectedBlockClientIds(); - const selectedBlockClientId = selectedBlockClientIds[0]; - const blockRootClientId = getBlockRootClientId(selectedBlockClientId); - return { - blockClientIds: selectedBlockClientIds, - blockType: selectedBlockClientId && (0,external_wp_blocks_namespaceObject.getBlockType)(getBlockName(selectedBlockClientId)), - rootClientId: blockRootClientId, - isValid: selectedBlockClientIds.every(id => isBlockValid(id)), - isVisual: selectedBlockClientIds.every(id => getBlockMode(id) === 'visual'), - blockEditingMode: getBlockEditingMode(selectedBlockClientId) - }; - }, []); - const toolbarWrapperRef = (0,external_wp_element_namespaceObject.useRef)(null); - - // Handles highlighting the current block outline on hover or focus of the - // block type toolbar area. - const nodeRef = (0,external_wp_element_namespaceObject.useRef)(); - const showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures({ - ref: nodeRef - }); - const isLargeViewport = !(0,external_wp_compose_namespaceObject.useViewportMatch)('medium', '<'); - if (blockType) { - if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockType, '__experimentalToolbar', true)) { - return null; - } - } - if (blockClientIds.length === 0) { - return null; - } - const shouldShowVisualToolbar = isValid && isVisual; - const isMultiToolbar = blockClientIds.length > 1; - const isSynced = (0,external_wp_blocks_namespaceObject.isReusableBlock)(blockType) || (0,external_wp_blocks_namespaceObject.isTemplatePart)(blockType); - const classes = classnames_default()('block-editor-block-toolbar', { - 'is-synced': isSynced - }); - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: classes, - ref: toolbarWrapperRef - }, !isMultiToolbar && isLargeViewport && blockEditingMode === 'default' && (0,external_wp_element_namespaceObject.createElement)(BlockParentSelector, null), (shouldShowVisualToolbar || isMultiToolbar) && blockEditingMode === 'default' && (0,external_wp_element_namespaceObject.createElement)("div", { - ref: nodeRef, - ...showHoveredOrFocusedGestures - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, { - className: "block-editor-block-toolbar__block-controls" - }, (0,external_wp_element_namespaceObject.createElement)(block_switcher, { - clientIds: blockClientIds - }), !isMultiToolbar && (0,external_wp_element_namespaceObject.createElement)(BlockLockToolbar, { - clientId: blockClientIds[0], - wrapperRef: toolbarWrapperRef - }), (0,external_wp_element_namespaceObject.createElement)(block_mover, { - clientIds: blockClientIds, - hideDragHandle: hideDragHandle - }))), shouldShowVisualToolbar && isMultiToolbar && (0,external_wp_element_namespaceObject.createElement)(toolbar, null), shouldShowVisualToolbar && (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(block_controls.Slot, { - group: "parent", - className: "block-editor-block-toolbar__slot" - }), (0,external_wp_element_namespaceObject.createElement)(block_controls.Slot, { - group: "block", - className: "block-editor-block-toolbar__slot" - }), (0,external_wp_element_namespaceObject.createElement)(block_controls.Slot, { - className: "block-editor-block-toolbar__slot" - }), (0,external_wp_element_namespaceObject.createElement)(block_controls.Slot, { - group: "inline", - className: "block-editor-block-toolbar__slot" - }), (0,external_wp_element_namespaceObject.createElement)(block_controls.Slot, { - group: "other", - className: "block-editor-block-toolbar__slot" - }), (0,external_wp_element_namespaceObject.createElement)(block_name_context.Provider, { - value: blockType?.name - }, (0,external_wp_element_namespaceObject.createElement)(block_toolbar_last_item.Slot, null))), (0,external_wp_element_namespaceObject.createElement)(BlockEditVisuallyButton, { - clientIds: blockClientIds - }), blockEditingMode === 'default' && (0,external_wp_element_namespaceObject.createElement)(block_settings_menu, { - clientIds: blockClientIds - })); -}; - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md - */ -/* harmony default export */ var block_toolbar = (BlockToolbar); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/block-selection-button.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - - - -/** - * Internal dependencies - */ - - - - - - - - -/** - * Block selection button component, displaying the label of the block. If the block - * descends from a root block, a button is displayed enabling the user to select - * the root block. - * - * @param {string} props Component props. - * @param {string} props.clientId Client ID of block. - * - * @return {WPComponent} The component to be rendered. - */ -function BlockSelectionButton({ - clientId, - rootClientId -}) { - const blockInformation = useBlockDisplayInformation(clientId); - const selected = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlock, - getBlockIndex, - hasBlockMovingClientId, - getBlockListSettings, - __unstableGetEditorMode - } = select(store); - const index = getBlockIndex(clientId); - const { - name, - attributes - } = getBlock(clientId); - const blockMovingMode = hasBlockMovingClientId(); - return { - index, - name, - attributes, - blockMovingMode, - orientation: getBlockListSettings(rootClientId)?.orientation, - editorMode: __unstableGetEditorMode() - }; - }, [clientId, rootClientId]); - const { - index, - name, - attributes, - blockMovingMode, - orientation, - editorMode - } = selected; - const { - setNavigationMode, - removeBlock - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const ref = (0,external_wp_element_namespaceObject.useRef)(); - const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(name); - const label = (0,external_wp_blocks_namespaceObject.__experimentalGetAccessibleBlockLabel)(blockType, attributes, index + 1, orientation); - - // Focus the breadcrumb in navigation mode. - (0,external_wp_element_namespaceObject.useEffect)(() => { - ref.current.focus(); - (0,external_wp_a11y_namespaceObject.speak)(label); - }, [label]); - const blockElement = useBlockElement(clientId); - const { - hasBlockMovingClientId, - getBlockIndex, - getBlockRootClientId, - getClientIdsOfDescendants, - getSelectedBlockClientId, - getMultiSelectedBlocksEndClientId, - getPreviousBlockClientId, - getNextBlockClientId - } = (0,external_wp_data_namespaceObject.useSelect)(store); - const { - selectBlock, - clearSelectedBlock, - setBlockMovingClientId, - moveBlockToPosition - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - function onKeyDown(event) { - const { - keyCode - } = event; - const isUp = keyCode === external_wp_keycodes_namespaceObject.UP; - const isDown = keyCode === external_wp_keycodes_namespaceObject.DOWN; - const isLeft = keyCode === external_wp_keycodes_namespaceObject.LEFT; - const isRight = keyCode === external_wp_keycodes_namespaceObject.RIGHT; - const isTab = keyCode === external_wp_keycodes_namespaceObject.TAB; - const isEscape = keyCode === external_wp_keycodes_namespaceObject.ESCAPE; - const isEnter = keyCode === external_wp_keycodes_namespaceObject.ENTER; - const isSpace = keyCode === external_wp_keycodes_namespaceObject.SPACE; - const isShift = event.shiftKey; - if (keyCode === external_wp_keycodes_namespaceObject.BACKSPACE || keyCode === external_wp_keycodes_namespaceObject.DELETE) { - removeBlock(clientId); - event.preventDefault(); - return; - } - const selectedBlockClientId = getSelectedBlockClientId(); - const selectionEndClientId = getMultiSelectedBlocksEndClientId(); - const selectionBeforeEndClientId = getPreviousBlockClientId(selectionEndClientId || selectedBlockClientId); - const selectionAfterEndClientId = getNextBlockClientId(selectionEndClientId || selectedBlockClientId); - const navigateUp = isTab && isShift || isUp; - const navigateDown = isTab && !isShift || isDown; - // Move out of current nesting level (no effect if at root level). - const navigateOut = isLeft; - // Move into next nesting level (no effect if the current block has no innerBlocks). - const navigateIn = isRight; - let focusedBlockUid; - if (navigateUp) { - focusedBlockUid = selectionBeforeEndClientId; - } else if (navigateDown) { - focusedBlockUid = selectionAfterEndClientId; - } else if (navigateOut) { - var _getBlockRootClientId; - focusedBlockUid = (_getBlockRootClientId = getBlockRootClientId(selectedBlockClientId)) !== null && _getBlockRootClientId !== void 0 ? _getBlockRootClientId : selectedBlockClientId; - } else if (navigateIn) { - var _getClientIdsOfDescen; - focusedBlockUid = (_getClientIdsOfDescen = getClientIdsOfDescendants(selectedBlockClientId)[0]) !== null && _getClientIdsOfDescen !== void 0 ? _getClientIdsOfDescen : selectedBlockClientId; - } - const startingBlockClientId = hasBlockMovingClientId(); - if (isEscape && startingBlockClientId && !event.defaultPrevented) { - setBlockMovingClientId(null); - event.preventDefault(); - } - if ((isEnter || isSpace) && startingBlockClientId) { - const sourceRoot = getBlockRootClientId(startingBlockClientId); - const destRoot = getBlockRootClientId(selectedBlockClientId); - const sourceBlockIndex = getBlockIndex(startingBlockClientId); - let destinationBlockIndex = getBlockIndex(selectedBlockClientId); - if (sourceBlockIndex < destinationBlockIndex && sourceRoot === destRoot) { - destinationBlockIndex -= 1; - } - moveBlockToPosition(startingBlockClientId, sourceRoot, destRoot, destinationBlockIndex); - selectBlock(startingBlockClientId); - setBlockMovingClientId(null); - } - // Prevent the block from being moved into itself. - if (startingBlockClientId && selectedBlockClientId === startingBlockClientId && navigateIn) { - return; - } - if (navigateDown || navigateUp || navigateOut || navigateIn) { - if (focusedBlockUid) { - event.preventDefault(); - selectBlock(focusedBlockUid); - } else if (isTab && selectedBlockClientId) { - let nextTabbable; - if (navigateDown) { - nextTabbable = blockElement; - do { - nextTabbable = external_wp_dom_namespaceObject.focus.tabbable.findNext(nextTabbable); - } while (nextTabbable && blockElement.contains(nextTabbable)); - if (!nextTabbable) { - nextTabbable = blockElement.ownerDocument.defaultView.frameElement; - nextTabbable = external_wp_dom_namespaceObject.focus.tabbable.findNext(nextTabbable); - } - } else { - nextTabbable = external_wp_dom_namespaceObject.focus.tabbable.findPrevious(blockElement); - } - if (nextTabbable) { - event.preventDefault(); - nextTabbable.focus(); - clearSelectedBlock(); - } - } - } - } - const classNames = classnames_default()('block-editor-block-list__block-selection-button', { - 'is-block-moving-mode': !!blockMovingMode - }); - const dragHandleLabel = (0,external_wp_i18n_namespaceObject.__)('Drag'); - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: classNames - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Flex, { - justify: "center", - className: "block-editor-block-list__block-selection-button__content" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_wp_element_namespaceObject.createElement)(block_icon, { - icon: blockInformation?.icon, - showColors: true - })), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, editorMode === 'zoom-out' && (0,external_wp_element_namespaceObject.createElement)(block_mover, { - clientIds: [clientId], - hideDragHandle: true - }), editorMode === 'navigation' && (0,external_wp_element_namespaceObject.createElement)(block_draggable, { - clientIds: [clientId] - }, draggableProps => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - icon: drag_handle, - className: "block-selection-button_drag-handle", - "aria-hidden": "true", - label: dragHandleLabel - // Should not be able to tab to drag handle as this - // button can only be used with a pointer device. - , - tabIndex: "-1", - ...draggableProps - }))), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - ref: ref, - onClick: editorMode === 'navigation' ? () => setNavigationMode(false) : undefined, - onKeyDown: onKeyDown, - label: label, - showTooltip: false, - className: "block-selection-button_select-button" - }, (0,external_wp_element_namespaceObject.createElement)(BlockTitle, { - clientId: clientId, - maximumLength: 35 - }))))); -} -/* harmony default export */ var block_selection_button = (BlockSelectionButton); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/next.js - -/** - * WordPress dependencies - */ - -const next = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M6.6 6L5.4 7l4.5 5-4.5 5 1.1 1 5.5-6-5.4-6zm6 0l-1.1 1 4.5 5-4.5 5 1.1 1 5.5-6-5.5-6z" -})); -/* harmony default export */ var library_next = (next); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/previous.js - -/** - * WordPress dependencies - */ - -const previous = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M11.6 7l-1.1-1L5 12l5.5 6 1.1-1L7 12l4.6-5zm6 0l-1.1-1-5.5 6 5.5 6 1.1-1-4.6-5 4.6-5z" -})); -/* harmony default export */ var library_previous = (previous); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/use-has-block-controls.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - -function useHasAnyBlockControls() { - let hasAnyBlockControls = false; - for (const group in block_controls_groups) { - // It is safe to violate the rules of hooks here as the `groups` object - // is static and will not change length between renders. Do not return - // early as that will cause the hook to be called a different number of - // times between renders. - // eslint-disable-next-line react-hooks/rules-of-hooks - if (useHasBlockControls(group)) { - hasAnyBlockControls = true; - } - } - return hasAnyBlockControls; -} -function useHasBlockControls(group = 'default') { - const Slot = block_controls_groups[group]?.Slot; - const fills = (0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(Slot?.__unstableName); - if (!Slot) { - true ? external_wp_warning_default()(`Unknown BlockControls group "${group}" provided.`) : 0; - return null; - } - return !!fills?.length; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/block-contextual-toolbar.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - - - - -function BlockContextualToolbar({ - focusOnMount, - isFixed, - ...props -}) { - // When the toolbar is fixed it can be collapsed - const [isCollapsed, setIsCollapsed] = (0,external_wp_element_namespaceObject.useState)(false); - const toolbarButtonRef = (0,external_wp_element_namespaceObject.useRef)(); - const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium'); - const { - blockType, - blockEditingMode, - hasParents, - showParentSelector, - selectedBlockClientId - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockName, - getBlockParents, - getSelectedBlockClientIds, - getBlockEditingMode - } = select(store); - const { - getBlockType - } = select(external_wp_blocks_namespaceObject.store); - const selectedBlockClientIds = getSelectedBlockClientIds(); - const _selectedBlockClientId = selectedBlockClientIds[0]; - const parents = getBlockParents(_selectedBlockClientId); - const firstParentClientId = parents[parents.length - 1]; - const parentBlockName = getBlockName(firstParentClientId); - const parentBlockType = getBlockType(parentBlockName); - return { - selectedBlockClientId: _selectedBlockClientId, - blockType: _selectedBlockClientId && getBlockType(getBlockName(_selectedBlockClientId)), - blockEditingMode: getBlockEditingMode(_selectedBlockClientId), - hasParents: parents.length, - showParentSelector: parentBlockType && getBlockEditingMode(firstParentClientId) === 'default' && (0,external_wp_blocks_namespaceObject.hasBlockSupport)(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length <= 1 && getBlockEditingMode(_selectedBlockClientId) === 'default' - }; - }, []); - (0,external_wp_element_namespaceObject.useEffect)(() => { - setIsCollapsed(false); - }, [selectedBlockClientId]); - const isLargerThanTabletViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('large', '>='); - const isFullscreen = document.body.classList.contains('is-fullscreen-mode'); - - /** - * The following code is a workaround to fix the width of the toolbar - * it should be removed when the toolbar will be rendered inline - * FIXME: remove this layout effect when the toolbar is no longer - * absolutely positioned - */ - (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { - // don't do anything if not fixed toolbar - if (!isFixed) { - return; - } - const blockToolbar = document.querySelector('.block-editor-block-contextual-toolbar'); - if (!blockToolbar) { - return; - } - if (!blockType) { - blockToolbar.style.width = 'initial'; - return; - } - if (!isLargerThanTabletViewport) { - // set the width of the toolbar to auto - blockToolbar.style = {}; - return; - } - if (isCollapsed) { - // set the width of the toolbar to auto - blockToolbar.style.width = 'auto'; - return; - } - - // get the width of the pinned items in the post editor or widget editor - const pinnedItems = document.querySelector('.edit-post-header__settings, .edit-widgets-header__actions'); - // get the width of the left header in the site editor - const leftHeader = document.querySelector('.edit-site-header-edit-mode__end'); - const computedToolbarStyle = window.getComputedStyle(blockToolbar); - const computedPinnedItemsStyle = pinnedItems ? window.getComputedStyle(pinnedItems) : false; - const computedLeftHeaderStyle = leftHeader ? window.getComputedStyle(leftHeader) : false; - const marginLeft = parseFloat(computedToolbarStyle.marginLeft); - const pinnedItemsWidth = computedPinnedItemsStyle ? parseFloat(computedPinnedItemsStyle.width) : 0; - const leftHeaderWidth = computedLeftHeaderStyle ? parseFloat(computedLeftHeaderStyle.width) : 0; - - // set the new witdth of the toolbar - blockToolbar.style.width = `calc(100% - ${leftHeaderWidth + pinnedItemsWidth + marginLeft + (pinnedItems || leftHeader ? 2 : 0) + ( - // Prevents button focus border from being cut off - isFullscreen ? 0 : 160) // the width of the admin sidebar expanded - }px)`; - }, [isFixed, isLargerThanTabletViewport, isCollapsed, isFullscreen, blockType]); - const isToolbarEnabled = !blockType || (0,external_wp_blocks_namespaceObject.hasBlockSupport)(blockType, '__experimentalToolbar', true); - const hasAnyBlockControls = useHasAnyBlockControls(); - if (!isToolbarEnabled || blockEditingMode !== 'default' && !hasAnyBlockControls) { - return null; - } - - // Shifts the toolbar to make room for the parent block selector. - const classes = classnames_default()('block-editor-block-contextual-toolbar', { - 'has-parent': hasParents && showParentSelector, - 'is-fixed': isFixed, - 'is-collapsed': isCollapsed - }); - return (0,external_wp_element_namespaceObject.createElement)(navigable_toolbar, { - focusOnMount: focusOnMount, - className: classes - /* translators: accessibility text for the block toolbar */, - "aria-label": (0,external_wp_i18n_namespaceObject.__)('Block tools'), - ...props - }, !isCollapsed && (0,external_wp_element_namespaceObject.createElement)(block_toolbar, { - hideDragHandle: isFixed - }), isFixed && isLargeViewport && blockType && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, { - className: isCollapsed ? 'block-editor-block-toolbar__group-expand-fixed-toolbar' : 'block-editor-block-toolbar__group-collapse-fixed-toolbar' - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarItem, { - as: external_wp_components_namespaceObject.ToolbarButton, - ref: toolbarButtonRef, - icon: isCollapsed ? library_next : library_previous, - onClick: () => { - setIsCollapsed(collapsed => !collapsed); - toolbarButtonRef.current.focus(); - }, - label: isCollapsed ? (0,external_wp_i18n_namespaceObject.__)('Show block tools') : (0,external_wp_i18n_namespaceObject.__)('Hide block tools') - }))); -} -/* harmony default export */ var block_contextual_toolbar = (BlockContextualToolbar); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/use-block-toolbar-popover-props.js -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - -const COMMON_PROPS = { - placement: 'top-start' -}; - -// By default the toolbar sets the `shift` prop. If the user scrolls the page -// down the toolbar will stay on screen by adopting a sticky position at the -// top of the viewport. -const use_block_toolbar_popover_props_DEFAULT_PROPS = { - ...COMMON_PROPS, - flip: false, - shift: true -}; - -// When there isn't enough height between the top of the block and the editor -// canvas, the `shift` prop is set to `false`, as it will cause the block to be -// obscured. The `flip` behavior is enabled, which positions the toolbar below -// the block. This only happens if the block is smaller than the viewport, as -// otherwise the toolbar will be off-screen. -const RESTRICTED_HEIGHT_PROPS = { - ...COMMON_PROPS, - flip: true, - shift: false -}; - -/** - * Get the popover props for the block toolbar, determined by the space at the top of the canvas and the toolbar height. - * - * @param {Element} contentElement The DOM element that represents the editor content or canvas. - * @param {Element} selectedBlockElement The outer DOM element of the first selected block. - * @param {Element} scrollContainer The scrollable container for the contentElement. - * @param {number} toolbarHeight The height of the toolbar in pixels. - * @param {boolean} isSticky Whether or not the selected block is sticky or fixed. - * - * @return {Object} The popover props used to determine the position of the toolbar. - */ -function getProps(contentElement, selectedBlockElement, scrollContainer, toolbarHeight, isSticky) { - if (!contentElement || !selectedBlockElement) { - return use_block_toolbar_popover_props_DEFAULT_PROPS; - } - - // Get how far the content area has been scrolled. - const scrollTop = scrollContainer?.scrollTop || 0; - const blockRect = selectedBlockElement.getBoundingClientRect(); - const contentRect = contentElement.getBoundingClientRect(); - - // Get the vertical position of top of the visible content area. - const topOfContentElementInViewport = scrollTop + contentRect.top; - - // The document element's clientHeight represents the viewport height. - const viewportHeight = contentElement.ownerDocument.documentElement.clientHeight; - - // The restricted height area is calculated as the sum of the - // vertical position of the visible content area, plus the height - // of the block toolbar. - const restrictedTopArea = topOfContentElementInViewport + toolbarHeight; - const hasSpaceForToolbarAbove = blockRect.top > restrictedTopArea; - const isBlockTallerThanViewport = blockRect.height > viewportHeight - toolbarHeight; - - // Sticky blocks are treated as if they will never have enough space for the toolbar above. - if (!isSticky && (hasSpaceForToolbarAbove || isBlockTallerThanViewport)) { - return use_block_toolbar_popover_props_DEFAULT_PROPS; - } - return RESTRICTED_HEIGHT_PROPS; -} - -/** - * Determines the desired popover positioning behavior, returning a set of appropriate props. - * - * @param {Object} elements - * @param {Element} elements.contentElement The DOM element that represents the editor content or canvas. - * @param {string} elements.clientId The clientId of the first selected block. - * - * @return {Object} The popover props used to determine the position of the toolbar. - */ -function useBlockToolbarPopoverProps({ - contentElement, - clientId -}) { - const selectedBlockElement = useBlockElement(clientId); - const [toolbarHeight, setToolbarHeight] = (0,external_wp_element_namespaceObject.useState)(0); - const { - blockIndex, - isSticky - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getBlockIndex, - getBlockAttributes - } = select(store); - return { - blockIndex: getBlockIndex(clientId), - isSticky: hasStickyOrFixedPositionValue(getBlockAttributes(clientId)) - }; - }, [clientId]); - const scrollContainer = (0,external_wp_element_namespaceObject.useMemo)(() => { - if (!contentElement) { - return; - } - return (0,external_wp_dom_namespaceObject.getScrollContainer)(contentElement); - }, [contentElement]); - const [props, setProps] = (0,external_wp_element_namespaceObject.useState)(() => getProps(contentElement, selectedBlockElement, scrollContainer, toolbarHeight, isSticky)); - const popoverRef = (0,external_wp_compose_namespaceObject.useRefEffect)(popoverNode => { - setToolbarHeight(popoverNode.offsetHeight); - }, []); - const updateProps = (0,external_wp_element_namespaceObject.useCallback)(() => setProps(getProps(contentElement, selectedBlockElement, scrollContainer, toolbarHeight, isSticky)), [contentElement, selectedBlockElement, scrollContainer, toolbarHeight]); - - // Update props when the block is moved. This also ensures the props are - // correct on initial mount, and when the selected block or content element - // changes (since the callback ref will update). - (0,external_wp_element_namespaceObject.useLayoutEffect)(updateProps, [blockIndex, updateProps]); - - // Update props when the viewport is resized or the block is resized. - (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { - if (!contentElement || !selectedBlockElement) { - return; - } - - // Update the toolbar props on viewport resize. - const contentView = contentElement?.ownerDocument?.defaultView; - contentView?.addEventHandler?.('resize', updateProps); - - // Update the toolbar props on block resize. - let resizeObserver; - const blockView = selectedBlockElement?.ownerDocument?.defaultView; - if (blockView.ResizeObserver) { - resizeObserver = new blockView.ResizeObserver(updateProps); - resizeObserver.observe(selectedBlockElement); - } - return () => { - contentView?.removeEventHandler?.('resize', updateProps); - if (resizeObserver) { - resizeObserver.disconnect(); - } - }; - }, [updateProps, contentElement, selectedBlockElement]); - return { + return (0,external_React_.createElement)("div", { ...props, - ref: popoverRef - }; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/use-should-contextual-toolbar-show.js -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -/** - * Returns true if the contextual block toolbar should show, or false if it should be hidden. - * - * @return {boolean} Whether the block toolbar is hidden. - */ -function useShouldContextualToolbarShow() { - const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium'); - const { - shouldShowContextualToolbar, - canFocusHiddenToolbar, - fixedToolbarCanBeFocused - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - __unstableGetEditorMode, - isMultiSelecting, - isTyping, - isBlockInterfaceHidden, - getBlock, - getSettings, - isNavigationMode, - getSelectedBlockClientId, - getFirstMultiSelectedBlockClientId - } = unlock(select(store)); - const isEditMode = __unstableGetEditorMode() === 'edit'; - const hasFixedToolbar = getSettings().hasFixedToolbar; - const isDistractionFree = getSettings().isDistractionFree; - const selectedBlockId = getFirstMultiSelectedBlockClientId() || getSelectedBlockClientId(); - const hasSelectedBlockId = !!selectedBlockId; - const isEmptyDefaultBlock = (0,external_wp_blocks_namespaceObject.isUnmodifiedDefaultBlock)(getBlock(selectedBlockId) || {}); - const _shouldShowContextualToolbar = isEditMode && !hasFixedToolbar && (!isDistractionFree || isNavigationMode()) && isLargeViewport && !isMultiSelecting() && !isTyping() && hasSelectedBlockId && !isEmptyDefaultBlock && !isBlockInterfaceHidden(); - const _canFocusHiddenToolbar = isEditMode && hasSelectedBlockId && !_shouldShowContextualToolbar && !hasFixedToolbar && !isDistractionFree && !isEmptyDefaultBlock; - return { - shouldShowContextualToolbar: _shouldShowContextualToolbar, - canFocusHiddenToolbar: _canFocusHiddenToolbar, - fixedToolbarCanBeFocused: (hasFixedToolbar || !isLargeViewport) && selectedBlockId - }; - }, [isLargeViewport]); - return { - shouldShowContextualToolbar, - canFocusHiddenToolbar, - fixedToolbarCanBeFocused - }; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/selected-block-popover.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - - - - -function selected_block_popover_selector(select) { - const { - __unstableGetEditorMode, - hasMultiSelection, - isTyping, - getLastMultiSelectedBlockClientId - } = select(store); - return { - editorMode: __unstableGetEditorMode(), - hasMultiSelection: hasMultiSelection(), - isTyping: isTyping(), - lastClientId: hasMultiSelection() ? getLastMultiSelectedBlockClientId() : null - }; -} -function SelectedBlockPopover({ - clientId, - rootClientId, - isEmptyDefaultBlock, - capturingClientId, - __unstablePopoverSlot, - __unstableContentRef -}) { - const { - editorMode, - hasMultiSelection, - isTyping, - lastClientId - } = (0,external_wp_data_namespaceObject.useSelect)(selected_block_popover_selector, []); - const isInsertionPointVisible = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - isBlockInsertionPointVisible, - getBlockInsertionPoint, - getBlockOrder - } = select(store); - if (!isBlockInsertionPointVisible()) { - return false; - } - const insertionPoint = getBlockInsertionPoint(); - const order = getBlockOrder(insertionPoint.rootClientId); - return order[insertionPoint.index] === clientId; - }, [clientId]); - const isToolbarForced = (0,external_wp_element_namespaceObject.useRef)(false); - const { - shouldShowContextualToolbar, - canFocusHiddenToolbar - } = useShouldContextualToolbarShow(); - const { - stopTyping - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const showEmptyBlockSideInserter = !isTyping && editorMode === 'edit' && isEmptyDefaultBlock; - const shouldShowBreadcrumb = !hasMultiSelection && (editorMode === 'navigation' || editorMode === 'zoom-out'); - (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)('core/block-editor/focus-toolbar', () => { - isToolbarForced.current = true; - stopTyping(true); - }, { - isDisabled: !canFocusHiddenToolbar + ref: useClipboardHandler() }); - (0,external_wp_element_namespaceObject.useEffect)(() => { - isToolbarForced.current = false; - }); - - // Stores the active toolbar item index so the block toolbar can return focus - // to it when re-mounting. - const initialToolbarItemIndexRef = (0,external_wp_element_namespaceObject.useRef)(); - (0,external_wp_element_namespaceObject.useEffect)(() => { - // Resets the index whenever the active block changes so this is not - // persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169 - initialToolbarItemIndexRef.current = undefined; - }, [clientId]); - const popoverProps = useBlockToolbarPopoverProps({ - contentElement: __unstableContentRef?.current, - clientId - }); - if (showEmptyBlockSideInserter) { - return (0,external_wp_element_namespaceObject.createElement)(block_popover, { - clientId: capturingClientId || clientId, - __unstableCoverTarget: true, - bottomClientId: lastClientId, - className: classnames_default()('block-editor-block-list__block-side-inserter-popover', { - 'is-insertion-point-visible': isInsertionPointVisible - }), - __unstablePopoverSlot: __unstablePopoverSlot, - __unstableContentRef: __unstableContentRef, - resize: false, - shift: false, - ...popoverProps - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-block-list__empty-block-inserter" - }, (0,external_wp_element_namespaceObject.createElement)(inserter, { - position: "bottom right", - rootClientId: rootClientId, - clientId: clientId, - __experimentalIsQuick: true - }))); - } - if (shouldShowBreadcrumb || shouldShowContextualToolbar) { - return (0,external_wp_element_namespaceObject.createElement)(block_popover, { - clientId: capturingClientId || clientId, - bottomClientId: lastClientId, - className: classnames_default()('block-editor-block-list__block-popover', { - 'is-insertion-point-visible': isInsertionPointVisible - }), - __unstablePopoverSlot: __unstablePopoverSlot, - __unstableContentRef: __unstableContentRef, - resize: false, - ...popoverProps - }, shouldShowContextualToolbar && (0,external_wp_element_namespaceObject.createElement)(block_contextual_toolbar - // If the toolbar is being shown because of being forced - // it should focus the toolbar right after the mount. - , { - focusOnMount: isToolbarForced.current, - __experimentalInitialIndex: initialToolbarItemIndexRef.current, - __experimentalOnIndexChange: index => { - initialToolbarItemIndexRef.current = index; - } - // Resets the index whenever the active block changes so - // this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169 - , - key: clientId - }), shouldShowBreadcrumb && (0,external_wp_element_namespaceObject.createElement)(block_selection_button, { - clientId: clientId, - rootClientId: rootClientId - })); - } - return null; -} -function wrapperSelector(select) { - const { - getSelectedBlockClientId, - getFirstMultiSelectedBlockClientId, - getBlockRootClientId, - getBlock, - getBlockParents, - __experimentalGetBlockListSettingsForBlocks - } = select(store); - const clientId = getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId(); - if (!clientId) { - return; - } - const { - name, - attributes = {} - } = getBlock(clientId) || {}; - const blockParentsClientIds = getBlockParents(clientId); - - // Get Block List Settings for all ancestors of the current Block clientId. - const parentBlockListSettings = __experimentalGetBlockListSettingsForBlocks(blockParentsClientIds); - - // Get the clientId of the topmost parent with the capture toolbars setting. - const capturingClientId = blockParentsClientIds.find(parentClientId => parentBlockListSettings[parentClientId]?.__experimentalCaptureToolbars); - return { - clientId, - rootClientId: getBlockRootClientId(clientId), - name, - isEmptyDefaultBlock: name && (0,external_wp_blocks_namespaceObject.isUnmodifiedDefaultBlock)({ - name, - attributes - }), - capturingClientId - }; -} -function WrappedBlockPopover({ - __unstablePopoverSlot, - __unstableContentRef -}) { - const selected = (0,external_wp_data_namespaceObject.useSelect)(wrapperSelector, []); - if (!selected) { - return null; - } - const { - clientId, - rootClientId, - name, - isEmptyDefaultBlock, - capturingClientId - } = selected; - if (!name) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(SelectedBlockPopover, { - clientId: clientId, - rootClientId: rootClientId, - isEmptyDefaultBlock: isEmptyDefaultBlock, - capturingClientId: capturingClientId, - __unstablePopoverSlot: __unstablePopoverSlot, - __unstableContentRef: __unstableContentRef - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/zoom-out-mode-inserters.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -function ZoomOutModeInserters({ - __unstableContentRef -}) { - const [isReady, setIsReady] = (0,external_wp_element_namespaceObject.useState)(false); - const blockOrder = (0,external_wp_data_namespaceObject.useSelect)(select => { - return select(store).getBlockOrder(); - }, []); - - // Defer the initial rendering to avoid the jumps due to the animation. - (0,external_wp_element_namespaceObject.useEffect)(() => { - const timeout = setTimeout(() => { - setIsReady(true); - }, 500); - return () => { - clearTimeout(timeout); - }; - }, []); - if (!isReady) { - return null; - } - return blockOrder.map((clientId, index) => { - if (index === blockOrder.length - 1) { - return null; - } - return (0,external_wp_element_namespaceObject.createElement)(inbetween, { - key: clientId, - previousClientId: clientId, - nextClientId: blockOrder[index + 1], - __unstableContentRef: __unstableContentRef - }, (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-block-list__insertion-point-inserter is-with-inserter" - }, (0,external_wp_element_namespaceObject.createElement)(inserter, { - position: "bottom center", - clientId: blockOrder[index + 1], - __experimentalIsQuick: true - }))); - }); -} -/* harmony default export */ var zoom_out_mode_inserters = (ZoomOutModeInserters); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/index.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - - -function block_tools_selector(select) { - const { - __unstableGetEditorMode, - getSettings, - isTyping - } = select(store); - return { - isZoomOutMode: __unstableGetEditorMode() === 'zoom-out', - hasFixedToolbar: getSettings().hasFixedToolbar, - isTyping: isTyping() - }; -} - -/** - * Renders block tools (the block toolbar, select/navigation mode toolbar, the - * insertion point and a slot for the inline rich text toolbar). Must be wrapped - * around the block content and editor styles wrapper or iframe. - * - * @param {Object} $0 Props. - * @param {Object} $0.children The block content and style container. - * @param {Object} $0.__unstableContentRef Ref holding the content scroll container. - */ -function BlockTools({ - children, - __unstableContentRef, - ...props -}) { - const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium'); - const { - hasFixedToolbar, - isZoomOutMode, - isTyping - } = (0,external_wp_data_namespaceObject.useSelect)(block_tools_selector, []); - const isMatch = (0,external_wp_keyboardShortcuts_namespaceObject.__unstableUseShortcutEventMatch)(); - const { - getSelectedBlockClientIds, - getBlockRootClientId - } = (0,external_wp_data_namespaceObject.useSelect)(store); - const { - duplicateBlocks, - removeBlocks, - insertAfterBlock, - insertBeforeBlock, - clearSelectedBlock, - selectBlock, - moveBlocksUp, - moveBlocksDown - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - function onKeyDown(event) { - if (event.defaultPrevented) return; - if (isMatch('core/block-editor/move-up', event)) { - const clientIds = getSelectedBlockClientIds(); - if (clientIds.length) { - event.preventDefault(); - const rootClientId = getBlockRootClientId(clientIds[0]); - moveBlocksUp(clientIds, rootClientId); - } - } else if (isMatch('core/block-editor/move-down', event)) { - const clientIds = getSelectedBlockClientIds(); - if (clientIds.length) { - event.preventDefault(); - const rootClientId = getBlockRootClientId(clientIds[0]); - moveBlocksDown(clientIds, rootClientId); - } - } else if (isMatch('core/block-editor/duplicate', event)) { - const clientIds = getSelectedBlockClientIds(); - if (clientIds.length) { - event.preventDefault(); - duplicateBlocks(clientIds); - } - } else if (isMatch('core/block-editor/remove', event)) { - const clientIds = getSelectedBlockClientIds(); - if (clientIds.length) { - event.preventDefault(); - removeBlocks(clientIds); - } - } else if (isMatch('core/block-editor/insert-after', event)) { - const clientIds = getSelectedBlockClientIds(); - if (clientIds.length) { - event.preventDefault(); - insertAfterBlock(clientIds[clientIds.length - 1]); - } - } else if (isMatch('core/block-editor/insert-before', event)) { - const clientIds = getSelectedBlockClientIds(); - if (clientIds.length) { - event.preventDefault(); - insertBeforeBlock(clientIds[0]); - } - } else if (isMatch('core/block-editor/unselect', event)) { - const clientIds = getSelectedBlockClientIds(); - if (clientIds.length) { - event.preventDefault(); - - // If there is more than one block selected, select the first - // block so that focus is directed back to the beginning of the selection. - // In effect, to the user this feels like deselecting the multi-selection. - if (clientIds.length > 1) { - selectBlock(clientIds[0]); - } else { - clearSelectedBlock(); - } - event.target.ownerDocument.defaultView.getSelection().removeAllRanges(); - __unstableContentRef?.current.focus(); - } - } - } - const blockToolbarRef = use_popover_scroll(__unstableContentRef); - const blockToolbarAfterRef = use_popover_scroll(__unstableContentRef); - return ( - // eslint-disable-next-line jsx-a11y/no-static-element-interactions - (0,external_wp_element_namespaceObject.createElement)("div", { - ...props, - onKeyDown: onKeyDown - }, (0,external_wp_element_namespaceObject.createElement)(insertion_point_InsertionPointOpenRef.Provider, { - value: (0,external_wp_element_namespaceObject.useRef)(false) - }, !isTyping && (0,external_wp_element_namespaceObject.createElement)(InsertionPoint, { - __unstableContentRef: __unstableContentRef - }), !isZoomOutMode && (hasFixedToolbar || !isLargeViewport) && (0,external_wp_element_namespaceObject.createElement)(block_contextual_toolbar, { - isFixed: true - }), (0,external_wp_element_namespaceObject.createElement)(WrappedBlockPopover, { - __unstableContentRef: __unstableContentRef - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover.Slot, { - name: "block-toolbar", - ref: blockToolbarRef - }), children, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover.Slot, { - name: "__unstable-block-tools-after", - ref: blockToolbarAfterRef - }), isZoomOutMode && (0,external_wp_element_namespaceObject.createElement)(zoom_out_mode_inserters, { - __unstableContentRef: __unstableContentRef - }))) - ); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/library.js @@ -60319,20 +65647,17 @@ function InserterLibrary({ shouldFocusBlock = false }, ref) { const { - destinationRootClientId, - prioritizePatterns + destinationRootClientId } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { - getBlockRootClientId, - getSettings + getBlockRootClientId } = select(store); const _rootClientId = rootClientId || getBlockRootClientId(clientId) || undefined; return { - destinationRootClientId: _rootClientId, - prioritizePatterns: getSettings().__experimentalPreferPatternsOnRoot && !_rootClientId + destinationRootClientId: _rootClientId }; }, [clientId, rootClientId]); - return (0,external_wp_element_namespaceObject.createElement)(menu, { + return (0,external_React_.createElement)(menu, { onSelect: onSelect, rootClientId: destinationRootClientId, clientId: clientId, @@ -60342,7 +65667,6 @@ function InserterLibrary({ __experimentalInsertionIndex: __experimentalInsertionIndex, __experimentalFilterValue: __experimentalFilterValue, shouldFocusBlock: shouldFocusBlock, - prioritizePatterns: prioritizePatterns, ref: ref }); } @@ -60565,7 +65889,7 @@ function useTypewriter() { function Typewriter({ children }) { - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { ref: useTypewriter(), className: "block-editor__typewriter" }, children); @@ -60576,7 +65900,7 @@ function Typewriter({ * challenges in Internet Explorer, and is simply skipped, rendering the given * props children instead. * - * @type {WPComponent} + * @type {Component} */ const TypewriterOrIEBypass = isIE ? props => props.children : Typewriter; @@ -60594,6 +65918,7 @@ const TypewriterOrIEBypass = isIE ? props => props.children : Typewriter; */ + /** * Internal dependencies */ @@ -60643,7 +65968,7 @@ function RecursionProvider({ } = useBlockEditContext(); blockName = blockName || name; const newRenderedBlocks = (0,external_wp_element_namespaceObject.useMemo)(() => addToBlockType(previouslyRenderedBlocks, blockName, uniqueId), [previouslyRenderedBlocks, blockName, uniqueId]); - return (0,external_wp_element_namespaceObject.createElement)(RenderedRefsContext.Provider, { + return (0,external_React_.createElement)(RenderedRefsContext.Provider, { value: newRenderedBlocks }, children); } @@ -60669,6 +65994,22 @@ function useHasRecursion(uniqueId, blockName = '') { blockName = blockName || name; return Boolean(previouslyRenderedBlocks[blockName]?.has(uniqueId)); } +const DeprecatedExperimentalRecursionProvider = props => { + external_wp_deprecated_default()('wp.blockEditor.__experimentalRecursionProvider', { + since: '6.5', + alternative: 'wp.blockEditor.RecursionProvider' + }); + return (0,external_React_.createElement)(RecursionProvider, { + ...props + }); +}; +const DeprecatedExperimentalUseHasRecursion = props => { + external_wp_deprecated_default()('wp.blockEditor.__experimentalUseHasRecursion', { + since: '6.5', + alternative: 'wp.blockEditor.useHasRecursion' + }); + return useHasRecursion(...props); +}; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/close-small.js @@ -60676,10 +66017,10 @@ function useHasRecursion(uniqueId, blockName = '') { * WordPress dependencies */ -const closeSmall = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const closeSmall = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z" })); /* harmony default export */ var close_small = (closeSmall); @@ -60698,32 +66039,32 @@ function InspectorPopoverHeader({ actions = [], onClose }) { - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { className: "block-editor-inspector-popover-header", spacing: 4 - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { alignment: "center" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHeading, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHeading, { className: "block-editor-inspector-popover-header__heading", level: 2, size: 13 - }, title), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, null), actions.map(({ + }, title), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, null), actions.map(({ label, icon, onClick - }) => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }) => (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { key: label, className: "block-editor-inspector-popover-header__action", label: label, icon: icon, variant: !icon && 'tertiary', onClick: onClick - }, !icon && label)), onClose && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, !icon && label)), onClose && (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { className: "block-editor-inspector-popover-header__action", label: (0,external_wp_i18n_namespaceObject.__)('Close'), icon: close_small, onClick: onClose - })), help && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalText, null, help)); + })), help && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalText, null, help)); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/publish-date-time-picker/index.js @@ -60745,17 +66086,17 @@ function PublishDateTimePicker({ onChange, ...additionalProps }, ref) { - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { ref: ref, className: "block-editor-publish-date-time-picker" - }, (0,external_wp_element_namespaceObject.createElement)(InspectorPopoverHeader, { + }, (0,external_React_.createElement)(InspectorPopoverHeader, { title: (0,external_wp_i18n_namespaceObject.__)('Publish'), actions: [{ label: (0,external_wp_i18n_namespaceObject.__)('Now'), onClick: () => onChange?.(null) }], onClose: onClose - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.DateTimePicker, { + }), (0,external_React_.createElement)(external_wp_components_namespaceObject.DateTimePicker, { startOfWeek: (0,external_wp_date_namespaceObject.getSettings)().l10n.startOfWeek, onChange: onChange, ...additionalProps @@ -60765,30 +66106,16 @@ function PublishDateTimePicker({ ;// CONCATENATED MODULE: external ["wp","commands"] var external_wp_commands_namespaceObject = window["wp"]["commands"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/trash.js - -/** - * WordPress dependencies - */ - -const trash = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M20 5h-5.7c0-1.3-1-2.3-2.3-2.3S9.7 3.7 9.7 5H4v2h1.5v.3l1.7 11.1c.1 1 1 1.7 2 1.7h5.7c1 0 1.8-.7 2-1.7l1.7-11.1V7H20V5zm-3.2 2l-1.7 11.1c0 .1-.1.2-.3.2H9.1c-.1 0-.3-.1-.3-.2L7.2 7h9.6z" -})); -/* harmony default export */ var library_trash = (trash); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/move-to.js /** * WordPress dependencies */ -const move_to_moveTo = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const move_to_moveTo = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M19.75 9c0-1.257-.565-2.197-1.39-2.858-.797-.64-1.827-1.017-2.815-1.247-1.802-.42-3.703-.403-4.383-.396L11 4.5V6l.177-.001c.696-.006 2.416-.02 4.028.356.887.207 1.67.518 2.216.957.52.416.829.945.829 1.688 0 .592-.167.966-.407 1.23-.255.281-.656.508-1.236.674-1.19.34-2.82.346-4.607.346h-.077c-1.692 0-3.527 0-4.942.404-.732.209-1.424.545-1.935 1.108-.526.579-.796 1.33-.796 2.238 0 1.257.565 2.197 1.39 2.858.797.64 1.827 1.017 2.815 1.247 1.802.42 3.703.403 4.383.396L13 19.5h.714V22L18 18.5 13.714 15v3H13l-.177.001c-.696.006-2.416.02-4.028-.356-.887-.207-1.67-.518-2.216-.957-.52-.416-.829-.945-.829-1.688 0-.592.167-.966.407-1.23.255-.281.656-.508 1.237-.674 1.189-.34 2.819-.346 4.606-.346h.077c1.692 0 3.527 0 4.941-.404.732-.209 1.425-.545 1.936-1.108.526-.579.796-1.33.796-2.238z" })); /* harmony default export */ var move_to = (move_to_moveTo); @@ -60799,14 +66126,30 @@ const move_to_moveTo = (0,external_wp_element_namespaceObject.createElement)(ext * WordPress dependencies */ -const ungroup = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const ungroup = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M18 4h-7c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7zm-5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h1V9H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-1h-1.5v1z" })); /* harmony default export */ var library_ungroup = (ungroup); +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/trash.js + +/** + * WordPress dependencies + */ + +const trash = (0,external_React_.createElement)(external_wp_primitives_namespaceObject.SVG, { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, (0,external_React_.createElement)(external_wp_primitives_namespaceObject.Path, { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M12 5.5A2.25 2.25 0 0 0 9.878 7h4.244A2.251 2.251 0 0 0 12 5.5ZM12 4a3.751 3.751 0 0 0-3.675 3H5v1.5h1.27l.818 8.997a2.75 2.75 0 0 0 2.739 2.501h4.347a2.75 2.75 0 0 0 2.738-2.5L17.73 8.5H19V7h-3.325A3.751 3.751 0 0 0 12 4Zm4.224 4.5H7.776l.806 8.861a1.25 1.25 0 0 0 1.245 1.137h4.347a1.25 1.25 0 0 0 1.245-1.137l.805-8.861Z" +})); +/* harmony default export */ var library_trash = (trash); + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-block-commands/index.js /** @@ -60824,37 +66167,33 @@ const ungroup = (0,external_wp_element_namespaceObject.createElement)(external_w const useTransformCommands = () => { - const { - clientIds - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getSelectedBlockClientIds - } = select(store); - const selectedBlockClientIds = getSelectedBlockClientIds(); - return { - clientIds: selectedBlockClientIds - }; - }, []); - const blocks = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getBlocksByClientId(clientIds), [clientIds]); const { replaceBlocks, multiSelect } = (0,external_wp_data_namespaceObject.useDispatch)(store); const { - possibleBlockTransformations, - canRemove + blocks, + clientIds, + canRemove, + possibleBlockTransformations } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { getBlockRootClientId, getBlockTransformItems, + getSelectedBlockClientIds, + getBlocksByClientId, canRemoveBlocks } = select(store); - const rootClientId = getBlockRootClientId(Array.isArray(clientIds) ? clientIds[0] : clientIds); + const selectedBlockClientIds = getSelectedBlockClientIds(); + const selectedBlocks = getBlocksByClientId(selectedBlockClientIds); + const rootClientId = getBlockRootClientId(selectedBlockClientIds[0]); return { - possibleBlockTransformations: getBlockTransformItems(blocks, rootClientId), - canRemove: canRemoveBlocks(clientIds, rootClientId) + blocks: selectedBlocks, + clientIds: selectedBlockClientIds, + possibleBlockTransformations: getBlockTransformItems(selectedBlocks, rootClientId), + canRemove: canRemoveBlocks(selectedBlockClientIds, rootClientId) }; - }, [clientIds, blocks]); + }, []); const isTemplate = blocks.length === 1 && (0,external_wp_blocks_namespaceObject.isTemplatePart)(blocks[0]); function selectForMultipleBlocks(insertedBlocks) { if (insertedBlocks.length > 1) { @@ -60891,7 +66230,7 @@ const useTransformCommands = () => { name: 'core/block-editor/transform-to-' + name.replace('/', '-'), // translators: %s: block title/name. label: (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)('Transform to %s'), title), - icon: (0,external_wp_element_namespaceObject.createElement)(block_icon, { + icon: (0,external_React_.createElement)(block_icon, { icon: icon }), callback: ({ @@ -60908,6 +66247,63 @@ const useTransformCommands = () => { }; }; const useActionsCommands = () => { + const { + clientIds + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getSelectedBlockClientIds + } = select(store); + const selectedBlockClientIds = getSelectedBlockClientIds(); + return { + clientIds: selectedBlockClientIds + }; + }, []); + const { + getBlockRootClientId, + canMoveBlocks, + getBlockCount + } = (0,external_wp_data_namespaceObject.useSelect)(store); + const { + setBlockMovingClientId, + setNavigationMode, + selectBlock + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + if (!clientIds || clientIds.length < 1) { + return { + isLoading: false, + commands: [] + }; + } + const rootClientId = getBlockRootClientId(clientIds[0]); + const canMove = canMoveBlocks(clientIds, rootClientId) && getBlockCount(rootClientId) !== 1; + const commands = []; + if (canMove) { + commands.push({ + name: 'move-to', + label: (0,external_wp_i18n_namespaceObject.__)('Move to'), + callback: () => { + setNavigationMode(true); + selectBlock(clientIds[0]); + setBlockMovingClientId(clientIds[0]); + }, + icon: move_to + }); + } + return { + isLoading: false, + commands: commands.map(command => ({ + ...command, + name: 'core/block-editor/action-' + command.name, + callback: ({ + close + }) => { + command.callback(); + close(); + } + })) + }; +}; +const useQuickActionsCommands = () => { const { clientIds, isUngroupable, @@ -60929,9 +66325,7 @@ const useActionsCommands = () => { canInsertBlockType, getBlockRootClientId, getBlocksByClientId, - canMoveBlocks, - canRemoveBlocks, - getBlockCount + canRemoveBlocks } = (0,external_wp_data_namespaceObject.useSelect)(store); const { getDefaultBlockName, @@ -60943,10 +66337,7 @@ const useActionsCommands = () => { replaceBlocks, duplicateBlocks, insertAfterBlock, - insertBeforeBlock, - setBlockMovingClientId, - setNavigationMode, - selectBlock + insertBeforeBlock } = (0,external_wp_data_namespaceObject.useDispatch)(store); const onGroup = () => { if (!blocks.length) { @@ -60983,35 +66374,7 @@ const useActionsCommands = () => { return !!block && (0,external_wp_blocks_namespaceObject.hasBlockSupport)(block.name, 'multiple', true) && canInsertBlockType(block.name, rootClientId); }); const canRemove = canRemoveBlocks(clientIds, rootClientId); - const canMove = canMoveBlocks(clientIds, rootClientId) && getBlockCount(rootClientId) !== 1; const commands = []; - if (canInsertDefaultBlock) { - commands.push({ - name: 'add-after', - label: (0,external_wp_i18n_namespaceObject.__)('Add after'), - callback: () => { - const clientId = Array.isArray(clientIds) ? clientIds[clientIds.length - 1] : clientId; - insertAfterBlock(clientId); - }, - icon: library_plus - }, { - name: 'add-before', - label: (0,external_wp_i18n_namespaceObject.__)('Add before'), - callback: () => { - const clientId = Array.isArray(clientIds) ? clientIds[0] : clientId; - insertBeforeBlock(clientId); - }, - icon: library_plus - }); - } - if (canRemove) { - commands.push({ - name: 'remove', - label: (0,external_wp_i18n_namespaceObject.__)('Delete'), - callback: () => removeBlocks(clientIds, true), - icon: library_trash - }); - } if (canDuplicate) { commands.push({ name: 'duplicate', @@ -61020,16 +66383,31 @@ const useActionsCommands = () => { icon: library_copy }); } - if (canMove) { + if (canInsertDefaultBlock) { commands.push({ - name: 'move-to', - label: (0,external_wp_i18n_namespaceObject.__)('Move to'), + name: 'add-before', + label: (0,external_wp_i18n_namespaceObject.__)('Add before'), callback: () => { - setNavigationMode(true); - selectBlock(clientIds[0]); - setBlockMovingClientId(clientIds[0]); + const clientId = Array.isArray(clientIds) ? clientIds[0] : clientId; + insertBeforeBlock(clientId); }, - icon: move_to + icon: library_plus + }, { + name: 'add-after', + label: (0,external_wp_i18n_namespaceObject.__)('Add after'), + callback: () => { + const clientId = Array.isArray(clientIds) ? clientIds[clientIds.length - 1] : clientId; + insertAfterBlock(clientId); + }, + icon: library_plus + }); + } + if (isGroupable) { + commands.push({ + name: 'Group', + label: (0,external_wp_i18n_namespaceObject.__)('Group'), + callback: onGroup, + icon: library_group }); } if (isUngroupable) { @@ -61040,12 +66418,12 @@ const useActionsCommands = () => { icon: library_ungroup }); } - if (isGroupable) { + if (canRemove) { commands.push({ - name: 'Group', - label: (0,external_wp_i18n_namespaceObject.__)('Group'), - callback: onGroup, - icon: library_group + name: 'remove', + label: (0,external_wp_i18n_namespaceObject.__)('Delete'), + callback: () => removeBlocks(clientIds, true), + icon: library_trash }); } return { @@ -61071,6 +66449,11 @@ const useBlockCommands = () => { name: 'core/block-editor/blockActions', hook: useActionsCommands }); + (0,external_wp_commands_namespaceObject.useCommandLoader)({ + name: 'core/block-editor/blockQuickActions', + hook: useQuickActionsCommands, + context: 'block-selection-edit' + }); }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/reusable-block-rename-hint.js @@ -61115,12 +66498,12 @@ function ReusableBlocksRenameHint() { if (!isReusableBlocksRenameHint) { return null; } - return (0,external_wp_element_namespaceObject.createElement)("div", { + return (0,external_React_.createElement)("div", { ref: ref, className: "reusable-blocks-menu-items__rename-hint" - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "reusable-blocks-menu-items__rename-hint-content" - }, (0,external_wp_i18n_namespaceObject.__)('Reusable blocks are now synced patterns. A synced pattern will behave in exactly the same way as a reusable block.')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_wp_i18n_namespaceObject.__)('Reusable blocks are now synced patterns. A synced pattern will behave in exactly the same way as a reusable block.')), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { className: "reusable-blocks-menu-items__rename-hint-dismiss", icon: library_close, iconSize: "16", @@ -61273,322 +66656,20 @@ const __experimentalGetElementClassName = element => { return ELEMENT_CLASS_NAMES[element] ? ELEMENT_CLASS_NAMES[element] : ''; }; -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/block-variation-transforms.js -/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ - -function matchesAttributes(blockAttributes, variation) { - return Object.entries(variation).every(([key, value]) => { - if (typeof value === 'object' && typeof blockAttributes[key] === 'object') { - return matchesAttributes(blockAttributes[key], value); - } - return blockAttributes[key] === value; - }); -} - +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/get-px-from-css-unit.js /** - * Matches the provided block variations with a block's attributes. If no match - * or more than one matches are found it returns `undefined`. If a single match is - * found it returns it. + * This function was accidentially exposed for mobile/native usage. * - * This is a simple implementation for now as it takes into account only the attributes - * of a block variation and not `InnerBlocks`. + * @deprecated * - * @param {Object} blockAttributes - The block attributes to try to find a match. - * @param {WPBlockVariation[]} variations - A list of block variations to test for a match. - * @return {WPBlockVariation | undefined} - If a match is found returns it. If not or more than one matches are found returns `undefined`. + * @return {string} Empty string. */ -const __experimentalGetMatchingVariation = (blockAttributes, variations) => { - if (!variations || !blockAttributes) return; - const matches = variations.filter(({ - attributes - }) => { - if (!attributes || !Object.keys(attributes).length) return false; - return matchesAttributes(blockAttributes, attributes); - }); - if (matches.length !== 1) return; - return matches[0]; -}; - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/parse-css-unit-to-px.js -/** - * Converts string to object { value, unit }. - * - * @param {string} cssUnit - * @return {Object} parsedUnit - */ -function parseUnit(cssUnit) { - const match = cssUnit?.trim().match(/^(0?[-.]?\d*\.?\d+)(r?e[m|x]|v[h|w|min|max]+|p[x|t|c]|[c|m]m|%|in|ch|Q|lh)$/); - if (!isNaN(cssUnit) && !isNaN(parseFloat(cssUnit))) { - return { - value: parseFloat(cssUnit), - unit: 'px' - }; - } - return match ? { - value: parseFloat(match[1]) || match[1], - unit: match[2] - } : { - value: cssUnit, - unit: undefined - }; -} -/** - * Evaluate a math expression. - * - * @param {string} expression - * @return {number} evaluated expression. - */ -function calculate(expression) { - try { - return Function(`'use strict'; return (${expression})`)(); - } catch (err) { - return null; - } -} - -/** - * Calculates the css function value for the supported css functions such as max, min, clamp and calc. - * - * @param {string} functionUnitValue string should be in a particular format (for example min(12px,12px) ) no nested loops. - * @param {Object} options - * @return {string} unit containing the unit in PX. - */ -function getFunctionUnitValue(functionUnitValue, options) { - const functionUnit = functionUnitValue.split(/[(),]/g).filter(Boolean); - const units = functionUnit.slice(1).map(unit => parseUnit(getPxFromCssUnit(unit, options)).value).filter(Boolean); - switch (functionUnit[0]) { - case 'min': - return Math.min(...units) + 'px'; - case 'max': - return Math.max(...units) + 'px'; - case 'clamp': - if (units.length !== 3) { - return null; - } - if (units[1] < units[0]) { - return units[0] + 'px'; - } - if (units[1] > units[2]) { - return units[2] + 'px'; - } - return units[1] + 'px'; - case 'calc': - return units[0] + 'px'; - } -} - -/** - * Take a css function such as min, max, calc, clamp and returns parsedUnit - * - * How this works for the nested function is that it first replaces the inner function call. - * Then it tackles the outer onces. - * So for example: min( max(25px, 35px), 40px ) - * in the first pass we would replace max(25px, 35px) with 35px. - * then we would try to evaluate min( 35px, 40px ) - * and then finally return 35px. - * - * @param {string} cssUnit - * @return {Object} parsedUnit object. - */ -function parseUnitFunction(cssUnit) { - while (true) { - const currentCssUnit = cssUnit; - const regExp = /(max|min|calc|clamp)\(([^()]*)\)/g; - const matches = regExp.exec(cssUnit) || []; - if (matches[0]) { - const functionUnitValue = getFunctionUnitValue(matches[0]); - cssUnit = cssUnit.replace(matches[0], functionUnitValue); - } - - // If the unit hasn't been modified or we have a single value break free. - if (cssUnit === currentCssUnit || parseFloat(cssUnit)) { - break; - } - } - return parseUnit(cssUnit); -} -/** - * Return true if we think this is a math expression. - * - * @param {string} cssUnit the cssUnit value being evaluted. - * @return {boolean} Whether the cssUnit is a math expression. - */ -function isMathExpression(cssUnit) { - for (let i = 0; i < cssUnit.length; i++) { - if (['+', '-', '/', '*'].includes(cssUnit[i])) { - return true; - } - } - return false; -} -/** - * Evaluates the math expression and return a px value. - * - * @param {string} cssUnit the cssUnit value being evaluted. - * @return {string} return a converfted value to px. - */ -function evalMathExpression(cssUnit) { - let errorFound = false; - // Convert every part of the expression to px values. - // The following regex matches numbers that have a following unit - // E.g. 5.25rem, 1vw - const cssUnitsBits = cssUnit.match(/\d+\.?\d*[a-zA-Z]+|\.\d+[a-zA-Z]+/g); - if (cssUnitsBits) { - for (const unit of cssUnitsBits) { - // Standardize the unit to px and extract the value. - const parsedUnit = parseUnit(getPxFromCssUnit(unit)); - if (!parseFloat(parsedUnit.value)) { - errorFound = true; - // End early since we are dealing with a null value. - break; - } - cssUnit = cssUnit.replace(unit, parsedUnit.value); - } - } else { - errorFound = true; - } - - // For mixed math expressions wrapped within CSS expressions - const expressionsMatches = cssUnit.match(/(max|min|clamp)/g); - if (!errorFound && expressionsMatches) { - const values = cssUnit.split(','); - for (const currentValue of values) { - // Check for nested calc() and remove them to calculate the value. - const rawCurrentValue = currentValue.replace(/\s|calc/g, ''); - if (isMathExpression(rawCurrentValue)) { - const calculatedExpression = calculate(rawCurrentValue); - if (calculatedExpression) { - const calculatedValue = calculatedExpression.toFixed(0) + 'px'; - cssUnit = cssUnit.replace(currentValue, calculatedValue); - } - } - } - const parsedValue = parseUnitFunction(cssUnit); - return !parsedValue ? null : parsedValue.value + parsedValue.unit; - } - if (errorFound) { - return null; - } - const calculatedResult = calculate(cssUnit); - return calculatedResult ? calculatedResult.toFixed(0) + 'px' : null; -} - -/** - * Convert a parsedUnit object to px value. - * - * @param {Object} parsedUnit - * @param {Object} options - * @return {string} or {null} returns the converted with in a px value format. - */ -function convertParsedUnitToPx(parsedUnit, options) { - const PIXELS_PER_INCH = 96; - const ONE_PERCENT = 0.01; - const defaultProperties = { - fontSize: 16, - lineHeight: 16, - width: 375, - height: 812, - type: 'font' - }; - const setOptions = Object.assign({}, defaultProperties, options); - const relativeUnits = { - em: setOptions.fontSize, - rem: setOptions.fontSize, - vh: setOptions.height * ONE_PERCENT, - vw: setOptions.width * ONE_PERCENT, - vmin: (setOptions.width < setOptions.height ? setOptions.width : setOptions.height) * ONE_PERCENT, - vmax: (setOptions.width > setOptions.height ? setOptions.width : setOptions.height) * ONE_PERCENT, - '%': (setOptions.type === 'font' ? setOptions.fontSize : setOptions.width) * ONE_PERCENT, - ch: 8, - // The advance measure (width) of the glyph "0" of the element's font. Approximate - ex: 7.15625, - // X-height of the element's font. Approximate. - lh: setOptions.lineHeight - }; - const absoluteUnits = { - in: PIXELS_PER_INCH, - cm: PIXELS_PER_INCH / 2.54, - mm: PIXELS_PER_INCH / 25.4, - pt: PIXELS_PER_INCH / 72, - pc: PIXELS_PER_INCH / 6, - px: 1, - Q: PIXELS_PER_INCH / 2.54 / 40 - }; - if (relativeUnits[parsedUnit.unit]) { - return (relativeUnits[parsedUnit.unit] * parsedUnit.value).toFixed(0) + 'px'; - } - if (absoluteUnits[parsedUnit.unit]) { - return (absoluteUnits[parsedUnit.unit] * parsedUnit.value).toFixed(0) + 'px'; - } - return null; -} - -/** - * Returns the px value of a cssUnit. - * - * @param {string} cssUnit - * @param {Object} options - * @return {string} returns the cssUnit value in a simple px format. - */ -function getPxFromCssUnit(cssUnit, options = {}) { - if (Number.isFinite(cssUnit)) { - return cssUnit.toFixed(0) + 'px'; - } - if (cssUnit === undefined) { - return null; - } - let parsedUnit = parseUnit(cssUnit); - if (!parsedUnit.unit) { - parsedUnit = parseUnitFunction(cssUnit); - } - if (isMathExpression(cssUnit) && !parsedUnit.unit) { - return evalMathExpression(cssUnit); - } - return convertParsedUnitToPx(parsedUnit, options); -} - -// Use simple cache. -const cache = {}; -/** - * Returns the px value of a cssUnit. The memoized version of getPxFromCssUnit; - * - * @param {string} cssUnit - * @param {Object} options - * @return {string} returns the cssUnit value in a simple px format. - */ -function memoizedGetPxFromCssUnit(cssUnit, options = {}) { - const hash = cssUnit + hashOptions(options); - if (!cache[hash]) { - cache[hash] = getPxFromCssUnit(cssUnit, options); - } - return cache[hash]; -} -function hashOptions(options) { - let hash = ''; - if (options.hasOwnProperty('fontSize')) { - hash = ':' + options.width; - } - if (options.hasOwnProperty('lineHeight')) { - hash = ':' + options.lineHeight; - } - if (options.hasOwnProperty('width')) { - hash = ':' + options.width; - } - if (options.hasOwnProperty('height')) { - hash = ':' + options.height; - } - if (options.hasOwnProperty('type')) { - hash = ':' + options.type; - } - return hash; -} -/* harmony default export */ var parse_css_unit_to_px = (memoizedGetPxFromCssUnit); +/* harmony default export */ var get_px_from_css_unit = (() => ''); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/index.js - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/use-global-styles-output.js /** * WordPress dependencies @@ -61598,6 +66679,7 @@ function hashOptions(options) { + /** * Internal dependencies */ @@ -61613,6 +66695,7 @@ function hashOptions(options) { + // List of block support features that can have their related styles // generated under their own feature level selector rather than the block's. const BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS = { @@ -61641,6 +66724,9 @@ function compileStyleValue(uncompiledValue) { * @return {Array} An array of style declarations. */ function getPresetsDeclarations(blockPresets = {}, mergedSettings) { + const { + kebabCase + } = unlock(external_wp_components_namespaceObject.privateApis); return PRESET_METADATA.reduce((declarations, { path, valueKey, @@ -61671,6 +66757,9 @@ function getPresetsDeclarations(blockPresets = {}, mergedSettings) { * @return {string} CSS declarations for the preset classes. */ function getPresetsClasses(blockSelector = '*', blockPresets = {}) { + const { + kebabCase + } = unlock(external_wp_components_namespaceObject.privateApis); return PRESET_METADATA.reduce((declarations, { path, cssVarInfix, @@ -61710,6 +66799,9 @@ function getPresetsSvgFilters(blockPresets = {}) { }); } function flattenTree(input = {}, prefix, token) { + const { + kebabCase + } = unlock(external_wp_components_namespaceObject.privateApis); let result = []; Object.keys(input).forEach(key => { const newKey = prefix + kebabCase(key.replace('/', '-')); @@ -61826,6 +66918,9 @@ const getFeatureDeclarations = (selectors, styles) => { * @return {Array} An array of style declarations. */ function getStylesDeclarations(blockStyles = {}, selector = '', useRootPaddingAlign, tree = {}, isTemplate = true) { + const { + kebabCase + } = unlock(external_wp_components_namespaceObject.privateApis); const isRoot = ROOT_BLOCK_SELECTOR === selector; const output = Object.entries(external_wp_blocks_namespaceObject.__EXPERIMENTAL_STYLE_PROPERTY).reduce((declarations, [key, { value, @@ -61898,6 +66993,12 @@ function getStylesDeclarations(blockStyles = {}, selector = '', useRootPaddingAl size: ruleValue }, getFluidTypographyOptionsFromSettings(tree?.settings)); } + + // For aspect ratio to work, other dimensions rules (and Cover block defaults) must be unset. + // This ensures that a fixed height does not override the aspect ratio. + if (cssProperty === 'aspect-ratio') { + output.push('min-height: unset'); + } output.push(`${cssProperty}: ${ruleValue}`); }); return output; @@ -62494,224 +67595,6 @@ function useGlobalStylesOutput() { return useGlobalStylesOutputWithConfig(mergedConfig); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/shadow.js - -/** - * WordPress dependencies - */ - -const shadow = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M12 8c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm0 6.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zM12.8 3h-1.5v3h1.5V3zm-1.6 18h1.5v-3h-1.5v3zm6.8-9.8v1.5h3v-1.5h-3zm-12 0H3v1.5h3v-1.5zm9.7 5.6 2.1 2.1 1.1-1.1-2.1-2.1-1.1 1.1zM8.3 7.2 6.2 5.1 5.1 6.2l2.1 2.1 1.1-1.1zM5.1 17.8l1.1 1.1 2.1-2.1-1.1-1.1-2.1 2.1zM18.9 6.2l-1.1-1.1-2.1 2.1 1.1 1.1 2.1-2.1z" -})); -/* harmony default export */ var library_shadow = (shadow); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/effects-panel.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - -function useHasEffectsPanel(settings) { - const hasShadowControl = useHasShadowControl(settings); - return hasShadowControl; -} -function useHasShadowControl(settings) { - return !!settings?.shadow; -} -function EffectsToolsPanel({ - resetAllFilter, - onChange, - value, - panelId, - children -}) { - const resetAll = () => { - const updatedValue = resetAllFilter(value); - onChange(updatedValue); - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { - label: (0,external_wp_i18n_namespaceObject.__)('Effects'), - resetAll: resetAll, - panelId: panelId - }, children); -} -const effects_panel_DEFAULT_CONTROLS = { - shadow: true -}; -function EffectsPanel({ - as: Wrapper = EffectsToolsPanel, - value, - onChange, - inheritedValue = value, - settings, - panelId, - defaultControls = effects_panel_DEFAULT_CONTROLS -}) { - const decodeValue = rawValue => getValueFromVariable({ - settings - }, '', rawValue); - - // Shadow - const hasShadowEnabled = useHasShadowControl(settings); - const shadow = decodeValue(inheritedValue?.shadow); - const setShadow = newValue => { - onChange(setImmutably(value, ['shadow'], newValue)); - }; - const hasShadow = () => !!value?.shadow; - const resetShadow = () => setShadow(undefined); - const resetAllFilter = (0,external_wp_element_namespaceObject.useCallback)(previousValue => { - return { - ...previousValue, - shadow: undefined - }; - }, []); - return (0,external_wp_element_namespaceObject.createElement)(Wrapper, { - resetAllFilter: resetAllFilter, - value: value, - onChange: onChange, - panelId: panelId - }, hasShadowEnabled && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - label: (0,external_wp_i18n_namespaceObject.__)('Shadow'), - hasValue: hasShadow, - onDeselect: resetShadow, - isShownByDefault: defaultControls.shadow, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalItemGroup, { - isBordered: true, - isSeparated: true - }, (0,external_wp_element_namespaceObject.createElement)(ShadowPopover, { - shadow: shadow, - onShadowChange: setShadow, - settings: settings - })))); -} -const ShadowPopover = ({ - shadow, - onShadowChange, - settings -}) => { - const popoverProps = { - placement: 'left-start', - offset: 36, - shift: true - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { - popoverProps: popoverProps, - className: "block-editor-global-styles-effects-panel__shadow-dropdown", - renderToggle: renderShadowToggle(), - renderContent: () => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalDropdownContentWrapper, { - paddingSize: "medium" - }, (0,external_wp_element_namespaceObject.createElement)(ShadowPopoverContainer, { - shadow: shadow, - onShadowChange: onShadowChange, - settings: settings - })) - }); -}; -function renderShadowToggle() { - return ({ - onToggle, - isOpen - }) => { - const toggleProps = { - onClick: onToggle, - className: classnames_default()({ - 'is-open': isOpen - }), - 'aria-expanded': isOpen - }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - ...toggleProps - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - justify: "flex-start" - }, (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - className: "block-editor-global-styles-effects-panel__toggle-icon", - icon: library_shadow, - size: 24 - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_wp_i18n_namespaceObject.__)('Shadow')))); - }; -} -function ShadowPopoverContainer({ - shadow, - onShadowChange, - settings -}) { - const defaultShadows = settings?.shadow?.presets?.default; - const themeShadows = settings?.shadow?.presets?.theme; - const defaultPresetsEnabled = settings?.shadow?.defaultPresets; - const shadows = [...(defaultPresetsEnabled ? defaultShadows : []), ...(themeShadows || [])]; - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-global-styles-effects-panel__shadow-popover-container" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { - spacing: 4 - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHeading, { - level: 5 - }, (0,external_wp_i18n_namespaceObject.__)('Shadow')), (0,external_wp_element_namespaceObject.createElement)(ShadowPresets, { - presets: shadows, - activeShadow: shadow, - onSelect: onShadowChange - }))); -} -function ShadowPresets({ - presets, - activeShadow, - onSelect -}) { - return !presets ? null : (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalGrid, { - columns: 6, - gap: 0, - align: "center", - justify: "center" - }, presets.map(({ - name, - slug, - shadow - }) => (0,external_wp_element_namespaceObject.createElement)(ShadowIndicator, { - key: slug, - label: name, - isActive: shadow === activeShadow, - onSelect: () => onSelect(shadow === activeShadow ? undefined : shadow), - shadow: shadow - }))); -} -function ShadowIndicator({ - label, - isActive, - onSelect, - shadow -}) { - return (0,external_wp_element_namespaceObject.createElement)("div", { - className: "block-editor-global-styles-effects-panel__shadow-indicator-wrapper" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - className: "block-editor-global-styles-effects-panel__shadow-indicator", - onClick: onSelect, - label: label, - style: { - boxShadow: shadow - }, - showTooltip: true - }, isActive && (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { - icon: library_check - }))); -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/image-settings-panel.js /** @@ -62719,6 +67602,11 @@ function ShadowIndicator({ */ + +/** + * Internal dependencies + */ + function useHasImageSettingsPanel(name, value, inheritedValue) { // Note: If lightbox `value` exists, that means it was // defined via the the Global Styles UI and will NOT @@ -62744,11 +67632,12 @@ function ImageSettingsPanel({ if (inheritedValue?.lightbox?.enabled) { lightboxChecked = inheritedValue.lightbox.enabled; } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanel, { label: (0,external_wp_i18n_namespaceObject._x)('Settings', 'Image settings'), resetAll: resetLightbox, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem + panelId: panelId, + dropdownMenuProps: TOOLSPANEL_DROPDOWNMENU_PROPS + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem // We use the `userSettings` prop instead of `settings`, because `settings` // contains the core/theme values for the lightbox and we want to show the // "RESET" button ONLY when the user has explicitly set a value in the @@ -62759,7 +67648,7 @@ function ImageSettingsPanel({ onDeselect: resetLightbox, isShownByDefault: true, panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Expand on click'), checked: lightboxChecked, onChange: onChangeLightbox @@ -62795,7 +67684,7 @@ function AdvancedPanel({ }); if (cssError) { const [transformed] = transform_styles([{ - css: value + css: newValue }], '.editor-styles-wrapper'); if (transformed) { setCSSError(null); @@ -62812,9 +67701,9 @@ function AdvancedPanel({ }], '.editor-styles-wrapper'); setCSSError(transformed === null ? (0,external_wp_i18n_namespaceObject.__)('There is an error with your CSS structure.') : null); } - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 3 - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextareaControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.TextareaControl, { label: (0,external_wp_i18n_namespaceObject.__)('Additional CSS'), __nextHasNoMarginBottom: true, value: customCSS, @@ -62822,16 +67711,363 @@ function AdvancedPanel({ onBlur: handleOnBlur, className: "block-editor-global-styles-advanced-panel__custom-css-input", spellCheck: false - }), cssError && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Tooltip, { + }), cssError && (0,external_React_.createElement)(external_wp_components_namespaceObject.Tooltip, { text: cssError - }, (0,external_wp_element_namespaceObject.createElement)("div", { + }, (0,external_React_.createElement)("div", { className: "block-editor-global-styles-advanced-panel__custom-css-validation-wrapper" - }, (0,external_wp_element_namespaceObject.createElement)(build_module_icon, { + }, (0,external_React_.createElement)(build_module_icon, { icon: library_info, className: "block-editor-global-styles-advanced-panel__custom-css-validation-icon" })))); } +;// CONCATENATED MODULE: ./node_modules/memize/dist/index.js +/** + * Memize options object. + * + * @typedef MemizeOptions + * + * @property {number} [maxSize] Maximum size of the cache. + */ + +/** + * Internal cache entry. + * + * @typedef MemizeCacheNode + * + * @property {?MemizeCacheNode|undefined} [prev] Previous node. + * @property {?MemizeCacheNode|undefined} [next] Next node. + * @property {Array<*>} args Function arguments for cache + * entry. + * @property {*} val Function result. + */ + +/** + * Properties of the enhanced function for controlling cache. + * + * @typedef MemizeMemoizedFunction + * + * @property {()=>void} clear Clear the cache. + */ + +/** + * Accepts a function to be memoized, and returns a new memoized function, with + * optional options. + * + * @template {(...args: any[]) => any} F + * + * @param {F} fn Function to memoize. + * @param {MemizeOptions} [options] Options object. + * + * @return {((...args: Parameters) => ReturnType) & MemizeMemoizedFunction} Memoized function. + */ +function memize(fn, options) { + var size = 0; + + /** @type {?MemizeCacheNode|undefined} */ + var head; + + /** @type {?MemizeCacheNode|undefined} */ + var tail; + + options = options || {}; + + function memoized(/* ...args */) { + var node = head, + len = arguments.length, + args, + i; + + searchCache: while (node) { + // Perform a shallow equality test to confirm that whether the node + // under test is a candidate for the arguments passed. Two arrays + // are shallowly equal if their length matches and each entry is + // strictly equal between the two sets. Avoid abstracting to a + // function which could incur an arguments leaking deoptimization. + + // Check whether node arguments match arguments length + if (node.args.length !== arguments.length) { + node = node.next; + continue; + } + + // Check whether node arguments match arguments values + for (i = 0; i < len; i++) { + if (node.args[i] !== arguments[i]) { + node = node.next; + continue searchCache; + } + } + + // At this point we can assume we've found a match + + // Surface matched node to head if not already + if (node !== head) { + // As tail, shift to previous. Must only shift if not also + // head, since if both head and tail, there is no previous. + if (node === tail) { + tail = node.prev; + } + + // Adjust siblings to point to each other. If node was tail, + // this also handles new tail's empty `next` assignment. + /** @type {MemizeCacheNode} */ (node.prev).next = node.next; + if (node.next) { + node.next.prev = node.prev; + } + + node.next = head; + node.prev = null; + /** @type {MemizeCacheNode} */ (head).prev = node; + head = node; + } + + // Return immediately + return node.val; + } + + // No cached value found. Continue to insertion phase: + + // Create a copy of arguments (avoid leaking deoptimization) + args = new Array(len); + for (i = 0; i < len; i++) { + args[i] = arguments[i]; + } + + node = { + args: args, + + // Generate the result from original function + val: fn.apply(null, args), + }; + + // Don't need to check whether node is already head, since it would + // have been returned above already if it was + + // Shift existing head down list + if (head) { + head.prev = node; + node.next = head; + } else { + // If no head, follows that there's no tail (at initial or reset) + tail = node; + } + + // Trim tail if we're reached max size and are pending cache insertion + if (size === /** @type {MemizeOptions} */ (options).maxSize) { + tail = /** @type {MemizeCacheNode} */ (tail).prev; + /** @type {MemizeCacheNode} */ (tail).next = null; + } else { + size++; + } + + head = node; + + return node.val; + } + + memoized.clear = function () { + head = null; + tail = null; + size = 0; + }; + + // Ignore reason: There's not a clear solution to create an intersection of + // the function with additional properties, where the goal is to retain the + // function signature of the incoming argument and add control properties + // on the return value. + + // @ts-ignore + return memoized; +} + + + +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/get-global-styles-changes.js +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + +const globalStylesChangesCache = new Map(); +const get_global_styles_changes_EMPTY_ARRAY = []; +const translationMap = { + caption: (0,external_wp_i18n_namespaceObject.__)('Caption'), + link: (0,external_wp_i18n_namespaceObject.__)('Link'), + button: (0,external_wp_i18n_namespaceObject.__)('Button'), + heading: (0,external_wp_i18n_namespaceObject.__)('Heading'), + h1: (0,external_wp_i18n_namespaceObject.__)('H1'), + h2: (0,external_wp_i18n_namespaceObject.__)('H2'), + h3: (0,external_wp_i18n_namespaceObject.__)('H3'), + h4: (0,external_wp_i18n_namespaceObject.__)('H4'), + h5: (0,external_wp_i18n_namespaceObject.__)('H5'), + h6: (0,external_wp_i18n_namespaceObject.__)('H6'), + 'settings.color': (0,external_wp_i18n_namespaceObject.__)('Color settings'), + 'settings.typography': (0,external_wp_i18n_namespaceObject.__)('Typography settings'), + 'styles.color': (0,external_wp_i18n_namespaceObject.__)('Colors'), + 'styles.spacing': (0,external_wp_i18n_namespaceObject.__)('Spacing'), + 'styles.typography': (0,external_wp_i18n_namespaceObject.__)('Typography') +}; +const getBlockNames = memize(() => (0,external_wp_blocks_namespaceObject.getBlockTypes)().reduce((accumulator, { + name, + title +}) => { + accumulator[name] = title; + return accumulator; +}, {})); +const isObject = obj => obj !== null && typeof obj === 'object'; + +/** + * Get the translation for a given global styles key. + * @param {string} key A key representing a path to a global style property or setting. + * @return {string|undefined} A translated key or undefined if no translation exists. + */ +function getTranslation(key) { + if (translationMap[key]) { + return translationMap[key]; + } + const keyArray = key.split('.'); + if (keyArray?.[0] === 'blocks') { + const blockName = getBlockNames()?.[keyArray[1]]; + return blockName ? (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s: block name. + (0,external_wp_i18n_namespaceObject.__)('%s block'), blockName) : keyArray[1]; + } + if (keyArray?.[0] === 'elements') { + const elementName = translationMap[keyArray[1]] || keyArray[1]; + return (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s: element name, e.g., heading button, link, caption. + (0,external_wp_i18n_namespaceObject.__)('%s element'), elementName); + } + return undefined; +} + +/** + * A deep comparison of two objects, optimized for comparing global styles. + * @param {Object} changedObject The changed object to compare. + * @param {Object} originalObject The original object to compare against. + * @param {string} parentPath A key/value pair object of block names and their rendered titles. + * @return {string[]} An array of paths whose values have changed. + */ +function deepCompare(changedObject, originalObject, parentPath = '') { + // We have two non-object values to compare. + if (!isObject(changedObject) && !isObject(originalObject)) { + /* + * Only return a path if the value has changed. + * And then only the path name up to 2 levels deep. + */ + return changedObject !== originalObject ? parentPath.split('.').slice(0, 2).join('.') : undefined; + } + + // Enable comparison when an object doesn't have a corresponding property to compare. + changedObject = isObject(changedObject) ? changedObject : {}; + originalObject = isObject(originalObject) ? originalObject : {}; + const allKeys = new Set([...Object.keys(changedObject), ...Object.keys(originalObject)]); + let diffs = []; + for (const key of allKeys) { + const path = parentPath ? parentPath + '.' + key : key; + const changedPath = deepCompare(changedObject[key], originalObject[key], path); + if (changedPath) { + diffs = diffs.concat(changedPath); + } + } + return diffs; +} + +/** + * Returns an array of translated summarized global styles changes. + * Results are cached using a Map() key of `JSON.stringify( { next, previous } )`. + * + * @param {Object} next The changed object to compare. + * @param {Object} previous The original object to compare against. + * @return {string[]} An array of translated changes. + */ +function getGlobalStylesChangelist(next, previous) { + const cacheKey = JSON.stringify({ + next, + previous + }); + if (globalStylesChangesCache.has(cacheKey)) { + return globalStylesChangesCache.get(cacheKey); + } + + /* + * Compare the two changesets with normalized keys. + * The order of these keys determines the order in which + * they'll appear in the results. + */ + const changedValueTree = deepCompare({ + styles: { + color: next?.styles?.color, + typography: next?.styles?.typography, + spacing: next?.styles?.spacing + }, + blocks: next?.styles?.blocks, + elements: next?.styles?.elements, + settings: next?.settings + }, { + styles: { + color: previous?.styles?.color, + typography: previous?.styles?.typography, + spacing: previous?.styles?.spacing + }, + blocks: previous?.styles?.blocks, + elements: previous?.styles?.elements, + settings: previous?.settings + }); + if (!changedValueTree.length) { + globalStylesChangesCache.set(cacheKey, get_global_styles_changes_EMPTY_ARRAY); + return get_global_styles_changes_EMPTY_ARRAY; + } + + // Remove duplicate results. + const result = [...new Set(changedValueTree)] + /* + * Translate the keys. + * Remove duplicate or empty translations. + */.reduce((acc, curr) => { + const translation = getTranslation(curr); + if (translation && !acc.includes(translation)) { + acc.push(translation); + } + return acc; + }, []); + globalStylesChangesCache.set(cacheKey, result); + return result; +} + +/** + * From a getGlobalStylesChangelist() result, returns a truncated array of translated changes. + * Appends a translated string indicating the number of changes that were truncated. + * + * @param {Object} next The changed object to compare. + * @param {Object} previous The original object to compare against. + * @param {{maxResults:number}} options Options. maxResults: results to return before truncating. + * @return {string[]} An array of translated changes. + */ +function getGlobalStylesChanges(next, previous, options = {}) { + const changes = getGlobalStylesChangelist(next, previous); + const changesLength = changes.length; + const { + maxResults + } = options; + + // Truncate to `n` results if necessary. + if (!!maxResults && changesLength && changesLength > maxResults) { + const deleteCount = changesLength - maxResults; + const andMoreText = (0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %d: number of global styles changes that are not displayed in the UI. + (0,external_wp_i18n_namespaceObject._n)('…and %d more change.', '…and %d more changes.', deleteCount), deleteCount); + changes.splice(maxResults, deleteCount, andMoreText); + } + return changes; +} + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/global-styles/index.js @@ -62847,6 +68083,7 @@ function AdvancedPanel({ + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/get-rich-text-values.js /** @@ -62855,6 +68092,7 @@ function AdvancedPanel({ + /** * Internal dependencies */ @@ -62922,7 +68160,7 @@ function addValuesForBlocks(values, blocks) { // Instead of letting save elements use `useInnerBlocksProps.save`, // force them to use InnerBlocks.Content instead so we can intercept // a single component. - (0,external_wp_element_namespaceObject.createElement)(inner_blocks.Content, null)); + (0,external_React_.createElement)(inner_blocks.Content, null)); addValuesForElement(saveElement, values, innerBlocks); } } @@ -62931,7 +68169,7 @@ function getRichTextValues(blocks = []) { const values = []; addValuesForBlocks(values, blocks); external_wp_blocks_namespaceObject.__unstableGetBlockProps.skipFilters = false; - return values; + return values.map(value => value instanceof external_wp_richText_namespaceObject.RichTextData ? value : external_wp_richText_namespaceObject.RichTextData.fromHTMLString(value)); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/resizable-box-popover/index.js @@ -62950,17 +68188,58 @@ function ResizableBoxPopover({ resizableBoxProps, ...props }) { - return (0,external_wp_element_namespaceObject.createElement)(block_popover, { + return (0,external_React_.createElement)(block_popover, { clientId: clientId, __unstableCoverTarget: true, - __unstablePopoverSlot: "block-toolbar", + __unstablePopoverSlot: "__unstable-block-tools-after", shift: false, ...props - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ResizableBox, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.ResizableBox, { ...resizableBoxProps })); } +;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/use-can-block-toolbar-be-focused.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +/** + * Returns true if the block toolbar should be able to receive focus. + * + * @return {boolean} Whether the block toolbar should be able to receive focus + */ +function useCanBlockToolbarBeFocused() { + return (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + __unstableGetEditorMode, + getBlock, + getSettings, + getSelectedBlockClientId, + getFirstMultiSelectedBlockClientId + } = unlock(select(store)); + const selectedBlockId = getFirstMultiSelectedBlockClientId() || getSelectedBlockClientId(); + const isEmptyDefaultBlock = (0,external_wp_blocks_namespaceObject.isUnmodifiedDefaultBlock)(getBlock(selectedBlockId) || {}); + + // Fixed Toolbar can be focused when: + // - a block is selected + // - fixed toolbar is on + // Block Toolbar Popover can be focused when: + // - a block is selected + // - we are in edit mode + // - it is not an empty default block + return !!selectedBlockId && (getSettings().hasFixedToolbar || __unstableGetEditorMode() === 'edit' && !isEmptyDefaultBlock); + }, []); +} + ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-removal-warning-modal/index.js /** @@ -63005,115 +68284,21 @@ function BlockRemovalWarningModal({ privateRemoveBlocks(clientIds, selectPrevious, /* force */true); clearBlockRemovalPrompt(); }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Modal, { - title: (0,external_wp_i18n_namespaceObject.__)('Are you sure?'), - onRequestClose: clearBlockRemovalPrompt - }, blockNamesForPrompt.length === 1 ? (0,external_wp_element_namespaceObject.createElement)("p", null, rules[blockNamesForPrompt[0]]) : (0,external_wp_element_namespaceObject.createElement)("ul", { - style: { - listStyleType: 'disc', - paddingLeft: '1rem' - } - }, blockNamesForPrompt.map(name => (0,external_wp_element_namespaceObject.createElement)("li", { - key: name - }, rules[name]))), (0,external_wp_element_namespaceObject.createElement)("p", null, blockNamesForPrompt.length > 1 ? (0,external_wp_i18n_namespaceObject.__)('Removing these blocks is not advised.') : (0,external_wp_i18n_namespaceObject.__)('Removing this block is not advised.')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.Modal, { + title: (0,external_wp_i18n_namespaceObject.__)('Be careful!'), + onRequestClose: clearBlockRemovalPrompt, + size: "medium" + }, (0,external_React_.createElement)("p", null, (0,external_wp_i18n_namespaceObject._n)('Deleting this block will stop your post or page content from displaying on this template. It is not recommended.', 'Deleting these blocks will stop your post or page content from displaying on this template. It is not recommended.', blockNamesForPrompt.length)), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { justify: "right" - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "tertiary", onClick: clearBlockRemovalPrompt - }, (0,external_wp_i18n_namespaceObject.__)('Cancel')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { + }, (0,external_wp_i18n_namespaceObject.__)('Cancel')), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, { variant: "primary", onClick: onConfirmRemoval }, (0,external_wp_i18n_namespaceObject.__)('Delete')))); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/dimensions-tool/aspect-ratio-tool.js - -/** - * WordPress dependencies - */ - - - -/** - * @typedef {import('@wordpress/components/build-types/select-control/types').SelectControlProps} SelectControlProps - */ - -/** - * @type {SelectControlProps[]} - */ -const DEFAULT_ASPECT_RATIO_OPTIONS = [{ - label: (0,external_wp_i18n_namespaceObject._x)('Original', 'Aspect ratio option for dimensions control'), - value: 'auto' -}, { - label: (0,external_wp_i18n_namespaceObject._x)('Square - 1:1', 'Aspect ratio option for dimensions control'), - value: '1' -}, { - label: (0,external_wp_i18n_namespaceObject._x)('Standard - 4:3', 'Aspect ratio option for dimensions control'), - value: '4/3' -}, { - label: (0,external_wp_i18n_namespaceObject._x)('Portrait - 3:4', 'Aspect ratio option for dimensions control'), - value: '3/4' -}, { - label: (0,external_wp_i18n_namespaceObject._x)('Classic - 3:2', 'Aspect ratio option for dimensions control'), - value: '3/2' -}, { - label: (0,external_wp_i18n_namespaceObject._x)('Classic Portrait - 2:3', 'Aspect ratio option for dimensions control'), - value: '2/3' -}, { - label: (0,external_wp_i18n_namespaceObject._x)('Wide - 16:9', 'Aspect ratio option for dimensions control'), - value: '16/9' -}, { - label: (0,external_wp_i18n_namespaceObject._x)('Tall - 9:16', 'Aspect ratio option for dimensions control'), - value: '9/16' -}, { - label: (0,external_wp_i18n_namespaceObject._x)('Custom', 'Aspect ratio option for dimensions control'), - value: 'custom', - disabled: true, - hidden: true -}]; - -/** - * @callback AspectRatioToolPropsOnChange - * @param {string} [value] New aspect ratio value. - * @return {void} No return. - */ - -/** - * @typedef {Object} AspectRatioToolProps - * @property {string} [panelId] ID of the panel this tool is associated with. - * @property {string} [value] Current aspect ratio value. - * @property {AspectRatioToolPropsOnChange} [onChange] Callback to update the aspect ratio value. - * @property {SelectControlProps[]} [options] Aspect ratio options. - * @property {string} [defaultValue] Default aspect ratio value. - * @property {boolean} [isShownByDefault] Whether the tool is shown by default. - */ - -function AspectRatioTool({ - panelId, - value, - onChange = () => {}, - options = DEFAULT_ASPECT_RATIO_OPTIONS, - defaultValue = DEFAULT_ASPECT_RATIO_OPTIONS[0].value, - isShownByDefault = true -}) { - // Match the CSS default so if the value is used directly in CSS it will look correct in the control. - const displayValue = value !== null && value !== void 0 ? value : 'auto'; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { - hasValue: () => displayValue !== defaultValue, - label: (0,external_wp_i18n_namespaceObject.__)('Aspect ratio'), - onDeselect: () => onChange(undefined), - isShownByDefault: isShownByDefault, - panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SelectControl, { - label: (0,external_wp_i18n_namespaceObject.__)('Aspect ratio'), - value: displayValue, - options: options, - onChange: onChange, - size: '__unstable-large', - __nextHasNoMarginBottom: true - })); -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/dimensions-tool/scale-tool.js /** @@ -63180,7 +68365,7 @@ const DEFAULT_SCALE_OPTIONS = [{ * * @param {ScaleToolProps} props * - * @return {import('@wordpress/element').WPElement} The scale tool. + * @return {import('react').ReactElement} The scale tool. */ function ScaleTool({ panelId, @@ -63198,20 +68383,20 @@ function ScaleTool({ return acc; }, {}); }, [options]); - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { label: (0,external_wp_i18n_namespaceObject.__)('Scale'), isShownByDefault: isShownByDefault, hasValue: () => displayValue !== defaultValue, onDeselect: () => onChange(defaultValue), panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, { label: (0,external_wp_i18n_namespaceObject.__)('Scale'), isBlock: true, help: scaleHelp[displayValue], value: displayValue, onChange: onChange, - __nextHasNoMarginBottom: true - }, options.map(option => (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, { + size: '__unstable-large' + }, options.map(option => (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, { key: option.value, ...option })))); @@ -63434,7 +68619,7 @@ function hash (value, length) { * @param {string} value * @return {string} */ -function Utility_trim (value) { +function trim (value) { return value.trim() } @@ -63525,7 +68710,7 @@ function Utility_combine (array, callback) { var line = 1 var column = 1 var Tokenizer_length = 0 -var position = 0 +var Tokenizer_position = 0 var Tokenizer_character = 0 var characters = '' @@ -63562,7 +68747,7 @@ function Tokenizer_char () { * @return {number} */ function prev () { - Tokenizer_character = position > 0 ? Utility_charat(characters, --position) : 0 + Tokenizer_character = Tokenizer_position > 0 ? Utility_charat(characters, --Tokenizer_position) : 0 if (column--, Tokenizer_character === 10) column = 1, line-- @@ -63573,8 +68758,8 @@ function prev () { /** * @return {number} */ -function Tokenizer_next () { - Tokenizer_character = position < Tokenizer_length ? Utility_charat(characters, position++) : 0 +function next () { + Tokenizer_character = Tokenizer_position < Tokenizer_length ? Utility_charat(characters, Tokenizer_position++) : 0 if (column++, Tokenizer_character === 10) column = 1, line++ @@ -63586,14 +68771,14 @@ function Tokenizer_next () { * @return {number} */ function peek () { - return Utility_charat(characters, position) + return Utility_charat(characters, Tokenizer_position) } /** * @return {number} */ function caret () { - return position + return Tokenizer_position } /** @@ -63638,7 +68823,7 @@ function token (type) { * @return {any[]} */ function alloc (value) { - return line = column = 1, Tokenizer_length = Utility_strlen(characters = value), position = 0, [] + return line = column = 1, Tokenizer_length = Utility_strlen(characters = value), Tokenizer_position = 0, [] } /** @@ -63654,7 +68839,7 @@ function dealloc (value) { * @return {string} */ function delimit (type) { - return Utility_trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type))) + return trim(slice(Tokenizer_position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type))) } /** @@ -63672,7 +68857,7 @@ function Tokenizer_tokenize (value) { function whitespace (type) { while (Tokenizer_character = peek()) if (Tokenizer_character < 33) - Tokenizer_next() + next() else break @@ -63684,9 +68869,9 @@ function whitespace (type) { * @return {string[]} */ function tokenizer (children) { - while (Tokenizer_next()) + while (next()) switch (token(Tokenizer_character)) { - case 0: append(identifier(position - 1), children) + case 0: append(identifier(Tokenizer_position - 1), children) break case 2: append(delimit(Tokenizer_character), children) break @@ -63702,12 +68887,12 @@ function tokenizer (children) { * @return {string} */ function escaping (index, count) { - while (--count && Tokenizer_next()) + while (--count && next()) // not 0-9 A-F a-f if (Tokenizer_character < 48 || Tokenizer_character > 102 || (Tokenizer_character > 57 && Tokenizer_character < 65) || (Tokenizer_character > 70 && Tokenizer_character < 97)) break - return slice(index, caret() + (count < 6 && peek() == 32 && Tokenizer_next() == 32)) + return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32)) } /** @@ -63715,11 +68900,11 @@ function escaping (index, count) { * @return {number} */ function delimiter (type) { - while (Tokenizer_next()) + while (next()) switch (Tokenizer_character) { // ] ) " ' case type: - return position + return Tokenizer_position // " ' case 34: case 39: if (type !== 34 && type !== 39) @@ -63732,11 +68917,11 @@ function delimiter (type) { break // \ case 92: - Tokenizer_next() + next() break } - return position + return Tokenizer_position } /** @@ -63745,7 +68930,7 @@ function delimiter (type) { * @return {number} */ function commenter (type, index) { - while (Tokenizer_next()) + while (next()) // // if (type + Tokenizer_character === 47 + 10) break @@ -63753,7 +68938,7 @@ function commenter (type, index) { else if (type + Tokenizer_character === 42 + 42 && peek() === 47) break - return '/*' + slice(index, position - 1) + '*' + Utility_from(type === 47 ? type : Tokenizer_next()) + return '/*' + slice(index, Tokenizer_position - 1) + '*' + Utility_from(type === 47 ? type : next()) } /** @@ -63762,9 +68947,9 @@ function commenter (type, index) { */ function identifier (index) { while (!token(peek())) - Tokenizer_next() + next() - return slice(index, position) + return slice(index, Tokenizer_position) } ;// CONCATENATED MODULE: ./node_modules/stylis/src/Enum.js @@ -63981,7 +69166,7 @@ function Parser_parse (value, root, parent, rule, rules, rulesets, pseudo, point var characters = type while (scanning) - switch (previous = character, character = Tokenizer_next()) { + switch (previous = character, character = next()) { // ( case 40: if (previous != 108 && Utility_charat(characters, length - 1) == 58) { @@ -64005,7 +69190,7 @@ function Parser_parse (value, root, parent, rule, rules, rulesets, pseudo, point case 47: switch (peek()) { case 42: case 47: - Utility_append(comment(commenter(Tokenizer_next(), caret()), root, parent), declarations) + Utility_append(Parser_comment(commenter(next(), caret()), root, parent), declarations) break default: characters += '/' @@ -64069,7 +69254,7 @@ function Parser_parse (value, root, parent, rule, rules, rulesets, pseudo, point case 64: // - if (peek() === 45) - characters += delimit(Tokenizer_next()) + characters += delimit(next()) atrule = peek(), offset = length = Utility_strlen(type = characters += identifier(caret())), character++ break @@ -64104,7 +69289,7 @@ function ruleset (value, root, parent, index, offset, rules, points, type, props for (var i = 0, j = 0, k = 0; i < index; ++i) for (var x = 0, y = Utility_substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x) - if (z = Utility_trim(j > 0 ? rule[x] + ' ' + y : Utility_replace(y, /&\f/g, rule[x]))) + if (z = trim(j > 0 ? rule[x] + ' ' + y : Utility_replace(y, /&\f/g, rule[x]))) props[k++] = z return node(value, root, parent, offset === 0 ? Enum_RULESET : type, props, children, length) @@ -64116,7 +69301,7 @@ function ruleset (value, root, parent, index, offset, rules, points, type, props * @param {object?} parent * @return {object} */ -function comment (value, root, parent) { +function Parser_comment (value, root, parent) { return node(value, root, parent, COMMENT, Utility_from(Tokenizer_char()), Utility_substr(value, 2, -2), 0) } @@ -64153,10 +69338,10 @@ var identifierWithPointTracking = function identifierWithPointTracking(begin, po break; } - Tokenizer_next(); + next(); } - return slice(begin, position); + return slice(begin, Tokenizer_position); }; var toRules = function toRules(parsed, points) { @@ -64176,7 +69361,7 @@ var toRules = function toRules(parsed, points) { points[index] = 1; } - parsed[index] += identifierWithPointTracking(position - 1, points, index); + parsed[index] += identifierWithPointTracking(Tokenizer_position - 1, points, index); break; case 2: @@ -64197,7 +69382,7 @@ var toRules = function toRules(parsed, points) { default: parsed[index] += Utility_from(character); } - } while (character = Tokenizer_next()); + } while (character = next()); return parsed; }; @@ -65576,7 +70761,7 @@ const SingleColumnToolsPanelItem = /*#__PURE__*/createStyled(external_wp_compone * * @param {WidthHeightToolProps} props The component props. * - * @return {import('@wordpress/element').WPElement} The width and height tool. + * @return {import('react').ReactElement} The width and height tool. */ function WidthHeightTool({ panelId, @@ -65601,13 +70786,13 @@ function WidthHeightTool({ } onChange(nextValue); }; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(SingleColumnToolsPanelItem, { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(SingleColumnToolsPanelItem, { label: (0,external_wp_i18n_namespaceObject.__)('Width'), isShownByDefault: isShownByDefault, hasValue: () => width !== '', onDeselect: onDimensionChange('width'), panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { label: (0,external_wp_i18n_namespaceObject.__)('Width'), placeholder: (0,external_wp_i18n_namespaceObject.__)('Auto'), labelPosition: "top", @@ -65616,13 +70801,13 @@ function WidthHeightTool({ value: width, onChange: onDimensionChange('width'), size: '__unstable-large' - })), (0,external_wp_element_namespaceObject.createElement)(SingleColumnToolsPanelItem, { + })), (0,external_React_.createElement)(SingleColumnToolsPanelItem, { label: (0,external_wp_i18n_namespaceObject.__)('Height'), isShownByDefault: isShownByDefault, hasValue: () => height !== '', onDeselect: onDimensionChange('height'), panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { label: (0,external_wp_i18n_namespaceObject.__)('Height'), placeholder: (0,external_wp_i18n_namespaceObject.__)('Auto'), labelPosition: "top", @@ -65685,7 +70870,7 @@ function WidthHeightTool({ * * @param {DimensionsControlsProps} props The component props. * - * @return {WPElement} The dimensions controls. + * @return {Element} The dimensions controls. */ function DimensionsTool({ panelId, @@ -65718,7 +70903,7 @@ function DimensionsTool({ // as a custom aspect ratio. const aspectRatioValue = width && height ? 'custom' : lastAspectRatio; const showScaleControl = aspectRatio || width && height; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(AspectRatioTool, { + return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(AspectRatioTool, { panelId: panelId, options: aspectRatioOptions, defaultValue: defaultAspectRatio, @@ -65755,29 +70940,7 @@ function DimensionsTool({ } onChange(nextValue); } - }), showScaleControl && (0,external_wp_element_namespaceObject.createElement)(ScaleTool, { - panelId: panelId, - options: scaleOptions, - defaultValue: defaultScale, - value: lastScale, - onChange: nextScale => { - const nextValue = { - ...value - }; - - // 'fill' is CSS default, so it gets treated as null. - nextScale = nextScale === 'fill' ? null : nextScale; - setLastScale(nextScale); - - // Update scale. - if (!nextScale) { - delete nextValue.scale; - } else { - nextValue.scale = nextScale; - } - onChange(nextValue); - } - }), (0,external_wp_element_namespaceObject.createElement)(WidthHeightTool, { + }), (0,external_React_.createElement)(WidthHeightTool, { panelId: panelId, units: unitsOptions, value: { @@ -65832,6 +70995,28 @@ function DimensionsTool({ } onChange(nextValue); } + }), showScaleControl && (0,external_React_.createElement)(ScaleTool, { + panelId: panelId, + options: scaleOptions, + defaultValue: defaultScale, + value: lastScale, + onChange: nextScale => { + const nextValue = { + ...value + }; + + // 'fill' is CSS default, so it gets treated as null. + nextScale = nextScale === 'fill' ? null : nextScale; + setLastScale(nextScale); + + // Update scale. + if (!nextScale) { + delete nextValue.scale; + } else { + nextValue.scale = nextScale; + } + onChange(nextValue); + } })); } /* harmony default export */ var dimensions_tool = (DimensionsTool); @@ -65865,13 +71050,13 @@ function ResolutionTool({ isShownByDefault = true }) { const displayValue = value !== null && value !== void 0 ? value : defaultValue; - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { + return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, { hasValue: () => displayValue !== defaultValue, label: (0,external_wp_i18n_namespaceObject.__)('Resolution'), onDeselect: () => onChange(defaultValue), isShownByDefault: isShownByDefault, panelId: panelId - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SelectControl, { + }, (0,external_React_.createElement)(external_wp_components_namespaceObject.SelectControl, { label: (0,external_wp_i18n_namespaceObject.__)('Resolution'), value: displayValue, options: options, @@ -65914,14 +71099,15 @@ lock(privateApis, { ...global_styles_namespaceObject, ExperimentalBlockCanvas: ExperimentalBlockCanvas, ExperimentalBlockEditorProvider: ExperimentalBlockEditorProvider, + getDuotoneFilter: getDuotoneFilter, getRichTextValues: getRichTextValues, - kebabCase: kebabCase, PrivateInserter: ComposedPrivateInserter, PrivateListView: PrivateListView, ResizableBoxPopover: ResizableBoxPopover, BlockInfo: block_info_slot_fill, - useShouldContextualToolbarShow: useShouldContextualToolbarShow, + useCanBlockToolbarBeFocused: useCanBlockToolbarBeFocused, cleanEmptyObject: utils_cleanEmptyObject, + useStyleOverride: useStyleOverride, BlockQuickNavigation: BlockQuickNavigation, LayoutStyle: LayoutStyle, BlockRemovalWarningModal: BlockRemovalWarningModal, diff --git a/wp-includes/js/dist/block-editor.min.js b/wp-includes/js/dist/block-editor.min.js index b2b353cf4c..d9a046c2f0 100644 --- a/wp-includes/js/dist/block-editor.min.js +++ b/wp-includes/js/dist/block-editor.min.js @@ -4,12 +4,12 @@ autosize 4.0.4 license: MIT http://www.jacklmoore.com/autosize -*/o=[e,t],n=function(e,t){"use strict";var n,o,r="function"==typeof Map?new Map:(n=[],o=[],{has:function(e){return n.indexOf(e)>-1},get:function(e){return o[n.indexOf(e)]},set:function(e,t){-1===n.indexOf(e)&&(n.push(e),o.push(t))},delete:function(e){var t=n.indexOf(e);t>-1&&(n.splice(t,1),o.splice(t,1))}}),l=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){l=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}function i(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!r.has(e)){var t=null,n=null,o=null,i=function(){e.clientWidth!==n&&p()},a=function(t){window.removeEventListener("resize",i,!1),e.removeEventListener("input",p,!1),e.removeEventListener("keyup",p,!1),e.removeEventListener("autosize:destroy",a,!1),e.removeEventListener("autosize:update",p,!1),Object.keys(t).forEach((function(n){e.style[n]=t[n]})),r.delete(e)}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",a,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",p,!1),window.addEventListener("resize",i,!1),e.addEventListener("input",p,!1),e.addEventListener("autosize:update",p,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",r.set(e,{destroy:a,update:p}),s()}function s(){var n=window.getComputedStyle(e,null);"vertical"===n.resize?e.style.resize="none":"both"===n.resize&&(e.style.resize="horizontal"),t="content-box"===n.boxSizing?-(parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)):parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth),isNaN(t)&&(t=0),p()}function c(t){var n=e.style.width;e.style.width="0px",e.offsetWidth,e.style.width=n,e.style.overflowY=t}function u(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}function d(){if(0!==e.scrollHeight){var o=u(e),r=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+t+"px",n=e.clientWidth,o.forEach((function(e){e.node.scrollTop=e.scrollTop})),r&&(document.documentElement.scrollTop=r)}}function p(){d();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),r="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(r-1},get:function(e){return o[n.indexOf(e)]},set:function(e,t){-1===n.indexOf(e)&&(n.push(e),o.push(t))},delete:function(e){var t=n.indexOf(e);t>-1&&(n.splice(t,1),o.splice(t,1))}}),l=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){l=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}function i(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!r.has(e)){var t=null,n=null,o=null,i=function(){e.clientWidth!==n&&p()},s=function(t){window.removeEventListener("resize",i,!1),e.removeEventListener("input",p,!1),e.removeEventListener("keyup",p,!1),e.removeEventListener("autosize:destroy",s,!1),e.removeEventListener("autosize:update",p,!1),Object.keys(t).forEach((function(n){e.style[n]=t[n]})),r.delete(e)}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",s,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",p,!1),window.addEventListener("resize",i,!1),e.addEventListener("input",p,!1),e.addEventListener("autosize:update",p,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",r.set(e,{destroy:s,update:p}),a()}function a(){var n=window.getComputedStyle(e,null);"vertical"===n.resize?e.style.resize="none":"both"===n.resize&&(e.style.resize="horizontal"),t="content-box"===n.boxSizing?-(parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)):parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth),isNaN(t)&&(t=0),p()}function c(t){var n=e.style.width;e.style.width="0px",e.offsetWidth,e.style.width=n,e.style.overflowY=t}function u(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}function d(){if(0!==e.scrollHeight){var o=u(e),r=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+t+"px",n=e.clientWidth,o.forEach((function(e){e.node.scrollTop=e.scrollTop})),r&&(document.documentElement.scrollTop=r)}}function p(){d();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),r="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(re.length?n:e})),c.value=e.join(d)}else c.value=e.join(n.slice(a,a+c.count));a+=c.count,c.added||(s+=c.count)}}var p=t[i-1];return i>1&&"string"==typeof p.value&&(p.added||p.removed)&&e.equals("",p.value)&&(t[i-2].value+=p.value,t.pop()),t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n,n.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.callback;"function"==typeof n&&(r=n,n={}),this.options=n;var l=this;function i(e){return r?(setTimeout((function(){r(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var a=(t=this.removeEmpty(this.tokenize(t))).length,s=e.length,c=1,u=a+s,d=[{newPos:-1,components:[]}],p=this.extractCommon(d[0],t,e,0);if(d[0].newPos+1>=a&&p+1>=s)return i([{value:this.join(t),count:t.length}]);function m(){for(var n=-1*c;n<=c;n+=2){var r=void 0,u=d[n-1],p=d[n+1],m=(p?p.newPos:0)-n;u&&(d[n-1]=void 0);var f=u&&u.newPos+1=a&&m+1>=s)return i(o(l,r.components,t,e,l.useLongestToken));d[n]=r}else d[n]=void 0}var h;c++}if(r)!function e(){setTimeout((function(){if(c>u)return r();m()||e()}),0)}();else for(;c<=u;){var f=m();if(f)return f}},pushComponent:function(e,t,n){var o=e[e.length-1];o&&o.added===t&&o.removed===n?e[e.length-1]={count:o.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,o){for(var r=t.length,l=n.length,i=e.newPos,a=i-o,s=0;i+10?!0===i?o.scrollTop(t,_.top+k.top):!1===i?o.scrollTop(t,_.top+y.top):k.top<0?o.scrollTop(t,_.top+k.top):o.scrollTop(t,_.top+y.top):l||((i=void 0===i||!!i)?o.scrollTop(t,_.top+k.top):o.scrollTop(t,_.top+y.top)),r&&(k.left<0||y.left>0?!0===a?o.scrollLeft(t,_.left+k.left):!1===a?o.scrollLeft(t,_.left+y.left):k.left<0?o.scrollLeft(t,_.left+k.left):o.scrollLeft(t,_.left+y.left):l||((a=void 0===a||!!a)?o.scrollLeft(t,_.left+k.left):o.scrollLeft(t,_.left+y.left)))}},5425:function(e,t,n){"use strict";e.exports=n(1345)},5022:function(e){"use strict";var t=Object.assign||function(e){for(var t=1;tt},ie64:function(){return v.ie()&&d},firefox:function(){return b()||n},opera:function(){return b()||o},webkit:function(){return b()||r},safari:function(){return v.webkit()},chrome:function(){return b()||l},windows:function(){return b()||s},osx:function(){return b()||a},linux:function(){return b()||c},iphone:function(){return b()||p},mobile:function(){return b()||p||m||u||g},nativeApp:function(){return b()||f},android:function(){return b()||u},ipad:function(){return b()||m}};e.exports=v},7939:function(e,t,n){"use strict";var o,r=n(3110);r.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")) +*/!function(){"use strict";var o={}.hasOwnProperty;function r(){for(var e=[],t=0;te.length?n:e})),c.value=e.join(d)}else c.value=e.join(n.slice(s,s+c.count));s+=c.count,c.added||(a+=c.count)}}var p=t[i-1];return i>1&&"string"==typeof p.value&&(p.added||p.removed)&&e.equals("",p.value)&&(t[i-2].value+=p.value,t.pop()),t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n,n.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.callback;"function"==typeof n&&(r=n,n={}),this.options=n;var l=this;function i(e){return r?(setTimeout((function(){r(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var s=(t=this.removeEmpty(this.tokenize(t))).length,a=e.length,c=1,u=s+a,d=[{newPos:-1,components:[]}],p=this.extractCommon(d[0],t,e,0);if(d[0].newPos+1>=s&&p+1>=a)return i([{value:this.join(t),count:t.length}]);function m(){for(var n=-1*c;n<=c;n+=2){var r=void 0,u=d[n-1],p=d[n+1],m=(p?p.newPos:0)-n;u&&(d[n-1]=void 0);var f=u&&u.newPos+1=s&&m+1>=a)return i(o(l,r.components,t,e,l.useLongestToken));d[n]=r}else d[n]=void 0}var g;c++}if(r)!function e(){setTimeout((function(){if(c>u)return r();m()||e()}),0)}();else for(;c<=u;){var f=m();if(f)return f}},pushComponent:function(e,t,n){var o=e[e.length-1];o&&o.added===t&&o.removed===n?e[e.length-1]={count:o.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,o){for(var r=t.length,l=n.length,i=e.newPos,s=i-o,a=0;i+10?!0===i?o.scrollTop(t,k.top+_.top):!1===i?o.scrollTop(t,k.top+y.top):_.top<0?o.scrollTop(t,k.top+_.top):o.scrollTop(t,k.top+y.top):l||((i=void 0===i||!!i)?o.scrollTop(t,k.top+_.top):o.scrollTop(t,k.top+y.top)),r&&(_.left<0||y.left>0?!0===s?o.scrollLeft(t,k.left+_.left):!1===s?o.scrollLeft(t,k.left+y.left):_.left<0?o.scrollLeft(t,k.left+_.left):o.scrollLeft(t,k.left+y.left):l||((s=void 0===s||!!s)?o.scrollLeft(t,k.left+_.left):o.scrollLeft(t,k.left+y.left)))}},5425:function(e,t,n){"use strict";e.exports=n(1345)},5022:function(e){"use strict";var t=Object.assign||function(e){for(var t=1;tt},ie64:function(){return v.ie()&&d},firefox:function(){return b()||n},opera:function(){return b()||o},webkit:function(){return b()||r},safari:function(){return v.webkit()},chrome:function(){return b()||l},windows:function(){return b()||a},osx:function(){return b()||s},linux:function(){return b()||c},iphone:function(){return b()||p},mobile:function(){return b()||p||m||u||h},nativeApp:function(){return b()||f},android:function(){return b()||u},ipad:function(){return b()||m}};e.exports=v},7939:function(e,t,n){"use strict";var o,r=n(3110);r.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")) /** * Checks if an event is supported in the current execution environment. * @@ -23,7 +23,7 @@ * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT - */,e.exports=function(e,t){if(!r.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,l=n in document;if(!l){var i=document.createElement("div");i.setAttribute(n,"return;"),l="function"==typeof i[n]}return!l&&o&&"wheel"===e&&(l=document.implementation.hasFeature("Events.wheel","3.0")),l}},195:function(e,t,n){"use strict";var o=n(3812),r=n(7939);function l(e){var t=0,n=0,o=0,r=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),o=10*t,r=10*n,"deltaY"in e&&(r=e.deltaY),"deltaX"in e&&(o=e.deltaX),(o||r)&&e.deltaMode&&(1==e.deltaMode?(o*=40,r*=40):(o*=800,r*=800)),o&&!t&&(t=o<1?-1:1),r&&!n&&(n=r<1?-1:1),{spinX:t,spinY:n,pixelX:o,pixelY:r}}l.getEventType=function(){return o.firefox()?"DOMMouseScroll":r("wheel")?"wheel":"mousewheel"},e.exports=l},5372:function(e,t,n){"use strict";var o=n(9567);function r(){}function l(){}l.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,l,i){if(i!==o){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:l,resetWarningCache:r};return n.PropTypes=n,n}},2652:function(e,t,n){e.exports=n(5372)()},9567:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5438:function(e,t,n){"use strict";var o,r=this&&this.__extends||(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=this&&this.__assign||Object.assign||function(e){for(var t,n=1,o=arguments.length;ne;function w(e,t=""){const n=new Map,o=[];return n.set(t,o),e.forEach((e=>{const{clientId:t,innerBlocks:r}=e;o.push(t),w(r,t).forEach(((e,t)=>{n.set(t,e)}))})),n}function C(e,t=""){const n=[],o=[[t,e]];for(;o.length;){const[e,t]=o.shift();t.forEach((({innerBlocks:t,...r})=>{n.push([r.clientId,e]),t?.length&&o.push([r.clientId,t])}))}return n}function x(e,t=S){const n=[],o=[...e];for(;o.length;){const{innerBlocks:e,...r}=o.shift();o.push(...e),n.push([r.clientId,t(r)])}return n}function B(e){return x(e,(e=>{const{attributes:t,...n}=e;return n}))}function I(e){return x(e,(e=>e.attributes))}function T(e,t){return"UPDATE_BLOCK_ATTRIBUTES"===e.type&&void 0!==t&&"UPDATE_BLOCK_ATTRIBUTES"===t.type&&b()(e.clientIds,t.clientIds)&&function(e,t){return b()(Object.keys(e),Object.keys(t))}(e.attributes,t.attributes)}function M(e,t){const n=e.tree,o=[...t],r=[...t];for(;o.length;){const e=o.shift();o.push(...e.innerBlocks),r.push(...e.innerBlocks)}for(const e of r)n.set(e.clientId,{});for(const t of r)n.set(t.clientId,Object.assign(n.get(t.clientId),{...e.byClientId.get(t.clientId),attributes:e.attributes.get(t.clientId),innerBlocks:t.innerBlocks.map((e=>n.get(e.clientId)))}))}function P(e,t,n=!1){const o=e.tree,r=new Set([]),l=new Set;for(const o of t){let t=n?o:e.parents.get(o);do{if(e.controlledInnerBlocks[t]){l.add(t);break}r.add(t),t=e.parents.get(t)}while(void 0!==t)}for(const e of r)o.set(e,{...o.get(e)});for(const t of r)o.get(t).innerBlocks=(e.order.get(t)||[]).map((e=>o.get(e)));for(const t of l)o.set("controlled||"+t,{innerBlocks:(e.order.get(t)||[]).map((e=>o.get(e)))})}const N=(0,p.pipe)(f.combineReducers,(e=>(t,n)=>{if(t&&"SAVE_REUSABLE_BLOCK_SUCCESS"===n.type){const{id:e,updatedId:o}=n;if(e===o)return t;(t={...t}).attributes=new Map(t.attributes),t.attributes.forEach(((n,r)=>{const{name:l}=t.byClientId.get(r);"core/block"===l&&n.ref===e&&t.attributes.set(r,{...n,ref:o})}))}return e(t,n)}),(e=>(t={},n)=>{const o=e(t,n);if(o===t)return t;switch(o.tree=t.tree?t.tree:new Map,n.type){case"RECEIVE_BLOCKS":case"INSERT_BLOCKS":o.tree=new Map(o.tree),M(o,n.blocks),P(o,n.rootClientId?[n.rootClientId]:[""],!0);break;case"UPDATE_BLOCK":o.tree=new Map(o.tree),o.tree.set(n.clientId,{...o.tree.get(n.clientId),...o.byClientId.get(n.clientId),attributes:o.attributes.get(n.clientId)}),P(o,[n.clientId],!1);break;case"UPDATE_BLOCK_ATTRIBUTES":o.tree=new Map(o.tree),n.clientIds.forEach((e=>{o.tree.set(e,{...o.tree.get(e),attributes:o.attributes.get(e)})})),P(o,n.clientIds,!1);break;case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":{const e=function(e){const t={},n=[...e];for(;n.length;){const{innerBlocks:e,...o}=n.shift();n.push(...e),t[o.clientId]=!0}return t}(n.blocks);o.tree=new Map(o.tree),n.replacedClientIds.concat(n.replacedClientIds.filter((t=>!e[t])).map((e=>"controlled||"+e))).forEach((e=>{o.tree.delete(e)})),M(o,n.blocks),P(o,n.blocks.map((e=>e.clientId)),!1);const r=[];for(const e of n.clientIds)void 0===t.parents.get(e)||""!==t.parents.get(e)&&!o.byClientId.get(t.parents.get(e))||r.push(t.parents.get(e));P(o,r,!0);break}case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":const e=[];for(const r of n.clientIds)void 0===t.parents.get(r)||""!==t.parents.get(r)&&!o.byClientId.get(t.parents.get(r))||e.push(t.parents.get(r));o.tree=new Map(o.tree),n.removedClientIds.concat(n.removedClientIds.map((e=>"controlled||"+e))).forEach((e=>{o.tree.delete(e)})),P(o,e,!0);break;case"MOVE_BLOCKS_TO_POSITION":{const e=[];n.fromRootClientId?e.push(n.fromRootClientId):e.push(""),n.toRootClientId&&e.push(n.toRootClientId),o.tree=new Map(o.tree),P(o,e,!0);break}case"MOVE_BLOCKS_UP":case"MOVE_BLOCKS_DOWN":{const e=[n.rootClientId?n.rootClientId:""];o.tree=new Map(o.tree),P(o,e,!0);break}case"SAVE_REUSABLE_BLOCK_SUCCESS":{const e=[];o.attributes.forEach(((t,r)=>{"core/block"===o.byClientId.get(r).name&&t.ref===n.updatedId&&e.push(r)})),o.tree=new Map(o.tree),e.forEach((e=>{o.tree.set(e,{...o.byClientId.get(e),attributes:o.attributes.get(e),innerBlocks:o.tree.get(e).innerBlocks})})),P(o,e,!1)}}return o}),(e=>(t,n)=>{const o=e=>{let o=e;for(let r=0;r(t,n)=>{if("REPLACE_INNER_BLOCKS"!==n.type)return e(t,n);const o={};if(Object.keys(t.controlledInnerBlocks).length){const e=[...n.blocks];for(;e.length;){const{innerBlocks:n,...r}=e.shift();e.push(...n),t.controlledInnerBlocks[r.clientId]&&(o[r.clientId]=!0)}}let r=t;t.order.get(n.rootClientId)&&(r=e(r,{type:"REMOVE_BLOCKS",keepControlledInnerBlocks:o,clientIds:t.order.get(n.rootClientId)}));let l=r;if(n.blocks.length){l=e(l,{...n,type:"INSERT_BLOCKS",index:0});const r=new Map(l.order);Object.keys(o).forEach((e=>{t.order.get(e)&&r.set(e,t.order.get(e))})),l.order=r,l.tree=new Map(l.tree),Object.keys(o).forEach((e=>{const n=`controlled||${e}`;t.tree.has(n)&&l.tree.set(n,t.tree.get(n))}))}return l}),(e=>(t,n)=>{if("RESET_BLOCKS"===n.type){const e={...t,byClientId:new Map(B(n.blocks)),attributes:new Map(I(n.blocks)),order:w(n.blocks),parents:new Map(C(n.blocks)),controlledInnerBlocks:{}};return e.tree=new Map(t?.tree),M(e,n.blocks),e.tree.set("",{innerBlocks:n.blocks.map((t=>e.tree.get(t.clientId)))}),e}return e(t,n)}),(function(e){let t,n=!1;return(o,r)=>{let l=e(o,r);const i="MARK_LAST_CHANGE_AS_PERSISTENT"===r.type||n;if(o===l&&!i){var a;n="MARK_NEXT_CHANGE_AS_NOT_PERSISTENT"===r.type;const e=null===(a=o?.isPersistentChange)||void 0===a||a;return o.isPersistentChange===e?o:{...l,isPersistentChange:e}}return l={...l,isPersistentChange:i?!n:!T(r,t)},t=r,n="MARK_NEXT_CHANGE_AS_NOT_PERSISTENT"===r.type,l}}),(function(e){const t=new Set(["RECEIVE_BLOCKS"]);return(n,o)=>{const r=e(n,o);return r!==n&&(r.isIgnoredChange=t.has(o.type)),r}}),(e=>(t,n)=>{if("SET_HAS_CONTROLLED_INNER_BLOCKS"===n.type){const o=e(t,{type:"REPLACE_INNER_BLOCKS",rootClientId:n.clientId,blocks:[]});return e(o,n)}return e(t,n)}))({byClientId(e=new Map,t){switch(t.type){case"RECEIVE_BLOCKS":case"INSERT_BLOCKS":{const n=new Map(e);return B(t.blocks).forEach((([e,t])=>{n.set(e,t)})),n}case"UPDATE_BLOCK":{if(!e.has(t.clientId))return e;const{attributes:n,...o}=t.updates;if(0===Object.values(o).length)return e;const r=new Map(e);return r.set(t.clientId,{...e.get(t.clientId),...o}),r}case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":{if(!t.blocks)return e;const n=new Map(e);return t.replacedClientIds.forEach((e=>{n.delete(e)})),B(t.blocks).forEach((([e,t])=>{n.set(e,t)})),n}case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":{const n=new Map(e);return t.removedClientIds.forEach((e=>{n.delete(e)})),n}}return e},attributes(e=new Map,t){switch(t.type){case"RECEIVE_BLOCKS":case"INSERT_BLOCKS":{const n=new Map(e);return I(t.blocks).forEach((([e,t])=>{n.set(e,t)})),n}case"UPDATE_BLOCK":{if(!e.get(t.clientId)||!t.updates.attributes)return e;const n=new Map(e);return n.set(t.clientId,{...e.get(t.clientId),...t.updates.attributes}),n}case"UPDATE_BLOCK_ATTRIBUTES":{if(t.clientIds.every((t=>!e.get(t))))return e;let o=!1;const r=new Map(e);for(const l of t.clientIds){var n;const i=Object.entries(t.uniqueByBlock?t.attributes[l]:null!==(n=t.attributes)&&void 0!==n?n:{});if(0===i.length)continue;let a=!1;const s=e.get(l),c={};i.forEach((([e,t])=>{s[e]!==t&&(a=!0,c[e]=t)})),o=o||a,a&&r.set(l,{...s,...c})}return o?r:e}case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":{if(!t.blocks)return e;const n=new Map(e);return t.replacedClientIds.forEach((e=>{n.delete(e)})),I(t.blocks).forEach((([e,t])=>{n.set(e,t)})),n}case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":{const n=new Map(e);return t.removedClientIds.forEach((e=>{n.delete(e)})),n}}return e},order(e=new Map,t){switch(t.type){case"RECEIVE_BLOCKS":{var n;const o=w(t.blocks),r=new Map(e);return o.forEach(((e,t)=>{""!==t&&r.set(t,e)})),r.set("",(null!==(n=e.get(""))&&void 0!==n?n:[]).concat(o[""])),r}case"INSERT_BLOCKS":{const{rootClientId:n=""}=t,o=e.get(n)||[],r=w(t.blocks,n),{index:l=o.length}=t,i=new Map(e);return r.forEach(((e,t)=>{i.set(t,e)})),i.set(n,y(o,r.get(n),l)),i}case"MOVE_BLOCKS_TO_POSITION":{var o;const{fromRootClientId:n="",toRootClientId:r="",clientIds:l}=t,{index:i=e.get(r).length}=t;if(n===r){const t=e.get(r).indexOf(l[0]),n=new Map(e);return n.set(r,E(e.get(r),t,i,l.length)),n}const a=new Map(e);return a.set(n,null!==(o=e.get(n)?.filter((e=>!l.includes(e))))&&void 0!==o?o:[]),a.set(r,y(e.get(r),l,i)),a}case"MOVE_BLOCKS_UP":{const{clientIds:n,rootClientId:o=""}=t,r=n[0],l=e.get(o);if(!l.length||r===l[0])return e;const i=l.indexOf(r),a=new Map(e);return a.set(o,E(l,i,i-1,n.length)),a}case"MOVE_BLOCKS_DOWN":{const{clientIds:n,rootClientId:o=""}=t,r=n[0],l=n[n.length-1],i=e.get(o);if(!i.length||l===i[i.length-1])return e;const a=i.indexOf(r),s=new Map(e);return s.set(o,E(i,a,a+1,n.length)),s}case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":{const{clientIds:n}=t;if(!t.blocks)return e;const o=w(t.blocks),r=new Map(e);return t.replacedClientIds.forEach((e=>{r.delete(e)})),o.forEach(((e,t)=>{""!==t&&r.set(t,e)})),r.forEach(((e,t)=>{const l=Object.values(e).reduce(((e,t)=>t===n[0]?[...e,...o.get("")]:(-1===n.indexOf(t)&&e.push(t),e)),[]);r.set(t,l)})),r}case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":{const n=new Map(e);return t.removedClientIds.forEach((e=>{n.delete(e)})),n.forEach(((e,o)=>{var r;const l=null!==(r=e?.filter((e=>!t.removedClientIds.includes(e))))&&void 0!==r?r:[];l.length!==e.length&&n.set(o,l)})),n}}return e},parents(e=new Map,t){switch(t.type){case"RECEIVE_BLOCKS":{const n=new Map(e);return C(t.blocks).forEach((([e,t])=>{n.set(e,t)})),n}case"INSERT_BLOCKS":{const n=new Map(e);return C(t.blocks,t.rootClientId||"").forEach((([e,t])=>{n.set(e,t)})),n}case"MOVE_BLOCKS_TO_POSITION":{const n=new Map(e);return t.clientIds.forEach((e=>{n.set(e,t.toRootClientId||"")})),n}case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":{const n=new Map(e);return t.replacedClientIds.forEach((e=>{n.delete(e)})),C(t.blocks,e.get(t.clientIds[0])).forEach((([e,t])=>{n.set(e,t)})),n}case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":{const n=new Map(e);return t.removedClientIds.forEach((e=>{n.delete(e)})),n}}return e},controlledInnerBlocks(e={},{type:t,clientId:n,hasControlledInnerBlocks:o}){return"SET_HAS_CONTROLLED_INNER_BLOCKS"===t?{...e,[n]:o}:e}});function L(e={},t){switch(t.type){case"CLEAR_SELECTED_BLOCK":return e.clientId?{}:e;case"SELECT_BLOCK":return t.clientId===e.clientId?e:{clientId:t.clientId};case"REPLACE_INNER_BLOCKS":case"INSERT_BLOCKS":return t.updateSelection&&t.blocks.length?{clientId:t.blocks[0].clientId}:e;case"REMOVE_BLOCKS":return t.clientIds&&t.clientIds.length&&-1!==t.clientIds.indexOf(e.clientId)?{}:e;case"REPLACE_BLOCKS":{if(-1===t.clientIds.indexOf(e.clientId))return e;const n=t.blocks[t.indexToSelect]||t.blocks[t.blocks.length-1];return n?n.clientId===e.clientId?e:{clientId:n.clientId}:{}}}return e}const R=(0,f.combineReducers)({blocks:N,isTyping:function(e=!1,t){switch(t.type){case"START_TYPING":return!0;case"STOP_TYPING":return!1}return e},isBlockInterfaceHidden:function(e=!1,t){switch(t.type){case"HIDE_BLOCK_INTERFACE":return!0;case"SHOW_BLOCK_INTERFACE":return!1}return e},draggedBlocks:function(e=[],t){switch(t.type){case"START_DRAGGING_BLOCKS":return t.clientIds;case"STOP_DRAGGING_BLOCKS":return[]}return e},selection:function(e={},t){switch(t.type){case"SELECTION_CHANGE":return t.clientId?{selectionStart:{clientId:t.clientId,attributeKey:t.attributeKey,offset:t.startOffset},selectionEnd:{clientId:t.clientId,attributeKey:t.attributeKey,offset:t.endOffset}}:{selectionStart:t.start||e.selectionStart,selectionEnd:t.end||e.selectionEnd};case"RESET_SELECTION":const{selectionStart:n,selectionEnd:o}=t;return{selectionStart:n,selectionEnd:o};case"MULTI_SELECT":const{start:r,end:l}=t;return r===e.selectionStart?.clientId&&l===e.selectionEnd?.clientId?e:{selectionStart:{clientId:r},selectionEnd:{clientId:l}};case"RESET_BLOCKS":const i=e?.selectionStart?.clientId,a=e?.selectionEnd?.clientId;if(!i&&!a)return e;if(!t.blocks.some((e=>e.clientId===i)))return{selectionStart:{},selectionEnd:{}};if(!t.blocks.some((e=>e.clientId===a)))return{...e,selectionEnd:e.selectionStart}}const n=L(e.selectionStart,t),o=L(e.selectionEnd,t);return n===e.selectionStart&&o===e.selectionEnd?e:{selectionStart:n,selectionEnd:o}},isMultiSelecting:function(e=!1,t){switch(t.type){case"START_MULTI_SELECT":return!0;case"STOP_MULTI_SELECT":return!1}return e},isSelectionEnabled:function(e=!0,t){return"TOGGLE_SELECTION"===t.type?t.isSelectionEnabled:e},initialPosition:function(e=null,t){return"REPLACE_BLOCKS"===t.type&&void 0!==t.initialPosition||["MULTI_SELECT","SELECT_BLOCK","RESET_SELECTION","INSERT_BLOCKS","REPLACE_INNER_BLOCKS"].includes(t.type)?t.initialPosition:e},blocksMode:function(e={},t){if("TOGGLE_BLOCK_MODE"===t.type){const{clientId:n}=t;return{...e,[n]:e[n]&&"html"===e[n]?"visual":"html"}}return e},blockListSettings:(e={},t)=>{switch(t.type){case"REPLACE_BLOCKS":case"REMOVE_BLOCKS":return Object.fromEntries(Object.entries(e).filter((([e])=>!t.clientIds.includes(e))));case"UPDATE_BLOCK_LIST_SETTINGS":{const{clientId:n}=t;if(!t.settings){if(e.hasOwnProperty(n)){const{[n]:t,...o}=e;return o}return e}return b()(e[n],t.settings)?e:{...e,[n]:t.settings}}}return e},insertionPoint:function(e=null,t){switch(t.type){case"SHOW_INSERTION_POINT":{const{rootClientId:n,index:o,__unstableWithInserter:r,operation:l}=t,i={rootClientId:n,index:o,__unstableWithInserter:r,operation:l};return b()(e,i)?e:i}case"HIDE_INSERTION_POINT":return null}return e},template:function(e={isValid:!0},t){return"SET_TEMPLATE_VALIDITY"===t.type?{...e,isValid:t.isValid}:e},settings:function(e=k,t){return"UPDATE_SETTINGS"===t.type?t.reset?{...k,...t.settings}:{...e,...t.settings}:e},preferences:function(e=_,t){switch(t.type){case"INSERT_BLOCKS":case"REPLACE_BLOCKS":return t.blocks.reduce(((e,n)=>{const{attributes:o,name:r}=n;let l=r;const i=(0,f.select)(a.store).getActiveBlockVariation(r,o);return i?.name&&(l+="/"+i.name),"core/block"===r&&(l+="/"+o.ref),{...e,insertUsage:{...e.insertUsage,[l]:{time:t.time,count:e.insertUsage[l]?e.insertUsage[l].count+1:1}}}}),e)}return e},lastBlockAttributesChange:function(e=null,t){switch(t.type){case"UPDATE_BLOCK":if(!t.updates.attributes)break;return{[t.clientId]:t.updates.attributes};case"UPDATE_BLOCK_ATTRIBUTES":return t.clientIds.reduce(((e,n)=>({...e,[n]:t.uniqueByBlock?t.attributes[n]:t.attributes})),{})}return e},editorMode:function(e="edit",t){return"INSERT_BLOCKS"===t.type&&"navigation"===e?"edit":"SET_EDITOR_MODE"===t.type?t.mode:e},hasBlockMovingClientId:function(e=null,t){return"SET_BLOCK_MOVING_MODE"===t.type?t.hasBlockMovingClientId:"SET_EDITOR_MODE"===t.type?null:e},highlightedBlock:function(e,t){switch(t.type){case"TOGGLE_BLOCK_HIGHLIGHT":const{clientId:n,isHighlighted:o}=t;return o?n:e===n?null:e;case"SELECT_BLOCK":if(t.clientId!==e)return null}return e},lastBlockInserted:function(e={},t){switch(t.type){case"INSERT_BLOCKS":case"REPLACE_BLOCKS":if(!t.blocks.length)return e;const n=t.blocks.map((e=>e.clientId)),o=t.meta?.source;return{clientIds:n,source:o};case"RESET_BLOCKS":return{}}return e},temporarilyEditingAsBlocks:function(e="",t){return"SET_TEMPORARILY_EDITING_AS_BLOCKS"===t.type?t.temporarilyEditingAsBlocks:e},blockVisibility:function(e={},t){return"SET_BLOCK_VISIBILITY"===t.type?{...e,...t.updates}:e},blockEditingModes:function(e=new Map,t){switch(t.type){case"SET_BLOCK_EDITING_MODE":return new Map(e).set(t.clientId,t.mode);case"UNSET_BLOCK_EDITING_MODE":{const n=new Map(e);return n.delete(t.clientId),n}case"RESET_BLOCKS":return e.has("")?(new Map).set("",e.get("")):e}return e},styleOverrides:function(e=new Map,t){switch(t.type){case"SET_STYLE_OVERRIDE":return new Map(e).set(t.id,t.style);case"DELETE_STYLE_OVERRIDE":{const n=new Map(e);return n.delete(t.id),n}}return e},removalPromptData:function(e=!1,t){switch(t.type){case"DISPLAY_BLOCK_REMOVAL_PROMPT":const{clientIds:e,selectPrevious:n,blockNamesForPrompt:o}=t;return{clientIds:e,selectPrevious:n,blockNamesForPrompt:o};case"CLEAR_BLOCK_REMOVAL_PROMPT":return!1}return e},blockRemovalRules:function(e=!1,t){return"SET_BLOCK_REMOVAL_RULES"===t.type?t.rules:e},openedBlockSettingsMenu:function(e=null,t){var n;return"SET_OPENED_BLOCK_SETTINGS_MENU"===t.type?null!==(n=t?.clientId)&&void 0!==n?n:null:e},registeredInserterMediaCategories:function(e=[],t){return"REGISTER_INSERTER_MEDIA_CATEGORY"===t.type?[...e,t.category]:e}});var A=function(e){return(t,n)=>{const o=e(t,n);return t?(o.automaticChangeStatus=t.automaticChangeStatus,"MARK_AUTOMATIC_CHANGE"===n.type?{...o,automaticChangeStatus:"pending"}:"MARK_AUTOMATIC_CHANGE_FINAL"===n.type&&"pending"===t.automaticChangeStatus?{...o,automaticChangeStatus:"final"}:o.blocks===t.blocks&&o.selection===t.selection||"final"!==o.automaticChangeStatus&&o.selection!==t.selection?o:{...o,automaticChangeStatus:void 0}):o}}(R),D={};function O(e){return[e]}function z(e,t,n){var o;if(e.length!==t.length)return!1;for(o=n;o(o,r)=>{let l,i;if("function"==typeof e?(l=e(o),i=e(r)):(l=o[e],i=r[e]),l>i)return"asc"===n?1:-1;if(i>l)return"asc"===n?-1:1;const a=t.findIndex((e=>e===o)),s=t.findIndex((e=>e===r));return a>s?1:s>a?-1:0};function K(e,t,n="asc"){return e.concat().sort(W(t,e,n))}const q=[],Z=new Set;function Y(e,t){const n=e.blocks.byClientId.get(t),o="core/social-link";if("web"!==c.Platform.OS&&n?.name===o){const n=e.blocks.attributes.get(t),{service:r}=null!=n?n:{};return r?`${o}-${r}`:o}return n?n.name:null}function X(e,t){const n=e.blocks.byClientId.get(t);return!!n&&n.isValid}function Q(e,t){return e.blocks.byClientId.get(t)?e.blocks.attributes.get(t):null}function J(e,t){return e.blocks.byClientId.has(t)?e.blocks.tree.get(t):null}const ee=V(((e,t)=>e.blocks.byClientId.has(t)?{...e.blocks.byClientId.get(t),attributes:Q(e,t)}:null),((e,t)=>[e.blocks.byClientId.get(t),e.blocks.attributes.get(t)]));function te(e,t){const n=t&&Qt(e,t)?"controlled||"+t:t||"";return e.blocks.tree.get(n)?.innerBlocks||q}const ne=V(((e,t)=>($()("wp.data.select( 'core/block-editor' ).__unstableGetClientIdWithClientIdsTree",{since:"6.3",version:"6.5"}),{clientId:t,innerBlocks:oe(e,t)})),(e=>[e.blocks.order])),oe=V(((e,t="")=>($()("wp.data.select( 'core/block-editor' ).__unstableGetClientIdsTree",{since:"6.3",version:"6.5"}),Ue(e,t).map((t=>ne(e,t))))),(e=>[e.blocks.order])),re=V(((e,t)=>{const n=Array.isArray(t)?t:[t],o=[];for(const t of n)for(const n of Ue(e,t))o.push(n,...re(e,n));return o}),(e=>[e.blocks.order])),le=V((e=>{const t=[];for(const n of Ue(e))t.push(n,...re(e,n));return t}),(e=>[e.blocks.order])),ie=V(((e,t)=>{const n=le(e);return t?n.reduce(((n,o)=>e.blocks.byClientId.get(o).name===t?n+1:n),0):n.length}),(e=>[e.blocks.order,e.blocks.byClientId])),ae=V(((e,t)=>{if(!t)return q;const n=Array.isArray(t)?t:[t],o=le(e).filter((t=>{const o=e.blocks.byClientId.get(t);return n.includes(o.name)}));return o.length>0?o:q}),(e=>[e.blocks.order,e.blocks.byClientId])),se=V(((e,t)=>(Array.isArray(t)?t:[t]).map((t=>J(e,t)))),((e,t)=>(Array.isArray(t)?t:[t]).map((t=>e.blocks.tree.get(t))))),ce=V(((e,t)=>se(e,t).filter(Boolean).map((e=>e.name))),((e,t)=>se(e,t)));function ue(e,t){return Ue(e,t).length}function de(e){return e.selection.selectionStart}function pe(e){return e.selection.selectionEnd}function me(e){return e.selection.selectionStart.clientId}function fe(e){return e.selection.selectionEnd.clientId}function ge(e){const t=Te(e).length;return t||(e.selection.selectionStart.clientId?1:0)}function he(e){const{selectionStart:t,selectionEnd:n}=e.selection;return!!t.clientId&&t.clientId===n.clientId}function be(e){const{selectionStart:t,selectionEnd:n}=e.selection,{clientId:o}=t;return o&&o===n.clientId?o:null}function ve(e){const t=be(e);return t?J(e,t):null}function _e(e,t){return e.blocks.parents.has(t)?e.blocks.parents.get(t):null}const ke=V(((e,t,n=!1)=>{const o=[];let r=t;for(;e.blocks.parents.get(r);)r=e.blocks.parents.get(r),o.push(r);return o.length?n?o:o.reverse():q}),(e=>[e.blocks.parents])),ye=V(((e,t,n,o=!1)=>{const r=ke(e,t,o),l=Array.isArray(n)?e=>n.includes(e):e=>n===e;return r.filter((t=>l(Y(e,t))))}),(e=>[e.blocks.parents]));function Ee(e,t){let n,o=t;do{n=o,o=e.blocks.parents.get(o)}while(o);return n}function Se(e,t){const n=be(e),o=[...ke(e,t),t],r=[...ke(e,n),n];let l;const i=Math.min(o.length,r.length);for(let e=0;e{const{selectionStart:t,selectionEnd:n}=e.selection;if(!t.clientId||!n.clientId)return q;if(t.clientId===n.clientId)return[t.clientId];const o=_e(e,t.clientId);if(null===o)return q;const r=Ue(e,o),l=r.indexOf(t.clientId),i=r.indexOf(n.clientId);return l>i?r.slice(i,l+1):r.slice(l,i+1)}),(e=>[e.blocks.order,e.selection.selectionStart.clientId,e.selection.selectionEnd.clientId]));function Te(e){const{selectionStart:t,selectionEnd:n}=e.selection;return t.clientId===n.clientId?q:Ie(e)}const Me=V((e=>{const t=Te(e);return t.length?t.map((t=>J(e,t))):q}),(e=>[...Ie.getDependants(e),e.blocks.byClientId,e.blocks.order,e.blocks.attributes]));function Pe(e){return Te(e)[0]||null}function Ne(e){const t=Te(e);return t[t.length-1]||null}function Le(e,t){return Pe(e)===t}function Re(e,t){return-1!==Te(e).indexOf(t)}const Ae=V(((e,t)=>{let n=t,o=!1;for(;n&&!o;)n=_e(e,n),o=Re(e,n);return o}),(e=>[e.blocks.order,e.selection.selectionStart.clientId,e.selection.selectionEnd.clientId]));function De(e){const{selectionStart:t,selectionEnd:n}=e.selection;return t.clientId===n.clientId?null:t.clientId||null}function Oe(e){const{selectionStart:t,selectionEnd:n}=e.selection;return t.clientId===n.clientId?null:n.clientId||null}function ze(e){const t=de(e),n=pe(e);return!t.attributeKey&&!n.attributeKey&&void 0===t.offset&&void 0===n.offset}function Ve(e){const t=de(e),n=pe(e);return!!t&&!!n&&t.clientId===n.clientId&&t.attributeKey===n.attributeKey&&t.offset===n.offset}function Fe(e){return Ie(e).some((t=>{const n=Y(e,t);return!(0,a.getBlockType)(n).merge}))}function He(e,t){const n=de(e),o=pe(e);if(n.clientId===o.clientId)return!1;if(!n.attributeKey||!o.attributeKey||void 0===n.offset||void 0===o.offset)return!1;const r=_e(e,n.clientId);if(r!==_e(e,o.clientId))return!1;const l=Ue(e,r);let i,s;l.indexOf(n.clientId)>l.indexOf(o.clientId)?(i=o,s=n):(i=n,s=o);const c=t?s.clientId:i.clientId,u=t?i.clientId:s.clientId,d=Y(e,c);if(!(0,a.getBlockType)(d).merge)return!1;const p=J(e,u);if(p.name===d)return!0;const m=(0,a.switchToBlockType)(p,d);return m&&m.length}const Ge=e=>{const t=de(e),n=pe(e);if(t.clientId===n.clientId)return q;if(!t.attributeKey||!n.attributeKey||void 0===t.offset||void 0===n.offset)return q;const o=_e(e,t.clientId);if(o!==_e(e,n.clientId))return q;const r=Ue(e,o),l=r.indexOf(t.clientId),i=r.indexOf(n.clientId),[s,c]=l>i?[n,t]:[t,n],u=J(e,s.clientId),d=(0,a.getBlockType)(u.name),p=J(e,c.clientId),m=(0,a.getBlockType)(p.name),f=u.attributes[s.attributeKey],g=p.attributes[c.attributeKey],h=d.attributes[s.attributeKey],b=m.attributes[c.attributeKey];let v=(0,G.create)({html:f,...j(h)}),_=(0,G.create)({html:g,...j(b)});return v=(0,G.remove)(v,0,s.offset),_=(0,G.remove)(_,c.offset,_.text.length),[{...u,attributes:{...u.attributes,[s.attributeKey]:(0,G.toHTMLString)({value:v,...j(h)})}},{...p,attributes:{...p.attributes,[c.attributeKey]:(0,G.toHTMLString)({value:_,...j(b)})}}]};function Ue(e,t){return e.blocks.order.get(t||"")||q}function $e(e,t){return Ue(e,_e(e,t)).indexOf(t)}function je(e,t){const{selectionStart:n,selectionEnd:o}=e.selection;return n.clientId===o.clientId&&n.clientId===t}function We(e,t,n=!1){return Ue(e,t).some((t=>je(e,t)||Re(e,t)||n&&We(e,t,n)))}function Ke(e,t,n=!1){return Ue(e,t).some((t=>nt(e,t)||n&&Ke(e,t,n)))}function qe(e,t){if(!t)return!1;const n=Te(e),o=n.indexOf(t);return o>-1&&ont(e,t)))}function rt(){return $()('wp.data.select( "core/block-editor" ).isCaretWithinFormattedText',{since:"6.1",version:"6.3"}),!1}const lt=V((e=>{let t,n;const{insertionPoint:o,selection:{selectionEnd:r}}=e;if(null!==o)return o;const{clientId:l}=r;return l?(t=_e(e,l)||void 0,n=$e(e,r.clientId)+1):n=Ue(e).length,{rootClientId:t,index:n}}),(e=>[e.insertionPoint,e.selection.selectionEnd.clientId,e.blocks.parents,e.blocks.order]));function it(e){return null!==e.insertionPoint}function at(e){return e.template.isValid}function st(e){return e.settings.template}function ct(e,t){var n,o;return t?null!==(n=Vt(e,t)?.templateLock)&&void 0!==n&&n:null!==(o=e.settings.templateLock)&&void 0!==o&&o}const ut=(e,t,n=null)=>"boolean"==typeof e?e:Array.isArray(e)?!(!e.includes("core/post-content")||null!==t)||e.includes(t):n,dt=(e,t,n=null)=>{let o;if(t&&"object"==typeof t?(o=t,t=o.name):o=(0,a.getBlockType)(t),!o)return!1;const{allowedBlockTypes:r}=Ft(e);if(!ut(r,t,!0))return!1;if(!!ct(e,n))return!1;if("disabled"===sn(e,null!=n?n:""))return!1;const l=Vt(e,n);if(n&&void 0===l)return!1;const i=l?.allowedBlocks,c=ut(i,t),u=o.parent,d=Y(e,n),p=ut(u,d);let m=!0;const f=o.ancestor;if(f){m=[n,...ke(e,n)].some((t=>ut(f,Y(e,t))))}const g=m&&(null===c&&null===p||!0===c||!0===p);return g?(0,s.applyFilters)("blockEditor.__unstableCanInsertBlockType",g,o,n,{getBlock:J.bind(null,e),getBlockParentsByBlockName:ye.bind(null,e)}):g},pt=V(dt,((e,t,n)=>[e.blockListSettings[n],e.blocks.byClientId.get(n),e.settings.allowedBlockTypes,e.settings.templateLock,e.blockEditingModes]));function mt(e,t,n=null){return t.every((t=>pt(e,Y(e,t),n)))}function ft(e,t,n=null){const o=Q(e,t);return null===o||(void 0!==o.lock?.remove?!o.lock.remove:!ct(e,n)&&"disabled"!==sn(e,n))}function gt(e,t,n=null){return t.every((t=>ft(e,t,n)))}function ht(e,t,n=null){const o=Q(e,t);return null===o||(void 0!==o.lock?.move?!o.lock.move:"all"!==ct(e,n)&&"disabled"!==sn(e,n))}function bt(e,t,n=null){return t.every((t=>ht(e,t,n)))}function vt(e,t){const n=Q(e,t);if(null===n)return!0;const{lock:o}=n;return!o?.edit}function _t(e,t){return!!(0,a.hasBlockSupport)(t,"lock",!0)&&!!e.settings?.canLockBlocks}function kt(e,t){var n;return null!==(n=e.preferences.insertUsage?.[t])&&void 0!==n?n:null}const yt=(e,t,n)=>!!(0,a.hasBlockSupport)(t,"inserter",!0)&&dt(e,t.name,n),Et=(e,t)=>{if(!e)return t;const n=Date.now()-e;switch(!0){case n<36e5:return 4*t;case n<864e5:return 2*t;case n<6048e5:return t/2;default:return t/4}},St=(e,{buildScope:t="inserter"})=>n=>{const o=n.name;let r=!1;(0,a.hasBlockSupport)(n.name,"multiple",!0)||(r=se(e,le(e)).some((({name:e})=>e===n.name)));const{time:l,count:i=0}=kt(e,o)||{},s={id:o,name:n.name,title:n.title,icon:n.icon,isDisabled:r,frecency:Et(l,i)};if("transform"===t)return s;const c=(0,a.getBlockVariations)(n.name,"inserter");return{...s,initialAttributes:{},description:n.description,category:n.category,keywords:n.keywords,variations:c,example:n.example,utility:1}},wt=V(((e,t=null)=>{const n=dt(e,"core/block",t)?Wt(e).map((t=>{const n=t.wp_pattern_sync_status?H:{src:H,foreground:"var(--wp-block-synced-color)"},o=`core/block/${t.id}`,{time:r,count:l=0}=kt(e,o)||{},i=Et(r,l);return{id:o,name:"core/block",initialAttributes:{ref:t.id},title:t.title?.raw,icon:n,category:"reusable",keywords:["reusable"],isDisabled:!1,utility:1,frecency:i,content:t.content.raw,syncStatus:t.wp_pattern_sync_status}})):[],o=St(e,{buildScope:"inserter"}),r=(0,a.getBlockTypes)().filter((n=>yt(e,n,t))).map(o).reduce(((t,n)=>{const{variations:o=[]}=n;if(o.some((({isDefault:e})=>e))||t.push(n),o.length){const r=((e,t)=>n=>{const o=`${t.id}/${n.name}`,{time:r,count:l=0}=kt(e,o)||{};return{...t,id:o,icon:n.icon||t.icon,title:n.title||t.title,description:n.description||t.description,category:n.category||t.category,example:n.hasOwnProperty("example")?n.example:t.example,initialAttributes:{...t.initialAttributes,...n.attributes},innerBlocks:n.innerBlocks,keywords:n.keywords||t.keywords,frecency:Et(r,l)}})(e,n);t.push(...o.map(r))}return t}),[]),{core:l,noncore:i}=r.reduce(((e,t)=>{const{core:n,noncore:o}=e;return(t.name.startsWith("core/")?n:o).push(t),e}),{core:[],noncore:[]});return[...[...l,...i],...n]}),((e,t)=>[e.blockListSettings[t],e.blocks.byClientId,e.blocks.order,e.preferences.insertUsage,e.settings.allowedBlockTypes,e.settings.templateLock,Wt(e),(0,a.getBlockTypes)()])),Ct=V(((e,t,n=null)=>{const o=Array.isArray(t)?t:[t],r=St(e,{buildScope:"transform"}),l=(0,a.getBlockTypes)().filter((t=>yt(e,t,n))).map(r),i=Object.fromEntries(Object.entries(l).map((([,e])=>[e.name,e]))),s=(0,a.getPossibleBlockTransformations)(o).reduce(((e,t)=>(i[t?.name]&&e.push(i[t.name]),e)),[]);return K(s,(e=>i[e.name].frecency),"desc")}),((e,t,n)=>[e.blockListSettings[n],e.blocks.byClientId,e.preferences.insertUsage,e.settings.allowedBlockTypes,e.settings.templateLock,(0,a.getBlockTypes)()])),xt=V(((e,t=null)=>{if((0,a.getBlockTypes)().some((n=>yt(e,n,t))))return!0;return dt(e,"core/block",t)&&Wt(e).length>0}),((e,t)=>[e.blockListSettings[t],e.blocks.byClientId,e.settings.allowedBlockTypes,e.settings.templateLock,Wt(e),(0,a.getBlockTypes)()])),Bt=V(((e,t=null)=>{if(!t)return;return[...(0,a.getBlockTypes)().filter((n=>yt(e,n,t))),...dt(e,"core/block",t)&&Wt(e).length>0?["core/block"]:[]]}),((e,t)=>[e.blockListSettings[t],e.blocks.byClientId,e.settings.allowedBlockTypes,e.settings.templateLock,Wt(e),(0,a.getBlockTypes)()])),It=V(((e,t=null)=>($()('wp.data.select( "core/block-editor" ).__experimentalGetAllowedBlocks',{alternative:'wp.data.select( "core/block-editor" ).getAllowedBlocks',since:"6.2",version:"6.4"}),Bt(e,t))),((e,t)=>[...Bt.getDependants(e,t)])),Tt=V(((e,t=null)=>{if(!t)return;const n=e.blockListSettings[t]?.defaultBlock,o=e.blockListSettings[t]?.directInsert;return n&&o?"function"==typeof o?o(J(e,t))?n:null:n:void 0}),((e,t)=>[e.blockListSettings[t],e.blocks.tree.get(t)])),Mt=V(((e,t=null)=>($()('wp.data.select( "core/block-editor" ).__experimentalGetDirectInsertBlock',{alternative:'wp.data.select( "core/block-editor" ).getDirectInsertBlock',since:"6.3",version:"6.4"}),Tt(e,t))),((e,t)=>[e.blockListSettings[t],e.blocks.tree.get(t)]));function Pt(e){var t,n;const o=null!==(t=e?.settings?.__experimentalReusableBlocks)&&void 0!==t?t:q,r=null!==(n=e?.settings?.__experimentalUserPatternCategories)&&void 0!==n?n:[],l=new Map;return r.forEach((e=>l.set(e.id,e))),o.map((e=>({name:`core/block/${e.id}`,id:e.id,type:"user",title:e.title.raw,categories:e.wp_pattern_category.map((e=>l&&l.get(e)?l.get(e).slug:e)),content:e.content.raw,syncStatus:e.wp_pattern_sync_status})))}const Nt=V((e=>e?.settings?.__experimentalUserPatternCategories),(e=>[e.settings.__experimentalUserPatternCategories])),Lt=V(((e,t)=>{const n=[...e.settings.__experimentalBlockPatterns,...Pt(e)].find((({name:e})=>e===t));return n?{...n,blocks:(0,a.parse)(n.content,{__unstableSkipMigrationLogs:!0})}:null}),(e=>[e.settings.__experimentalBlockPatterns,e.settings.__experimentalReusableBlocks,e?.settings?.__experimentalUserPatternCategories])),Rt=V((e=>{const t=e.settings.__experimentalBlockPatterns,n=Pt(e),{allowedBlockTypes:o}=Ft(e),r=[...n,...t].filter((({inserter:e=!0})=>!!e)).map((({name:t})=>Lt(e,t))),l=r.filter((({blocks:e})=>((e,t)=>{if("boolean"==typeof t)return t;const n=[...e];for(;n.length>0;){const e=n.shift();if(!ut(t,e.name||e.blockName,!0))return!1;e.innerBlocks?.forEach((e=>{n.push(e)}))}return!0})(e,o)));return l}),(e=>[e.settings.__experimentalBlockPatterns,e.settings.__experimentalReusableBlocks,e.settings.allowedBlockTypes,e?.settings?.__experimentalUserPatternCategories])),At=V(((e,t=null)=>{const n=Rt(e).filter((({blocks:n})=>n.every((({name:n})=>pt(e,n,t)))));return n}),((e,t)=>[e.settings.__experimentalBlockPatterns,e.settings.__experimentalReusableBlocks,e.settings.allowedBlockTypes,e.settings.templateLock,e.blockListSettings[t],e.blocks.byClientId.get(t)])),Dt=V(((e,t,n=null)=>{if(!t)return q;const o=At(e,n),r=Array.isArray(t)?t:[t],l=o.filter((e=>e?.blockTypes?.some?.((e=>r.includes(e)))));return 0===l.length?q:l}),((e,t,n)=>[...At.getDependants(e,n)])),Ot=V(((e,t,n=null)=>($()('wp.data.select( "core/block-editor" ).__experimentalGetPatternsByBlockTypes',{alternative:'wp.data.select( "core/block-editor" ).getPatternsByBlockTypes',since:"6.2",version:"6.4"}),Dt(e,t,n))),((e,t,n)=>[...At.getDependants(e,n)])),zt=V(((e,t,n=null)=>{if(!t)return q;if(t.some((({clientId:t,innerBlocks:n})=>n.length||Qt(e,t))))return q;const o=Array.from(new Set(t.map((({name:e})=>e))));return Dt(e,o,n)}),((e,t,n)=>[...Dt.getDependants(e,n)]));function Vt(e,t){return e.blockListSettings[t]}function Ft(e){return e.settings}function Ht(e){return e.blocks.isPersistentChange}const Gt=V(((e,t=[])=>t.reduce(((t,n)=>e.blockListSettings[n]?{...t,[n]:e.blockListSettings[n]}:t),{})),(e=>[e.blockListSettings])),Ut=V(((e,t)=>{const n=Wt(e).find((e=>e.id===t));return n?n.title?.raw:null}),(e=>[Wt(e)]));function $t(e){return e.blocks.isIgnoredChange}function jt(e){return e.lastBlockAttributesChange}function Wt(e){var t;return null!==(t=e?.settings?.__experimentalReusableBlocks)&&void 0!==t?t:q}function Kt(e){return"navigation"===e.editorMode}function qt(e){return e.editorMode}function Zt(e){return e.hasBlockMovingClientId}function Yt(e){return!!e.automaticChangeStatus}function Xt(e,t){return e.highlightedBlock===t}function Qt(e,t){return!!e.blocks.controlledInnerBlocks[t]}const Jt=V(((e,t)=>{if(!t.length)return null;const n=be(e);if(t.includes(Y(e,n)))return n;const o=Te(e),r=ye(e,n||o[0],t);return r?r[r.length-1]:null}),((e,t)=>[e.selection.selectionStart.clientId,e.selection.selectionEnd.clientId,t]));function en(e,t,n){const{lastBlockInserted:o}=e;return o.clientIds?.includes(t)&&o.source===n}function tn(e,t){var n;return null===(n=e.blockVisibility?.[t])||void 0===n||n}const nn=V((e=>{const t=new Set(Object.keys(e.blockVisibility).filter((t=>e.blockVisibility[t])));return 0===t.size?Z:t}),(e=>[e.blockVisibility])),on=V(((e,t)=>{let n,o=t;for(;e.blocks.parents.has(o);)o=e.blocks.parents.get(o),o&&"contentOnly"===ct(e,o)&&(n=o);return n}),(e=>[e.blocks.parents,e.blockListSettings]));function rn(e){return e.temporarilyEditingAsBlocks}function ln(e,t){if("default"!==sn(e,t))return!1;if(!vt(e,t))return!0;const n=qt(e);if("zoom-out"===n&&t&&!_e(e,t))return!0;const o=(0,a.hasBlockSupport)(Y(e,t),"__experimentalDisableBlockOverlay",!1);return("navigation"===n||!o&&Qt(e,t))&&!je(e,t)&&!We(e,t,!0)}function an(e,t){let n=e.blocks.parents.get(t);for(;n;){if(ln(e,n))return!0;n=e.blocks.parents.get(n)}return!1}const sn=(0,f.createRegistrySelector)((e=>(t,n="")=>{if(t.blockEditingModes.has(n))return t.blockEditingModes.get(n);if(!n)return"default";const o=_e(t,n);if("contentOnly"===ct(t,o)){const o=Y(t,n);return e(a.store).__experimentalHasContentRoleAttribute(o)?"contentOnly":"disabled"}const r=sn(t,o);return"contentOnly"===r?"default":r})),cn=(0,f.createRegistrySelector)((e=>(t,n="")=>{const o=n||be(t);if(!o)return!1;const{getGroupingBlockName:r}=e(a.store),l=J(t,o),i=r();return l&&(l.name===i||(0,a.getBlockType)(l.name)?.transforms?.ungroup)&&!!l.innerBlocks.length&&ft(t,o)})),un=(0,f.createRegistrySelector)((e=>(t,n=q)=>{const{getGroupingBlockName:o}=e(a.store),r=o(),l=n?.length?n:Ie(t),i=l?.length?_e(t,l[0]):void 0;return pt(t,r,i)&&l.length&>(t,l,i)})),dn=["inserterMediaCategories","blockInspectorAnimation"];function pn(e,{stripExperimentalSettings:t=!1,reset:n=!1}={}){let o=e;if(t&&"web"===c.Platform.OS){o={};for(const t in e)dn.includes(t)||(o[t]=e[t])}return{type:"UPDATE_SETTINGS",settings:o,reset:n}}function mn(){return{type:"HIDE_BLOCK_INTERFACE"}}function fn(){return{type:"SHOW_BLOCK_INTERFACE"}}const gn=(e,t=!0,n=!1)=>({select:o,dispatch:r,registry:l})=>{if(!e||!e.length)return;var i;i=e,e=Array.isArray(i)?i:[i];const a=o.getBlockRootClientId(e[0]);if(!o.canRemoveBlocks(e,a))return;const s=!n&&o.getBlockRemovalRules();if(s){const n=new Set,l=[...e];for(;l.length;){const e=l.shift(),t=o.getBlockName(e);s[t]&&n.add(t);const r=o.getBlockOrder(e);l.push(...r)}if(n.size)return void r(function(e,t,n){return{type:"DISPLAY_BLOCK_REMOVAL_PROMPT",clientIds:e,selectPrevious:t,blockNamesForPrompt:n}}(e,t,Array.from(n)))}t&&r.selectPreviousBlock(e[0],t),l.batch((()=>{r({type:"REMOVE_BLOCKS",clientIds:e}),r(hn())}))},hn=()=>({select:e,dispatch:t})=>{if(e.getBlockCount()>0)return;const{__unstableHasCustomAppender:n}=e.getSettings();n||t.insertDefaultBlock()};function bn(){return{type:"CLEAR_BLOCK_REMOVAL_PROMPT"}}function vn(e=!1){return{type:"SET_BLOCK_REMOVAL_RULES",rules:e}}function _n(e){return{type:"SET_OPENED_BLOCK_SETTINGS_MENU",clientId:e}}function kn(e,t){return{type:"SET_STYLE_OVERRIDE",id:e,style:t}}function yn(e){return{type:"DELETE_STYLE_OVERRIDE",id:e}}function En(e){return e.isBlockInterfaceHidden}function Sn(e){return e?.lastBlockInserted?.clientIds}const wn=V(((e,t)=>{const n=t=>"disabled"===sn(e,t)&&Ue(e,t).every(n);return"disabled"===sn(e,t)&&Ue(e,t).every(n)}),(e=>[e.blocks.parents,e.blocks.order,e.blockEditingModes,e.blockListSettings])),Cn=V(((e,t="")=>Ue(e,t).flatMap((t=>"disabled"!==sn(e,t)?[{clientId:t,innerBlocks:Cn(e,t)}]:Cn(e,t)))),(e=>[e.blocks.order,e.blockEditingModes,e.settings.templateLock,e.blockListSettings])),xn=V(((e,t,n=!1)=>ke(e,t,n).filter((t=>"disabled"!==sn(e,t)))),(e=>[e.blocks.parents,e.blockEditingModes,e.settings.templateLock,e.blockListSettings]));function Bn(e){return e.removalPromptData}function In(e){return e.blockRemovalRules}function Tn(e){return e.openedBlockSettingsMenu}function Mn(e){return e.styleOverrides}function Pn(e){return e.registeredInserterMediaCategories}const Nn=V((e=>{const{settings:{inserterMediaCategories:t,allowedMimeTypes:n,enableOpenverseMediaCategory:o},registeredInserterMediaCategories:r}=e;if(!t&&!r.length||!n)return;const l=t?.map((({name:e})=>e))||[];return[...t||[],...(r||[]).filter((({name:e})=>!l.includes(e)))].filter((e=>!(!o&&"openverse"===e.name)&&Object.values(n).some((t=>t.startsWith(`${e.mediaType}/`)))))}),(e=>[e.settings.inserterMediaCategories,e.settings.allowedMimeTypes,e.settings.enableOpenverseMediaCategory,e.registeredInserterMediaCategories]));var Ln=window.wp.a11y;const Rn="†";function An(e){if(e)return Object.keys(e).find((t=>{const n=e[t];return"string"==typeof n&&-1!==n.indexOf(Rn)}))}const Dn=e=>Array.isArray(e)?e:[e],On=e=>({dispatch:t})=>{t({type:"RESET_BLOCKS",blocks:e}),t(zn(e))},zn=e=>({select:t,dispatch:n})=>{const o=t.getTemplate(),r=t.getTemplateLock(),l=!o||"all"!==r||(0,a.doBlocksMatchTemplate)(e,o);if(l!==t.isValidTemplate())return n.setTemplateValidity(l),l};function Vn(e,t,n){return{type:"RESET_SELECTION",selectionStart:e,selectionEnd:t,initialPosition:n}}function Fn(e){return $()('wp.data.dispatch( "core/block-editor" ).receiveBlocks',{since:"5.9",alternative:"resetBlocks or insertBlocks"}),{type:"RECEIVE_BLOCKS",blocks:e}}function Hn(e,t,n=!1){return{type:"UPDATE_BLOCK_ATTRIBUTES",clientIds:Dn(e),attributes:t,uniqueByBlock:n}}function Gn(e,t){return{type:"UPDATE_BLOCK",clientId:e,updates:t}}function Un(e,t=0){return{type:"SELECT_BLOCK",initialPosition:t,clientId:e}}const $n=(e,t=!1)=>({select:n,dispatch:o})=>{const r=n.getPreviousBlockClientId(e);if(r)o.selectBlock(r,-1);else if(t){const t=n.getBlockRootClientId(e);t&&o.selectBlock(t,-1)}},jn=e=>({select:t,dispatch:n})=>{const o=t.getNextBlockClientId(e);o&&n.selectBlock(o)};function Wn(){return{type:"START_MULTI_SELECT"}}function Kn(){return{type:"STOP_MULTI_SELECT"}}const qn=(e,t,n=0)=>({select:o,dispatch:r})=>{if(o.getBlockRootClientId(e)!==o.getBlockRootClientId(t))return;r({type:"MULTI_SELECT",start:e,end:t,initialPosition:n});const l=o.getSelectedBlockCount();(0,Ln.speak)((0,v.sprintf)((0,v._n)("%s block selected.","%s blocks selected.",l),l),"assertive")};function Zn(){return{type:"CLEAR_SELECTED_BLOCK"}}function Yn(e=!0){return{type:"TOGGLE_SELECTION",isSelectionEnabled:e}}function Xn(e,t){var n;const o=null!==(n=t?.__experimentalPreferredStyleVariations?.value)&&void 0!==n?n:{};return e.map((e=>{const t=e.name;if(!(0,a.hasBlockSupport)(t,"defaultStylePicker",!0))return e;if(!o[t])return e;const n=e.attributes?.className;if(n?.includes("is-style-"))return e;const{attributes:r={}}=e,l=o[t];return{...e,attributes:{...r,className:`${n||""} is-style-${l}`.trim()}}}))}const Qn=(e,t,n,o=0,r)=>({select:l,dispatch:i,registry:a})=>{e=Dn(e),t=Xn(Dn(t),l.getSettings());const s=l.getBlockRootClientId(e[0]);for(let e=0;e{i({type:"REPLACE_BLOCKS",clientIds:e,blocks:t,time:Date.now(),indexToSelect:n,initialPosition:o,meta:r}),i.ensureDefaultBlock()}))};function Jn(e,t){return Qn(e,t)}const eo=e=>(t,n)=>({select:o,dispatch:r})=>{o.canMoveBlocks(t,n)&&r({type:e,clientIds:Dn(t),rootClientId:n})},to=eo("MOVE_BLOCKS_DOWN"),no=eo("MOVE_BLOCKS_UP"),oo=(e,t="",n="",o)=>({select:r,dispatch:l})=>{if(r.canMoveBlocks(e,t)){if(t!==n){if(!r.canRemoveBlocks(e,t))return;if(!r.canInsertBlocks(e,n))return}l({type:"MOVE_BLOCKS_TO_POSITION",fromRootClientId:t,toRootClientId:n,clientIds:e,index:o})}};function ro(e,t="",n="",o){return oo([e],t,n,o)}function lo(e,t,n,o,r){return io([e],t,n,o,0,r)}const io=(e,t,n,o=!0,r=0,l)=>({select:i,dispatch:a})=>{null!==r&&"object"==typeof r&&(l=r,r=0,$()("meta argument in wp.data.dispatch('core/block-editor')",{since:"5.8",hint:"The meta argument is now the 6th argument of the function"})),e=Xn(Dn(e),i.getSettings());const s=[];for(const t of e){i.canInsertBlockType(t.name,n)&&s.push(t)}s.length&&a({type:"INSERT_BLOCKS",blocks:s,index:t,rootClientId:n,time:Date.now(),updateSelection:o,initialPosition:o?r:null,meta:l})};function ao(e,t,n={}){const{__unstableWithInserter:o,operation:r}=n;return{type:"SHOW_INSERTION_POINT",rootClientId:e,index:t,__unstableWithInserter:o,operation:r}}const so=()=>({select:e,dispatch:t})=>{e.isBlockInsertionPointVisible()&&t({type:"HIDE_INSERTION_POINT"})};function co(e){return{type:"SET_TEMPLATE_VALIDITY",isValid:e}}const uo=()=>({select:e,dispatch:t})=>{t({type:"SYNCHRONIZE_TEMPLATE"});const n=e.getBlocks(),o=e.getTemplate(),r=(0,a.synchronizeBlocksWithTemplate)(n,o);t.resetBlocks(r)},po=e=>({registry:t,select:n,dispatch:o})=>{const r=n.getSelectionStart(),l=n.getSelectionEnd();if(r.clientId===l.clientId)return;if(!r.attributeKey||!l.attributeKey||void 0===r.offset||void 0===l.offset)return!1;const i=n.getBlockRootClientId(r.clientId);if(i!==n.getBlockRootClientId(l.clientId))return;const s=n.getBlockOrder(i);let c,u;s.indexOf(r.clientId)>s.indexOf(l.clientId)?(c=l,u=r):(c=r,u=l);const d=e?u:c,p=n.getBlock(d.clientId),m=(0,a.getBlockType)(p.name);if(!m.merge)return;const f=c,g=u,h=n.getBlock(f.clientId),b=(0,a.getBlockType)(h.name),v=n.getBlock(g.clientId),_=(0,a.getBlockType)(v.name),k=h.attributes[f.attributeKey],y=v.attributes[g.attributeKey],E=b.attributes[f.attributeKey],S=_.attributes[g.attributeKey];let w=(0,G.create)({html:k,...j(E)}),C=(0,G.create)({html:y,...j(S)});w=(0,G.remove)(w,f.offset,w.text.length),C=(0,G.insert)(C,Rn,0,g.offset);const x=(0,a.cloneBlock)(h,{[f.attributeKey]:(0,G.toHTMLString)({value:w,...j(E)})}),B=(0,a.cloneBlock)(v,{[g.attributeKey]:(0,G.toHTMLString)({value:C,...j(S)})}),I=e?x:B,T=h.name===v.name?[I]:(0,a.switchToBlockType)(I,m.name);if(!T||!T.length)return;let M;if(e){const e=T.pop();M=m.merge(e.attributes,B.attributes)}else{const e=T.shift();M=m.merge(x.attributes,e.attributes)}const P=An(M),N=M[P],L=(0,G.create)({html:N,...j(m.attributes[P])}),R=L.text.indexOf(Rn),A=(0,G.remove)(L,R,R+1),D=(0,G.toHTMLString)({value:A,...j(m.attributes[P])});M[P]=D;const O=n.getSelectedBlockClientIds(),z=[...e?T:[],{...p,attributes:{...p.attributes,...M}},...e?[]:T];t.batch((()=>{o.selectionChange(p.clientId,P,R,R),o.replaceBlocks(O,z,0,n.getSelectedBlocksInitialCaretPosition())}))},mo=()=>({select:e,dispatch:t})=>{const n=e.getSelectionStart(),o=e.getSelectionEnd();if(n.clientId===o.clientId)return;if(!n.attributeKey||!o.attributeKey||void 0===n.offset||void 0===o.offset)return;const r=e.getBlockRootClientId(n.clientId);if(r!==e.getBlockRootClientId(o.clientId))return;const l=e.getBlockOrder(r);let i,s;l.indexOf(n.clientId)>l.indexOf(o.clientId)?(i=o,s=n):(i=n,s=o);const c=i,u=s,d=e.getBlock(c.clientId),p=(0,a.getBlockType)(d.name),m=e.getBlock(u.clientId),f=(0,a.getBlockType)(m.name),g=d.attributes[c.attributeKey],h=m.attributes[u.attributeKey],b=p.attributes[c.attributeKey],v=f.attributes[u.attributeKey];let _=(0,G.create)({html:g,...j(b)}),k=(0,G.create)({html:h,...j(v)});_=(0,G.remove)(_,c.offset,_.text.length),k=(0,G.remove)(k,0,u.offset),t.replaceBlocks(e.getSelectedBlockClientIds(),[{...d,attributes:{...d.attributes,[c.attributeKey]:(0,G.toHTMLString)({value:_,...j(b)})}},{...m,attributes:{...m.attributes,[u.attributeKey]:(0,G.toHTMLString)({value:k,...j(v)})}}])},fo=()=>({select:e,dispatch:t})=>{const n=e.getSelectionStart(),o=e.getSelectionEnd();t.selectionChange({start:{clientId:n.clientId},end:{clientId:o.clientId}})},go=(e,t)=>({registry:n,select:o,dispatch:r})=>{const l=[e,t];r({type:"MERGE_BLOCKS",blocks:l});const[i,s]=l,c=o.getBlock(i),u=(0,a.getBlockType)(c.name);if(!u)return;if(!u.merge&&!(0,a.getBlockSupport)(c.name,"__experimentalOnMerge"))return void r.selectBlock(c.clientId);const d=o.getBlock(s);if(!u.merge){const e=(0,a.switchToBlockType)(d,u.name);if(1!==e?.length)return void r.selectBlock(c.clientId);const[t]=e;return t.innerBlocks.length<1?void r.selectBlock(c.clientId):void n.batch((()=>{r.insertBlocks(t.innerBlocks,void 0,i),r.removeBlock(s),r.selectBlock(t.innerBlocks[0].clientId);const e=o.getNextBlockClientId(i);if(e&&o.getBlockName(i)===o.getBlockName(e)){const t=o.getBlockAttributes(i),n=o.getBlockAttributes(e);Object.keys(t).every((e=>t[e]===n[e]))&&(r.moveBlocksToPosition(o.getBlockOrder(e),e,i),r.removeBlock(e,!1))}}))}const p=(0,a.getBlockType)(d.name),{clientId:m,attributeKey:f,offset:g}=o.getSelectionStart(),h=(m===i?u:p).attributes[f],b=(m===i||m===s)&&void 0!==f&&void 0!==g&&!!h;h||("number"==typeof f?window.console.error("RichText needs an identifier prop that is the block attribute key of the attribute it controls. Its type is expected to be a string, but was "+typeof f):window.console.error("The RichText identifier prop does not match any attributes defined by the block."));const v=(0,a.cloneBlock)(c),_=(0,a.cloneBlock)(d);if(b){const e=m===i?v:_,t=e.attributes[f],n=(0,G.insert)((0,G.create)({html:t,...j(h)}),Rn,g,g);e.attributes[f]=(0,G.toHTMLString)({value:n,...j(h)})}const k=c.name===d.name?[_]:(0,a.switchToBlockType)(_,c.name);if(!k||!k.length)return;const y=u.merge(v.attributes,k[0].attributes);if(b){const e=An(y),t=y[e],n=(0,G.create)({html:t,...j(u.attributes[e])}),o=n.text.indexOf(Rn),l=(0,G.remove)(n,o,o+1),i=(0,G.toHTMLString)({value:l,...j(u.attributes[e])});y[e]=i,r.selectionChange(c.clientId,e,o,o)}r.replaceBlocks([c.clientId,d.clientId],[{...c,attributes:{...c.attributes,...y}},...k.slice(1)],0)},ho=(e,t=!0)=>gn(e,t);function bo(e,t){return ho([e],t)}function vo(e,t,n=!1,o=0){return{type:"REPLACE_INNER_BLOCKS",rootClientId:e,blocks:t,updateSelection:n,initialPosition:n?o:null,time:Date.now()}}function _o(e){return{type:"TOGGLE_BLOCK_MODE",clientId:e}}function ko(){return{type:"START_TYPING"}}function yo(){return{type:"STOP_TYPING"}}function Eo(e=[]){return{type:"START_DRAGGING_BLOCKS",clientIds:e}}function So(){return{type:"STOP_DRAGGING_BLOCKS"}}function wo(){return $()('wp.data.dispatch( "core/block-editor" ).enterFormattedText',{since:"6.1",version:"6.3"}),{type:"DO_NOTHING"}}function Co(){return $()('wp.data.dispatch( "core/block-editor" ).exitFormattedText',{since:"6.1",version:"6.3"}),{type:"DO_NOTHING"}}function xo(e,t,n,o){return"string"==typeof e?{type:"SELECTION_CHANGE",clientId:e,attributeKey:t,startOffset:n,endOffset:o}:{type:"SELECTION_CHANGE",...e}}const Bo=(e,t,n)=>({dispatch:o})=>{const r=(0,a.getDefaultBlockName)();if(!r)return;const l=(0,a.createBlock)(r,e);return o.insertBlock(l,n,t)};function Io(e,t){return{type:"UPDATE_BLOCK_LIST_SETTINGS",clientId:e,settings:t}}function To(e){return pn(e,{stripExperimentalSettings:!0})}function Mo(e,t){return{type:"SAVE_REUSABLE_BLOCK_SUCCESS",id:e,updatedId:t}}function Po(){return{type:"MARK_LAST_CHANGE_AS_PERSISTENT"}}function No(){return{type:"MARK_NEXT_CHANGE_AS_NOT_PERSISTENT"}}const Lo=()=>({dispatch:e})=>{e({type:"MARK_AUTOMATIC_CHANGE"});const{requestIdleCallback:t=(e=>setTimeout(e,100))}=window;t((()=>{e({type:"MARK_AUTOMATIC_CHANGE_FINAL"})}))},Ro=(e=!0)=>({dispatch:t})=>{t.__unstableSetEditorMode(e?"navigation":"edit")},Ao=e=>({dispatch:t,select:n})=>{if("zoom-out"===e){const e=n.getBlockSelectionStart();e&&t.selectBlock(n.getBlockHierarchyRootClientId(e))}t({type:"SET_EDITOR_MODE",mode:e}),"navigation"===e?(0,Ln.speak)((0,v.__)("You are currently in navigation mode. Navigate blocks using the Tab key and Arrow keys. Use Left and Right Arrow keys to move between nesting levels. To exit navigation mode and edit the selected block, press Enter.")):"edit"===e?(0,Ln.speak)((0,v.__)("You are currently in edit mode. To return to the navigation mode, press Escape.")):"zoom-out"===e&&(0,Ln.speak)((0,v.__)("You are currently in zoom-out mode."))},Do=(e=null)=>({dispatch:t})=>{t({type:"SET_BLOCK_MOVING_MODE",hasBlockMovingClientId:e}),e&&(0,Ln.speak)((0,v.__)("Use the Tab key and Arrow keys to choose new block location. Use Left and Right Arrow keys to move between nesting levels. Once location is selected press Enter or Space to move the block."))},Oo=(e,t=!0)=>({select:n,dispatch:o})=>{if(!e||!e.length)return;const r=n.getBlocksByClientId(e);if(r.some((e=>!e)))return;const l=r.map((e=>e.name));if(l.some((e=>!(0,a.hasBlockSupport)(e,"multiple",!0))))return;const i=n.getBlockRootClientId(e[0]),s=Dn(e),c=n.getBlockIndex(s[s.length-1]),u=r.map((e=>(0,a.__experimentalCloneSanitizedBlock)(e)));return o.insertBlocks(u,c+1,i,t),u.length>1&&t&&o.multiSelect(u[0].clientId,u[u.length-1].clientId),u.map((e=>e.clientId))},zo=e=>({select:t,dispatch:n})=>{if(!e)return;const o=t.getBlockRootClientId(e);if(t.getTemplateLock(o))return;const r=t.getBlockIndex(e);return n.insertDefaultBlock({},o,r)},Vo=e=>({select:t,dispatch:n})=>{if(!e)return;const o=t.getBlockRootClientId(e);if(t.getTemplateLock(o))return;const r=t.getBlockIndex(e);return n.insertDefaultBlock({},o,r+1)};function Fo(e,t){return{type:"TOGGLE_BLOCK_HIGHLIGHT",clientId:e,isHighlighted:t}}const Ho=e=>async({dispatch:t})=>{t(Fo(e,!0)),await new Promise((e=>setTimeout(e,150))),t(Fo(e,!1))};function Go(e,t){return{type:"SET_HAS_CONTROLLED_INNER_BLOCKS",hasControlledInnerBlocks:t,clientId:e}}function Uo(e){return{type:"SET_BLOCK_VISIBILITY",updates:e}}function $o(e){return{type:"SET_TEMPORARILY_EDITING_AS_BLOCKS",temporarilyEditingAsBlocks:e}}const jo=e=>({select:t,dispatch:n})=>{if(!e||"object"!=typeof e)return void console.error("Category should be an `InserterMediaCategory` object.");if(!e.name)return void console.error("Category should have a `name` that should be unique among all media categories.");if(!e.labels?.name)return void console.error("Category should have a `labels.name`.");if(!["image","audio","video"].includes(e.mediaType))return void console.error("Category should have `mediaType` property that is one of `image|audio|video`.");if(!e.fetch||"function"!=typeof e.fetch)return void console.error("Category should have a `fetch` function defined with the following signature `(InserterMediaRequest) => Promise`.");const o=t.getRegisteredInserterMediaCategories();o.some((({name:t})=>t===e.name))?console.error(`A category is already registered with the same name: "${e.name}".`):o.some((({labels:{name:t}={}})=>t===e.labels?.name))?console.error(`A category is already registered with the same labels.name: "${e.labels.name}".`):n({type:"REGISTER_INSERTER_MEDIA_CATEGORY",category:{...e,isExternalResource:!0}})};function Wo(e="",t){return{type:"SET_BLOCK_EDITING_MODE",clientId:e,mode:t}}function Ko(e=""){return{type:"UNSET_BLOCK_EDITING_MODE",clientId:e}}const qo="core/block-editor";var Zo=window.wp.privateApis;const{lock:Yo,unlock:Xo}=(0,Zo.__dangerousOptInToUnstableAPIsOnlyForCoreModules)("I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.","@wordpress/block-editor"),Qo={reducer:A,selectors:e,actions:l},Jo=(0,f.createReduxStore)(qo,{...Qo,persist:["preferences"]}),er=(0,f.registerStore)(qo,{...Qo,persist:["preferences"]});Xo(er).registerPrivateActions(t),Xo(er).registerPrivateSelectors(r),Xo(Jo).registerPrivateActions(t),Xo(Jo).registerPrivateSelectors(r);const tr={name:"",isSelected:!1},nr=(0,c.createContext)(tr),{Provider:or}=nr;function rr(){return(0,c.useContext)(nr)}function lr(){const{isSelected:e,clientId:t,name:n}=rr();return(0,f.useSelect)((o=>{if(e)return!0;const{getBlockName:r,isFirstMultiSelectedBlock:l,getMultiSelectedBlockClientIds:i}=o(Jo);return!!l(t)&&i().every((e=>r(e)===n))}),[t,e,n])}function ir({group:e="default",controls:t,children:n,__experimentalShareWithChildBlocks:o=!1}){const r=function(e,t){const n=lr(),{clientId:o}=rr(),r=(0,f.useSelect)((e=>{const{getBlockName:n,hasSelectedInnerBlock:r}=e(Jo),{hasBlockSupport:l}=e(a.store);return t&&l(n(o),"__experimentalExposeControlsToChildren",!1)&&r(o)}),[t,o]);return n?g[e]?.Fill:r?g.parent.Fill:null}(e,o);if(!r)return null;const l=(0,c.createElement)(c.Fragment,null,"default"===e&&(0,c.createElement)(m.ToolbarGroup,{controls:t}),n);return(0,c.createElement)(m.__experimentalStyleProvider,{document:document},(0,c.createElement)(r,null,(e=>{const{forwardedContext:t=[]}=e;return t.reduce(((e,[t,n])=>(0,c.createElement)(t,{...n},e)),l)})))}window.wp.warning;const{ComponentsContext:ar}=Xo(m.privateApis);function sr({group:e="default",...t}){const n=(0,c.useContext)(m.__experimentalToolbarContext),o=(0,c.useContext)(ar),r=(0,c.useMemo)((()=>({forwardedContext:[[m.__experimentalToolbarContext.Provider,{value:n}],[ar.Provider,{value:o}]]})),[n,o]),l=g[e]?.Slot,i=(0,m.__experimentalUseSlotFills)(l?.__unstableName);if(!l)return null;if(!i?.length)return null;const a=(0,c.createElement)(l,{...t,bubblesVirtually:!0,fillProps:r});return"default"===e?a:(0,c.createElement)(m.ToolbarGroup,null,a)}const cr=ir;cr.Slot=sr;const ur=e=>(0,c.createElement)(ir,{group:"inline",...e});ur.Slot=e=>(0,c.createElement)(sr,{group:"inline",...e});var dr=cr;var pr=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M9 9v6h11V9H9zM4 20h1.5V4H4v16z"}));var mr=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M12.5 15v5H11v-5H4V9h7V4h1.5v5h7v6h-7Z"}));var fr=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M4 15h11V9H4v6zM18.5 4v16H20V4h-1.5z"}));var gr=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M9 15h6V9H9v6zm-5 5h1.5V4H4v16zM18.5 4v16H20V4h-1.5z"}));var hr=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M4 4H5.5V20H4V4ZM7 10L17 10V14L7 14V10ZM20 4H18.5V20H20V4Z"}));var br=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"m14.5 6.5-1 1 3.7 3.7H4v1.6h13.2l-3.7 3.7 1 1 5.6-5.5z"}));var vr=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"m16.5 13.5-3.7 3.7V4h-1.5v13.2l-3.8-3.7-1 1 5.5 5.6 5.5-5.6z"}));const _r={default:{name:"default",slug:"flow",className:"is-layout-flow",baseStyles:[{selector:" > .alignleft",rules:{float:"left","margin-inline-start":"0","margin-inline-end":"2em"}},{selector:" > .alignright",rules:{float:"right","margin-inline-start":"2em","margin-inline-end":"0"}},{selector:" > .aligncenter",rules:{"margin-left":"auto !important","margin-right":"auto !important"}}],spacingStyles:[{selector:" > :first-child:first-child",rules:{"margin-block-start":"0"}},{selector:" > :last-child:last-child",rules:{"margin-block-end":"0"}},{selector:" > *",rules:{"margin-block-start":null,"margin-block-end":"0"}}]},constrained:{name:"constrained",slug:"constrained",className:"is-layout-constrained",baseStyles:[{selector:" > .alignleft",rules:{float:"left","margin-inline-start":"0","margin-inline-end":"2em"}},{selector:" > .alignright",rules:{float:"right","margin-inline-start":"2em","margin-inline-end":"0"}},{selector:" > .aligncenter",rules:{"margin-left":"auto !important","margin-right":"auto !important"}},{selector:" > :where(:not(.alignleft):not(.alignright):not(.alignfull))",rules:{"max-width":"var(--wp--style--global--content-size)","margin-left":"auto !important","margin-right":"auto !important"}},{selector:" > .alignwide",rules:{"max-width":"var(--wp--style--global--wide-size)"}}],spacingStyles:[{selector:" > :first-child:first-child",rules:{"margin-block-start":"0"}},{selector:" > :last-child:last-child",rules:{"margin-block-end":"0"}},{selector:" > *",rules:{"margin-block-start":null,"margin-block-end":"0"}}]},flex:{name:"flex",slug:"flex",className:"is-layout-flex",displayMode:"flex",baseStyles:[{selector:"",rules:{"flex-wrap":"wrap","align-items":"center"}},{selector:" > *",rules:{margin:"0"}}],spacingStyles:[{selector:"",rules:{gap:null}}]},grid:{name:"grid",slug:"grid",className:"is-layout-grid",displayMode:"grid",baseStyles:[{selector:" > *",rules:{margin:"0"}}],spacingStyles:[{selector:"",rules:{gap:null}}]}};function kr(e,t=""){return e.split(",").map((e=>`.editor-styles-wrapper ${e}${t?` ${t}`:""}`)).join(",")}function yr(e,t=_r,n,o){let r="";return t?.[n]?.spacingStyles?.length&&o&&t[n].spacingStyles.forEach((t=>{r+=`${kr(e,t.selector.trim())} { `,r+=Object.entries(t.rules).map((([e,t])=>`${e}: ${t||o}`)).join("; "),r+="; }"})),r}function Er(e){const{contentSize:t,wideSize:n,type:o="default"}=e,r={},l=/^(?!0)\d+(px|em|rem|vw|vh|%)?$/i;return l.test(t)&&"constrained"===o&&(r.none=(0,v.sprintf)((0,v.__)("Max %s wide"),t)),l.test(n)&&(r.wide=(0,v.sprintf)((0,v.__)("Max %s wide"),n)),r}var Sr=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z"}));var wr=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z",style:{opacity:.25}}),(0,c.createElement)(F.Path,{d:"m4.5 7.5v9h1.5v-9z"}),(0,c.createElement)(F.Path,{d:"m18 7.5v9h1.5v-9z"}));var Cr=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z",style:{opacity:.25}}),(0,c.createElement)(F.Path,{d:"m7.5 6h9v-1.5h-9z"}),(0,c.createElement)(F.Path,{d:"m7.5 19.5h9v-1.5h-9z"}));var xr=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z",style:{opacity:.25}}),(0,c.createElement)(F.Path,{d:"m16.5 6h-9v-1.5h9z"}));var Br=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z",style:{opacity:.25}}),(0,c.createElement)(F.Path,{d:"m18 16.5v-9h1.5v9z"}));var Ir=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z",style:{opacity:.25}}),(0,c.createElement)(F.Path,{d:"m16.5 19.5h-9v-1.5h9z",style:{fill:"#1e1e1e"}}));const Tr=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z",style:{opacity:.25}}),(0,c.createElement)(F.Path,{d:"m4.5 16.5v-9h1.5v9z"}));const Mr=["top","right","bottom","left"],Pr={top:void 0,right:void 0,bottom:void 0,left:void 0},Nr={custom:Sr,axial:Sr,horizontal:wr,vertical:Cr,top:xr,right:Br,bottom:Ir,left:Tr},Lr={default:(0,v.__)("Spacing control"),top:(0,v.__)("Top"),bottom:(0,v.__)("Bottom"),left:(0,v.__)("Left"),right:(0,v.__)("Right"),mixed:(0,v.__)("Mixed"),vertical:(0,v.__)("Vertical"),horizontal:(0,v.__)("Horizontal"),axial:(0,v.__)("Horizontal & vertical"),custom:(0,v.__)("Custom")},Rr={axial:"axial",top:"top",right:"right",bottom:"bottom",left:"left",custom:"custom"};function Ar(e){return!!e?.includes&&("0"===e||e.includes("var:preset|spacing|"))}function Dr(e,t){if(!Ar(e))return e;const n=Vr(e),o=t.find((e=>String(e.slug)===n));return o?.size}function Or(e,t){if(!e||Ar(e)||"0"===e)return e;const n=t.find((t=>String(t.size)===String(e)));return n?.slug?`var:preset|spacing|${n.slug}`:e}function zr(e){if(!e)return;const t=e.match(/var:preset\|spacing\|(.+)/);return t?`var(--wp--preset--spacing--${t[1]})`:e}function Vr(e){if(!e)return;if("0"===e||"default"===e)return e;const t=e.match(/var:preset\|spacing\|(.+)/);return t?t[1]:void 0}function Fr(e,t){if(!e||!e.length)return!1;const n=e.includes("horizontal")||e.includes("left")&&e.includes("right"),o=e.includes("vertical")||e.includes("top")&&e.includes("bottom");return"horizontal"===t?n:"vertical"===t?o:n||o}function Hr(e,t="0"){const n=function(e){if(!e)return null;const t="string"==typeof e;return{top:t?e:e?.top,left:t?e:e?.left}}(e);if(!n)return null;const o=zr(n?.top)||t,r=zr(n?.left)||t;return o===r?o:`${o} ${r}`}const Gr=(0,c.createElement)(m.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(m.Path,{d:"M15 4H9v11h6V4zM4 18.5V20h16v-1.5H4z"})),Ur=(0,c.createElement)(m.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(m.Path,{d:"M20 11h-5V4H9v7H4v1.5h5V20h6v-7.5h5z"})),$r=(0,c.createElement)(m.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(m.Path,{d:"M9 20h6V9H9v11zM4 4v1.5h16V4H4z"})),jr=(0,c.createElement)(m.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(m.Path,{d:"M4 4L20 4L20 5.5L4 5.5L4 4ZM10 7L14 7L14 17L10 17L10 7ZM20 18.5L4 18.5L4 20L20 20L20 18.5Z"})),Wr=(0,c.createElement)(m.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(m.Path,{d:"M7 4H17V8L7 8V4ZM7 16L17 16V20L7 20V16ZM20 11.25H4V12.75H20V11.25Z"})),Kr={top:{icon:$r,title:(0,v._x)("Align top","Block vertical alignment setting")},center:{icon:Ur,title:(0,v._x)("Align middle","Block vertical alignment setting")},bottom:{icon:Gr,title:(0,v._x)("Align bottom","Block vertical alignment setting")},stretch:{icon:jr,title:(0,v._x)("Stretch to fill","Block vertical alignment setting")},"space-between":{icon:Wr,title:(0,v._x)("Space between","Block vertical alignment setting")}},qr=["top","center","bottom"];var Zr=function({value:e,onChange:t,controls:n=qr,isCollapsed:o=!0,isToolbar:r}){const l=Kr[e],i=Kr.top,a=r?m.ToolbarGroup:m.ToolbarDropdownMenu,s=r?{isCollapsed:o}:{};return(0,c.createElement)(a,{icon:l?l.icon:i.icon,label:(0,v._x)("Change vertical alignment","Block vertical alignment setting label"),controls:n.map((n=>{return{...Kr[n],isActive:e===n,role:o?"menuitemradio":void 0,onClick:(r=n,()=>t(e===r?void 0:r))};var r})),...s})};const Yr=e=>(0,c.createElement)(Zr,{...e,isToolbar:!1}),Xr=e=>(0,c.createElement)(Zr,{...e,isToolbar:!0}),Qr={left:pr,center:mr,right:fr,"space-between":gr,stretch:hr};var Jr=function({allowedControls:e=["left","center","right","space-between"],isCollapsed:t=!0,onChange:n,value:o,popoverProps:r,isToolbar:l}){const i=e=>{n(e===o?void 0:e)},a=o?Qr[o]:Qr.left,s=[{name:"left",icon:pr,title:(0,v.__)("Justify items left"),isActive:"left"===o,onClick:()=>i("left")},{name:"center",icon:mr,title:(0,v.__)("Justify items center"),isActive:"center"===o,onClick:()=>i("center")},{name:"right",icon:fr,title:(0,v.__)("Justify items right"),isActive:"right"===o,onClick:()=>i("right")},{name:"space-between",icon:gr,title:(0,v.__)("Space between items"),isActive:"space-between"===o,onClick:()=>i("space-between")},{name:"stretch",icon:hr,title:(0,v.__)("Stretch items"),isActive:"stretch"===o,onClick:()=>i("stretch")}],u=l?m.ToolbarGroup:m.ToolbarDropdownMenu,d=l?{isCollapsed:t}:{};return(0,c.createElement)(u,{icon:a,popoverProps:r,label:(0,v.__)("Change items justification"),controls:s.filter((t=>e.includes(t.name))),...d})};const el=e=>(0,c.createElement)(Jr,{...e,isToolbar:!1}),tl=e=>(0,c.createElement)(Jr,{...e,isToolbar:!0});var nl=function(){return nl=Object.assign||function(e){for(var t,n=1,o=arguments.length;n[e,ul(t)])))}:e}function dl(e,t,n){const o=function(e){return Array.isArray(e)?e:"number"==typeof e?[e.toString()]:[e]}(t),r=e?ul(e):{};return o.reduce(((e,r,l)=>(void 0===e[r]&&(Number.isInteger(t[l+1])?e[r]=[]:e[r]={}),l===o.length-1&&(e[r]=n),e[r])),r),r}const pl=(e,t,n)=>{var o;const r=Array.isArray(t)?t:t.split(".");let l=e;return r.forEach((e=>{l=l?.[e]})),null!==(o=l)&&void 0!==o?o:n},ml=["color","border","dimensions","typography","spacing"],fl={"color.palette":e=>e.colors,"color.gradients":e=>e.gradients,"color.custom":e=>void 0===e.disableCustomColors?void 0:!e.disableCustomColors,"color.customGradient":e=>void 0===e.disableCustomGradients?void 0:!e.disableCustomGradients,"typography.fontSizes":e=>e.fontSizes,"typography.customFontSize":e=>void 0===e.disableCustomFontSizes?void 0:!e.disableCustomFontSizes,"typography.lineHeight":e=>e.enableCustomLineHeight,"spacing.units":e=>{if(void 0!==e.enableCustomUnits)return!0===e.enableCustomUnits?["px","em","rem","vh","vw","%"]:e.enableCustomUnits},"spacing.padding":e=>e.enableCustomSpacing},gl={"border.customColor":"border.color","border.customStyle":"border.style","border.customWidth":"border.width","typography.customFontStyle":"typography.fontStyle","typography.customFontWeight":"typography.fontWeight","typography.customLetterSpacing":"typography.letterSpacing","typography.customTextDecorations":"typography.textDecoration","typography.customTextTransforms":"typography.textTransform","border.customRadius":"border.radius","spacing.customMargin":"spacing.margin","spacing.customPadding":"spacing.padding","typography.customLineHeight":"typography.lineHeight"},hl=e=>gl[e]||e;function bl(e){const{name:t,clientId:n}=rr();return(0,f.useSelect)((o=>{if(ml.includes(e))return void console.warn("Top level useSetting paths are disabled. Please use a subpath to query the information needed.");let r=(0,s.applyFilters)("blockEditor.useSetting.before",void 0,e,n,t);if(void 0!==r)return r;const l=hl(e),i=[n,...o(Jo).getBlockParents(n,!0)];for(const e of i){const n=o(Jo).getBlockName(e);if((0,a.hasBlockSupport)(n,"__experimentalSettings",!1)){var c;const n=o(Jo).getBlockAttributes(e);if(r=null!==(c=pl(n,`settings.blocks.${t}.${l}`))&&void 0!==c?c:pl(n,`settings.${l}`),void 0!==r)break}}const u=o(Jo).getSettings();if(void 0===r){var d;const e=`__experimentalFeatures.${l}`;r=null!==(d=pl(u,`__experimentalFeatures.blocks.${t}.${l}`))&&void 0!==d?d:pl(u,e)}var p,m;if(void 0!==r)return a.__EXPERIMENTAL_PATHS_WITH_MERGE[l]?null!==(p=null!==(m=r.custom)&&void 0!==m?m:r.theme)&&void 0!==p?p:r.default:r;const f=fl[l]?fl[l](u):void 0;return void 0!==f?f:"typography.dropCap"===l||void 0}),[t,n,e])}const vl="1600px",_l="320px",kl=1,yl=.25,El=.75,Sl="14px";function wl({minimumFontSize:e,maximumFontSize:t,fontSize:n,minimumViewportWidth:o=_l,maximumViewportWidth:r=vl,scaleFactor:l=kl,minimumFontSizeLimit:i}){if(i=Cl(i)?i:Sl,n){const o=Cl(n);if(!o?.unit)return null;const r=Cl(i,{coerceTo:o.unit});if(r?.value&&!e&&!t&&o?.value<=r?.value)return null;if(t||(t=`${o.value}${o.unit}`),!e){const t="px"===o.unit?o.value:16*o.value,n=Math.min(Math.max(1-.075*Math.log2(t),yl),El),l=xl(o.value*n,3);e=r?.value&&l0}function Tl(e){const t=e?.typography,n=e?.layout,o=Cl(n?.wideSize)?n?.wideSize:null;return Il(t)&&o?{fluid:{maxViewportWidth:o,...t.fluid}}:{fluid:t?.fluid}}const Ml="body",Pl=[{path:["color","palette"],valueKey:"color",cssVarInfix:"color",classes:[{classSuffix:"color",propertyName:"color"},{classSuffix:"background-color",propertyName:"background-color"},{classSuffix:"border-color",propertyName:"border-color"}]},{path:["color","gradients"],valueKey:"gradient",cssVarInfix:"gradient",classes:[{classSuffix:"gradient-background",propertyName:"background"}]},{path:["color","duotone"],valueKey:"colors",cssVarInfix:"duotone",valueFunc:({slug:e})=>`url( '#wp-duotone-${e}' )`,classes:[]},{path:["shadow","presets"],valueKey:"shadow",cssVarInfix:"shadow",classes:[]},{path:["typography","fontSizes"],valueFunc:(e,t)=>Bl(e,Tl(t)),valueKey:"size",cssVarInfix:"font-size",classes:[{classSuffix:"font-size",propertyName:"font-size"}]},{path:["typography","fontFamilies"],valueKey:"fontFamily",cssVarInfix:"font-family",classes:[{classSuffix:"font-family",propertyName:"font-family"}]},{path:["spacing","spacingSizes"],valueKey:"size",cssVarInfix:"spacing",valueFunc:({size:e})=>e,classes:[]}],Nl={"color.background":"color","color.text":"color","filter.duotone":"duotone","elements.link.color.text":"color","elements.link.:hover.color.text":"color","elements.link.typography.fontFamily":"font-family","elements.link.typography.fontSize":"font-size","elements.button.color.text":"color","elements.button.color.background":"color","elements.caption.color.text":"color","elements.button.typography.fontFamily":"font-family","elements.button.typography.fontSize":"font-size","elements.heading.color":"color","elements.heading.color.background":"color","elements.heading.typography.fontFamily":"font-family","elements.heading.gradient":"gradient","elements.heading.color.gradient":"gradient","elements.h1.color":"color","elements.h1.color.background":"color","elements.h1.typography.fontFamily":"font-family","elements.h1.color.gradient":"gradient","elements.h2.color":"color","elements.h2.color.background":"color","elements.h2.typography.fontFamily":"font-family","elements.h2.color.gradient":"gradient","elements.h3.color":"color","elements.h3.color.background":"color","elements.h3.typography.fontFamily":"font-family","elements.h3.color.gradient":"gradient","elements.h4.color":"color","elements.h4.color.background":"color","elements.h4.typography.fontFamily":"font-family","elements.h4.color.gradient":"gradient","elements.h5.color":"color","elements.h5.color.background":"color","elements.h5.typography.fontFamily":"font-family","elements.h5.color.gradient":"gradient","elements.h6.color":"color","elements.h6.color.background":"color","elements.h6.typography.fontFamily":"font-family","elements.h6.color.gradient":"gradient","color.gradient":"gradient",shadow:"shadow","typography.fontSize":"font-size","typography.fontFamily":"font-family"};function Ll(e,t,n,o,r){const l=[pl(e,["blocks",t,...n]),pl(e,n)];for(const i of l)if(i){const l=["custom","theme","default"];for(const a of l){const l=i[a];if(l){const i=l.find((e=>e[o]===r));if(i){if("slug"===o)return i;return Ll(e,t,n,"slug",i.slug)[o]===i[o]?i:void 0}}}}}function Rl(e,t,n){if(!n||"string"!=typeof n){if(!n?.ref||"string"!=typeof n?.ref)return n;{const t=n.ref.split(".");if(!(n=pl(e,t))||n?.ref)return n}}const o="var:",r="var(--wp--";let l;if(n.startsWith(o))l=n.slice(4).split("|");else{if(!n.startsWith(r)||!n.endsWith(")"))return n;l=n.slice(10,-1).split("--")}const[i,...a]=l;return"preset"===i?function(e,t,n,[o,r]){const l=Pl.find((e=>e.cssVarInfix===o));if(!l)return n;const i=Ll(e.settings,t,l.path,"slug",r);if(i){const{valueKey:n}=l;return Rl(e,t,i[n])}return n}(e,t,n,a):"custom"===i?function(e,t,n,o){var r;const l=null!==(r=pl(e.settings,["blocks",t,"custom",...o]))&&void 0!==r?r:pl(e.settings,["custom",...o]);return l?Rl(e,t,l):n}(e,t,n,a):n}function Al(e,t){const n=e.split(","),o=t.split(","),r=[];return n.forEach((e=>{o.forEach((t=>{r.push(`${e.trim()} ${t.trim()}`)}))})),r.join(", ")}function Dl(e,t){return"object"!=typeof e||"object"!=typeof t?e===t:b()(e?.styles,t?.styles)&&b()(e?.settings,t?.settings)}const Ol=(0,c.createContext)({user:{},base:{},merged:{},setUserConfig:()=>{}}),zl={settings:{},styles:{}},Vl=["appearanceTools","useRootPaddingAwareAlignments","border.color","border.radius","border.style","border.width","shadow.presets","shadow.defaultPresets","color.background","color.button","color.caption","color.custom","color.customDuotone","color.customGradient","color.defaultDuotone","color.defaultGradients","color.defaultPalette","color.duotone","color.gradients","color.heading","color.link","color.palette","color.text","custom","dimensions.minHeight","layout.contentSize","layout.definitions","layout.wideSize","lightbox.enabled","lightbox.allowEditing","position.fixed","position.sticky","spacing.customSpacingSize","spacing.spacingSizes","spacing.spacingScale","spacing.blockGap","spacing.margin","spacing.padding","spacing.units","typography.fluid","typography.customFontSize","typography.dropCap","typography.fontFamilies","typography.fontSizes","typography.fontStyle","typography.fontWeight","typography.letterSpacing","typography.lineHeight","typography.textColumns","typography.textDecoration","typography.textTransform","typography.writingMode"],Fl=()=>{const{user:e,setUserConfig:t}=(0,c.useContext)(Ol);return[!!e&&!b()(e,zl),(0,c.useCallback)((()=>t((()=>zl))),[t])]};function Hl(e,t,n="all"){const{setUserConfig:o,...r}=(0,c.useContext)(Ol),l=t?".blocks."+t:"",i=e?"."+e:"",a=`settings${l}${i}`,s=`settings${i}`,u="all"===n?"merged":n;return[(0,c.useMemo)((()=>{const t=r[u];if(!t)throw"Unsupported source";var n;if(e)return null!==(n=pl(t,a))&&void 0!==n?n:pl(t,s);let o={};return Vl.forEach((e=>{var n;const r=null!==(n=pl(t,`settings${l}.${e}`))&&void 0!==n?n:pl(t,`settings.${e}`);void 0!==r&&(o=dl(o,e.split("."),r))})),o}),[r,u,e,a,s,l]),e=>{o((t=>dl(t,a.split("."),e)))}]}function Gl(e,t,n="all",{shouldDecodeEncode:o=!0}={}){const{merged:r,base:l,user:i,setUserConfig:a}=(0,c.useContext)(Ol),s=e?"."+e:"",u=t?`styles.blocks.${t}${s}`:`styles${s}`;let d,p;switch(n){case"all":d=pl(r,u),p=o?Rl(r,t,d):d;break;case"user":d=pl(i,u),p=o?Rl(r,t,d):d;break;case"base":d=pl(l,u),p=o?Rl(l,t,d):d;break;default:throw"Unsupported source"}return[p,n=>{a((l=>dl(l,u.split("."),o?function(e,t,n,o){if(!o)return o;const r=Nl[n],l=Pl.find((e=>e.cssVarInfix===r));if(!l)return o;const{valueKey:i,path:a}=l,s=Ll(e,t,a,i,o);return s?`var:preset|${r}|${s.slug}`:o}(r.settings,t,e,n):n)))}]}function Ul(e,t,n){const{supportedStyles:o,supports:r}=(0,f.useSelect)((e=>({supportedStyles:Xo(e(a.store)).getSupportedStyles(t,n),supports:e(a.store).getBlockType(t)?.supports})),[t,n]);return(0,c.useMemo)((()=>{const t={...e};return o.includes("fontSize")||(t.typography={...t.typography,fontSizes:{},customFontSize:!1}),o.includes("fontFamily")||(t.typography={...t.typography,fontFamilies:{}}),t.color={...t.color,text:t.color?.text&&o.includes("color"),background:t.color?.background&&(o.includes("background")||o.includes("backgroundColor")),button:t.color?.button&&o.includes("buttonColor"),heading:t.color?.heading&&o.includes("headingColor"),link:t.color?.link&&o.includes("linkColor"),caption:t.color?.caption&&o.includes("captionColor")},o.includes("background")||(t.color.gradients=[],t.color.customGradient=!1),o.includes("filter")||(t.color.defaultDuotone=!1,t.color.customDuotone=!1),["lineHeight","fontStyle","fontWeight","letterSpacing","textTransform","textDecoration","writingMode"].forEach((e=>{o.includes(e)||(t.typography={...t.typography,[e]:!1})})),o.includes("columnCount")||(t.typography={...t.typography,textColumns:!1}),["contentSize","wideSize"].forEach((e=>{o.includes(e)||(t.layout={...t.layout,[e]:!1})})),["padding","margin","blockGap"].forEach((e=>{o.includes(e)||(t.spacing={...t.spacing,[e]:!1});const n=Array.isArray(r?.spacing?.[e])?r?.spacing?.[e]:r?.spacing?.[e]?.sides;n?.length&&t.spacing?.[e]&&(t.spacing={...t.spacing,[e]:{...t.spacing?.[e],sides:n}})})),o.includes("minHeight")||(t.dimensions={...t.dimensions,minHeight:!1}),["radius","color","style","width"].forEach((e=>{o.includes("border"+e.charAt(0).toUpperCase()+e.slice(1))||(t.border={...t.border,[e]:!1})})),t.shadow=!!o.includes("shadow")&&t.shadow,t}),[e,o,r])}function $l(e){const t=e?.color?.palette?.custom,n=e?.color?.palette?.theme,o=e?.color?.palette?.default,r=e?.color?.defaultPalette;return(0,c.useMemo)((()=>{const e=[];return n&&n.length&&e.push({name:(0,v._x)("Theme","Indicates this palette comes from the theme."),colors:n}),r&&o&&o.length&&e.push({name:(0,v._x)("Default","Indicates this palette comes from WordPress."),colors:o}),t&&t.length&&e.push({name:(0,v._x)("Custom","Indicates this palette is created by the user."),colors:t}),e}),[t,n,o,r])}function jl(e){const t=e?.color?.gradients?.custom,n=e?.color?.gradients?.theme,o=e?.color?.gradients?.default,r=e?.color?.defaultGradients;return(0,c.useMemo)((()=>{const e=[];return n&&n.length&&e.push({name:(0,v._x)("Theme","Indicates this palette comes from the theme."),gradients:n}),r&&o&&o.length&&e.push({name:(0,v._x)("Default","Indicates this palette comes from WordPress."),gradients:o}),t&&t.length&&e.push({name:(0,v._x)("Custom","Indicates this palette is created by the user."),gradients:t}),e}),[t,n,o,r])}const Wl=e=>{if(null===e||"object"!=typeof e||Array.isArray(e))return e;const t=Object.entries(e).map((([e,t])=>[e,Wl(t)])).filter((([,e])=>void 0!==e));return t.length?Object.fromEntries(t):void 0};function Kl(e,t,n,o,r,l){if(Object.values(null!=e?e:{}).every((e=>!e)))return n;if(1===l.length&&n.innerBlocks.length===o.length)return n;let i=o[0]?.attributes;if(l.length>1&&o.length>1){if(!o[r])return n;i=o[r]?.attributes}let a=n;return Object.entries(e).forEach((([e,n])=>{n&&t[e].forEach((e=>{const t=pl(i,e);t&&(a={...a,attributes:dl(a.attributes,e,t)})}))})),a}function ql(e,t,n){const o=(0,a.getBlockSupport)(e,t),r=o?.__experimentalSkipSerialization;return Array.isArray(r)?r.includes(n):r}function Zl(e,t){const n=bl("typography.fontFamilies"),o=bl("typography.fontSizes"),r=bl("typography.customFontSize"),l=bl("typography.fontStyle"),i=bl("typography.fontWeight"),a=bl("typography.lineHeight"),s=bl("typography.textColumns"),u=bl("typography.textDecoration"),d=bl("typography.writingMode"),p=bl("typography.textTransform"),m=bl("typography.letterSpacing"),f=bl("spacing.padding"),g=bl("spacing.margin"),h=bl("spacing.blockGap"),b=bl("spacing.spacingSizes"),v=bl("spacing.units"),_=bl("dimensions.minHeight"),k=bl("layout"),y=bl("border.color"),E=bl("border.radius"),S=bl("border.style"),w=bl("border.width"),C=bl("color.custom"),x=bl("color.palette.custom"),B=bl("color.customDuotone"),I=bl("color.palette.theme"),T=bl("color.palette.default"),M=bl("color.defaultPalette"),P=bl("color.defaultDuotone"),N=bl("color.duotone.custom"),L=bl("color.duotone.theme"),R=bl("color.duotone.default"),A=bl("color.gradients.custom"),D=bl("color.gradients.theme"),O=bl("color.gradients.default"),z=bl("color.defaultGradients"),V=bl("color.customGradient"),F=bl("color.background"),H=bl("color.link"),G=bl("color.text"),U=bl("color.heading"),$=bl("color.button");return Ul((0,c.useMemo)((()=>({color:{palette:{custom:x,theme:I,default:T},gradients:{custom:A,theme:D,default:O},duotone:{custom:N,theme:L,default:R},defaultGradients:z,defaultPalette:M,defaultDuotone:P,custom:C,customGradient:V,customDuotone:B,background:F,link:H,heading:U,button:$,text:G},typography:{fontFamilies:{custom:n},fontSizes:{custom:o},customFontSize:r,fontStyle:l,fontWeight:i,lineHeight:a,textColumns:s,textDecoration:u,textTransform:p,letterSpacing:m,writingMode:d},spacing:{spacingSizes:{custom:b},padding:f,margin:g,blockGap:h,units:v},border:{color:y,radius:E,style:S,width:w},dimensions:{minHeight:_},layout:k,parentLayout:t})),[n,o,r,l,i,a,s,u,p,m,d,f,g,h,b,v,_,k,t,y,E,S,w,C,x,B,I,T,M,P,N,L,R,A,D,O,z,V,F,H,G,U,$]),e)}const Yl={left:"flex-start",right:"flex-end",center:"center","space-between":"space-between"},Xl={left:"flex-start",right:"flex-end",center:"center",stretch:"stretch"},Ql={top:"flex-start",center:"center",bottom:"flex-end",stretch:"stretch","space-between":"space-between"},Jl=["wrap","nowrap"];var ei={name:"flex",label:(0,v.__)("Flex"),inspectorControls:function({layout:e={},onChange:t,layoutBlockSupport:n={}}){const{allowOrientation:o=!0}=n;return(0,c.createElement)(c.Fragment,null,(0,c.createElement)(m.Flex,null,(0,c.createElement)(m.FlexItem,null,(0,c.createElement)(oi,{layout:e,onChange:t})),(0,c.createElement)(m.FlexItem,null,o&&(0,c.createElement)(li,{layout:e,onChange:t}))),(0,c.createElement)(ri,{layout:e,onChange:t}))},toolBarControls:function({layout:e={},onChange:t,layoutBlockSupport:n}){if(n?.allowSwitching)return null;const{allowVerticalAlignment:o=!0}=n;return(0,c.createElement)(dr,{group:"block",__experimentalShareWithChildBlocks:!0},(0,c.createElement)(oi,{layout:e,onChange:t,isToolbar:!0}),o&&(0,c.createElement)(ti,{layout:e,onChange:t,isToolbar:!0}))},getLayoutStyle:function({selector:e,layout:t,style:n,blockName:o,hasBlockGapSupport:r,layoutDefinitions:l=_r}){const{orientation:i="horizontal"}=t,a=n?.spacing?.blockGap&&!ql(o,"spacing","blockGap")?Hr(n?.spacing?.blockGap,"0.5em"):void 0,s=Yl[t.justifyContent],c=Jl.includes(t.flexWrap)?t.flexWrap:"wrap",u=Ql[t.verticalAlignment],d=Xl[t.justifyContent]||Xl.left;let p="";const m=[];return c&&"wrap"!==c&&m.push(`flex-wrap: ${c}`),"horizontal"===i?(u&&m.push(`align-items: ${u}`),s&&m.push(`justify-content: ${s}`)):(u&&m.push(`justify-content: ${u}`),m.push("flex-direction: column"),m.push(`align-items: ${d}`)),m.length&&(p=`${kr(e)} {\n\t\t\t\t${m.join("; ")};\n\t\t\t}`),r&&a&&(p+=yr(e,l,"flex",a)),p},getOrientation(e){const{orientation:t="horizontal"}=e;return t},getAlignments(){return[]}};function ti({layout:e,onChange:t,isToolbar:n=!1}){const{orientation:o="horizontal"}=e,r="horizontal"===o?Ql.center:Ql.top,{verticalAlignment:l=r}=e,i=n=>{t({...e,verticalAlignment:n})};if(n)return(0,c.createElement)(Yr,{onChange:i,value:l,controls:"horizontal"===o?["top","center","bottom","stretch"]:["top","center","bottom","space-between"]});const a=[{value:"flex-start",label:(0,v.__)("Align items top")},{value:"center",label:(0,v.__)("Align items center")},{value:"flex-end",label:(0,v.__)("Align items bottom")}];return(0,c.createElement)("fieldset",{className:"block-editor-hooks__flex-layout-vertical-alignment-control"},(0,c.createElement)("legend",null,(0,v.__)("Vertical alignment")),(0,c.createElement)("div",null,a.map(((e,t,n)=>(0,c.createElement)(m.Button,{key:e,label:n,icon:t,isPressed:l===e,onClick:()=>i(e)})))))}const ni={placement:"bottom-start"};function oi({layout:e,onChange:t,isToolbar:n=!1}){const{justifyContent:o="left",orientation:r="horizontal"}=e,l=n=>{t({...e,justifyContent:n})},i=["left","center","right"];if("horizontal"===r?i.push("space-between"):i.push("stretch"),n)return(0,c.createElement)(el,{allowedControls:i,value:o,onChange:l,popoverProps:ni});const a=[{value:"left",icon:pr,label:(0,v.__)("Justify items left")},{value:"center",icon:mr,label:(0,v.__)("Justify items center")},{value:"right",icon:fr,label:(0,v.__)("Justify items right")}];return"horizontal"===r?a.push({value:"space-between",icon:gr,label:(0,v.__)("Space between items")}):a.push({value:"stretch",icon:hr,label:(0,v.__)("Stretch items")}),(0,c.createElement)(m.__experimentalToggleGroupControl,{__nextHasNoMarginBottom:!0,label:(0,v.__)("Justification"),value:o,onChange:l,className:"block-editor-hooks__flex-layout-justification-controls"},a.map((({value:e,icon:t,label:n})=>(0,c.createElement)(m.__experimentalToggleGroupControlOptionIcon,{key:e,value:e,icon:t,label:n}))))}function ri({layout:e,onChange:t}){const{flexWrap:n="wrap"}=e;return(0,c.createElement)(m.ToggleControl,{__nextHasNoMarginBottom:!0,label:(0,v.__)("Allow to wrap to multiple lines"),onChange:n=>{t({...e,flexWrap:n?"wrap":"nowrap"})},checked:"wrap"===n})}function li({layout:e,onChange:t}){const{orientation:n="horizontal",verticalAlignment:o,justifyContent:r}=e;return(0,c.createElement)(m.__experimentalToggleGroupControl,{__nextHasNoMarginBottom:!0,className:"block-editor-hooks__flex-layout-orientation-controls",label:(0,v.__)("Orientation"),value:n,onChange:n=>{let l=o,i=r;return"horizontal"===n?("space-between"===o&&(l="center"),"stretch"===r&&(i="left")):("stretch"===o&&(l="top"),"space-between"===r&&(i="left")),t({...e,orientation:n,verticalAlignment:l,justifyContent:i})}},(0,c.createElement)(m.__experimentalToggleGroupControlOptionIcon,{icon:br,value:"horizontal",label:(0,v.__)("Horizontal")}),(0,c.createElement)(m.__experimentalToggleGroupControlOptionIcon,{icon:vr,value:"vertical",label:(0,v.__)("Vertical")}))}var ii={name:"default",label:(0,v.__)("Flow"),inspectorControls:function(){return null},toolBarControls:function(){return null},getLayoutStyle:function({selector:e,style:t,blockName:n,hasBlockGapSupport:o,layoutDefinitions:r=_r}){const l=Hr(t?.spacing?.blockGap);let i="";ql(n,"spacing","blockGap")||(l?.top?i=Hr(l?.top):"string"==typeof l&&(i=Hr(l)));let a="";return o&&i&&(a+=yr(e,r,"default",i)),a},getOrientation(){return"vertical"},getAlignments(e,t){const n=Er(e);if(void 0!==e.alignments)return e.alignments.includes("none")||e.alignments.unshift("none"),e.alignments.map((e=>({name:e,info:n[e]})));const o=[{name:"left"},{name:"center"},{name:"right"}];if(!t){const{contentSize:t,wideSize:r}=e;t&&o.unshift({name:"full"}),r&&o.unshift({name:"wide",info:n.wide})}return o.unshift({name:"none",info:n.none}),o}};var ai=(0,c.forwardRef)((function({icon:e,size:t=24,...n},o){return(0,c.cloneElement)(e,{width:t,height:t,...n,ref:o})}));var si=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM7 9h10v6H7V9Z"}));var ci=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M16 5.5H8V4h8v1.5ZM16 20H8v-1.5h8V20ZM5 9h14v6H5V9Z"})),ui=window.wp.styleEngine,di={name:"constrained",label:(0,v.__)("Constrained"),inspectorControls:function({layout:e,onChange:t,layoutBlockSupport:n={}}){const{wideSize:o,contentSize:r,justifyContent:l="center"}=e,{allowJustification:i=!0}=n,a=[{value:"left",icon:pr,label:(0,v.__)("Justify items left")},{value:"center",icon:mr,label:(0,v.__)("Justify items center")},{value:"right",icon:fr,label:(0,v.__)("Justify items right")}],s=(0,m.__experimentalUseCustomUnits)({availableUnits:bl("spacing.units")||["%","px","em","rem","vw"]});return(0,c.createElement)(c.Fragment,null,(0,c.createElement)("div",{className:"block-editor-hooks__layout-controls"},(0,c.createElement)("div",{className:"block-editor-hooks__layout-controls-unit"},(0,c.createElement)(m.__experimentalUnitControl,{className:"block-editor-hooks__layout-controls-unit-input",label:(0,v.__)("Content"),labelPosition:"top",__unstableInputWidth:"80px",value:r||o||"",onChange:n=>{n=0>parseFloat(n)?"0":n,t({...e,contentSize:n})},units:s}),(0,c.createElement)(ai,{icon:si})),(0,c.createElement)("div",{className:"block-editor-hooks__layout-controls-unit"},(0,c.createElement)(m.__experimentalUnitControl,{className:"block-editor-hooks__layout-controls-unit-input",label:(0,v.__)("Wide"),labelPosition:"top",__unstableInputWidth:"80px",value:o||r||"",onChange:n=>{n=0>parseFloat(n)?"0":n,t({...e,wideSize:n})},units:s}),(0,c.createElement)(ai,{icon:ci}))),(0,c.createElement)("p",{className:"block-editor-hooks__layout-controls-helptext"},(0,v.__)("Customize the width for all elements that are assigned to the center or wide columns.")),i&&(0,c.createElement)(m.__experimentalToggleGroupControl,{__nextHasNoMarginBottom:!0,label:(0,v.__)("Justification"),value:l,onChange:n=>{t({...e,justifyContent:n})}},a.map((({value:e,icon:t,label:n})=>(0,c.createElement)(m.__experimentalToggleGroupControlOptionIcon,{key:e,value:e,icon:t,label:n})))))},toolBarControls:function(){return null},getLayoutStyle:function({selector:e,layout:t={},style:n,blockName:o,hasBlockGapSupport:r,layoutDefinitions:l=_r}){const{contentSize:i,wideSize:a,justifyContent:s}=t,c=Hr(n?.spacing?.blockGap);let u="";ql(o,"spacing","blockGap")||(c?.top?u=Hr(c?.top):"string"==typeof c&&(u=Hr(c)));const d="left"===s?"0 !important":"auto !important",p="right"===s?"0 !important":"auto !important";let m=i||a?`\n\t\t\t\t\t${kr(e,"> :where(:not(.alignleft):not(.alignright):not(.alignfull))")} {\n\t\t\t\t\t\tmax-width: ${null!=i?i:a};\n\t\t\t\t\t\tmargin-left: ${d};\n\t\t\t\t\t\tmargin-right: ${p};\n\t\t\t\t\t}\n\t\t\t\t\t${kr(e,"> .alignwide")} {\n\t\t\t\t\t\tmax-width: ${null!=a?a:i};\n\t\t\t\t\t}\n\t\t\t\t\t${kr(e,"> .alignfull")} {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t`:"";if("left"===s?m+=`${kr(e,"> :where(:not(.alignleft):not(.alignright):not(.alignfull))")}\n\t\t\t{ margin-left: ${d}; }`:"right"===s&&(m+=`${kr(e,"> :where(:not(.alignleft):not(.alignright):not(.alignfull))")}\n\t\t\t{ margin-right: ${p}; }`),n?.spacing?.padding){(0,ui.getCSSRules)(n).forEach((t=>{"paddingRight"===t.key?m+=`\n\t\t\t\t\t${kr(e,"> .alignfull")} {\n\t\t\t\t\t\tmargin-right: calc(${t.value} * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`:"paddingLeft"===t.key&&(m+=`\n\t\t\t\t\t${kr(e,"> .alignfull")} {\n\t\t\t\t\t\tmargin-left: calc(${t.value} * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`)}))}return r&&u&&(m+=yr(e,l,"constrained",u)),m},getOrientation(){return"vertical"},getAlignments(e){const t=Er(e);if(void 0!==e.alignments)return e.alignments.includes("none")||e.alignments.unshift("none"),e.alignments.map((e=>({name:e,info:t[e]})));const{contentSize:n,wideSize:o}=e,r=[{name:"left"},{name:"center"},{name:"right"}];return n&&r.unshift({name:"full"}),o&&r.unshift({name:"wide",info:t.wide}),r.unshift({name:"none",info:t.none}),r}};const pi={px:600,"%":100,vw:100,vh:100,em:38,rem:38};var mi={name:"grid",label:(0,v.__)("Grid"),inspectorControls:function({layout:e={},onChange:t}){return e?.columnCount?(0,c.createElement)(gi,{layout:e,onChange:t}):(0,c.createElement)(fi,{layout:e,onChange:t})},toolBarControls:function(){return null},getLayoutStyle:function({selector:e,layout:t,style:n,blockName:o,hasBlockGapSupport:r,layoutDefinitions:l=_r}){const{minimumColumnWidth:i="12rem",columnCount:a=null}=t,s=n?.spacing?.blockGap&&!ql(o,"spacing","blockGap")?Hr(n?.spacing?.blockGap,"0.5em"):void 0;let c="";const u=[];return a?u.push(`grid-template-columns: repeat(${a}, minmax(0, 1fr))`):i&&u.push(`grid-template-columns: repeat(auto-fill, minmax(min(${i}, 100%), 1fr))`),u.length&&(c=`${kr(e)} { ${u.join("; ")}; }`),r&&s&&(c+=yr(e,l,"grid",s)),c},getOrientation(){return"horizontal"},getAlignments(){return[]}};function fi({layout:e,onChange:t}){const{minimumColumnWidth:n="12rem"}=e,[o,r]=(0,m.__experimentalParseQuantityAndUnitFromRawValue)(n);return(0,c.createElement)("fieldset",null,(0,c.createElement)(m.BaseControl.VisualLabel,{as:"legend"},(0,v.__)("Minimum column width")),(0,c.createElement)(m.Flex,{gap:4},(0,c.createElement)(m.FlexItem,{isBlock:!0},(0,c.createElement)(m.__experimentalUnitControl,{size:"__unstable-large",onChange:n=>{t({...e,minimumColumnWidth:n})},onUnitChange:n=>{let l;["em","rem"].includes(n)&&"px"===r?l=(o/16).toFixed(2)+n:["em","rem"].includes(r)&&"px"===n?l=Math.round(16*o)+n:["vh","vw","%"].includes(n)&&o>100&&(l=100+n),t({...e,minimumColumnWidth:l})},value:n,min:0})),(0,c.createElement)(m.FlexItem,{isBlock:!0},(0,c.createElement)(m.RangeControl,{onChange:n=>{t({...e,minimumColumnWidth:[n,r].join("")})},value:o,min:0,max:pi[r]||600,withInputField:!1}))))}function gi({layout:e,onChange:t}){const{columnCount:n=3}=e;return(0,c.createElement)(m.RangeControl,{label:(0,v.__)("Columns"),value:n,onChange:n=>t({...e,columnCount:n}),min:1,max:6})}const hi=[ii,ei,di,mi];function bi(e="default"){return hi.find((t=>t.name===e))}const vi={type:"default"},_i=(0,c.createContext)(vi),ki=_i.Provider;function yi(){return(0,c.useContext)(_i)}const Ei=[],Si=["none","left","center","right","wide","full"],wi=["wide","full"];function Ci(e=Si){e.includes("none")||(e=["none",...e]);const{wideControlsEnabled:t=!1,themeSupportsLayout:n,isBlockBasedTheme:o}=(0,f.useSelect)((e=>{const{getSettings:t}=e(Jo),n=t();return{wideControlsEnabled:n.alignWide,themeSupportsLayout:n.supportsLayout,isBlockBasedTheme:n.__unstableIsBlockBasedTheme}}),[]),r=yi(),l=bi(r?.type),i=l.getAlignments(r,o);if(n){const t=i.filter((({name:t})=>e.includes(t)));return 1===t.length&&"none"===t[0].name?Ei:t}if("default"!==l.name&&"constrained"!==l.name)return Ei;const{alignments:a=Si}=r,s=e.filter((e=>(r.alignments||t||!wi.includes(e))&&a.includes(e))).map((e=>({name:e})));return 1===s.length&&"none"===s[0].name?Ei:s}var xi=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM5 9h14v6H5V9Z"}));var Bi=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M5 5.5h8V4H5v1.5ZM5 20h8v-1.5H5V20ZM19 9H5v6h14V9Z"}));var Ii=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M19 5.5h-8V4h8v1.5ZM19 20h-8v-1.5h8V20ZM5 9h14v6H5V9Z"}));var Ti=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M5 4h14v11H5V4Zm11 16H8v-1.5h8V20Z"}));const Mi={none:{icon:xi,title:(0,v._x)("None","Alignment option")},left:{icon:Bi,title:(0,v.__)("Align left")},center:{icon:si,title:(0,v.__)("Align center")},right:{icon:Ii,title:(0,v.__)("Align right")},wide:{icon:ci,title:(0,v.__)("Wide width")},full:{icon:Ti,title:(0,v.__)("Full width")}};var Pi=function({value:e,onChange:t,controls:n,isToolbar:o,isCollapsed:r=!0}){const l=Ci(n);if(!!!l.length)return null;function i(n){t([e,"none"].includes(n)?void 0:n)}const a=Mi[e],s=Mi.none,u=o?m.ToolbarGroup:m.ToolbarDropdownMenu,p={icon:a?a.icon:s.icon,label:(0,v.__)("Align")},f=o?{isCollapsed:r,controls:l.map((({name:t})=>({...Mi[t],isActive:e===t||!e&&"none"===t,role:r?"menuitemradio":void 0,onClick:()=>i(t)})))}:{toggleProps:{describedBy:(0,v.__)("Change alignment")},children:({onClose:t})=>(0,c.createElement)(c.Fragment,null,(0,c.createElement)(m.MenuGroup,{className:"block-editor-block-alignment-control__menu-group"},l.map((({name:n,info:o})=>{const{icon:r,title:l}=Mi[n],a=n===e||!e&&"none"===n;return(0,c.createElement)(m.MenuItem,{key:n,icon:r,iconPosition:"left",className:d()("components-dropdown-menu__menu-item",{"is-active":a}),isSelected:a,onClick:()=>{i(n),t()},role:"menuitemradio",info:o},l)}))))};return(0,c.createElement)(u,{...p,...f})};const Ni=e=>(0,c.createElement)(Pi,{...e,isToolbar:!1}),Li=e=>(0,c.createElement)(Pi,{...e,isToolbar:!0}),Ri=(0,c.createContext)(null);function Ai(e){var t;const{clientId:n=""}=null!==(t=(0,c.useContext)(Ri))&&void 0!==t?t:{},o=(0,f.useSelect)((e=>e(Jo).getBlockEditingMode(n)),[n]),{setBlockEditingMode:r,unsetBlockEditingMode:l}=(0,f.useDispatch)(Jo);return(0,c.useEffect)((()=>(e&&r(n,e),()=>{e&&l(n)})),[n,e,r,l]),o}const Di=["left","center","right","wide","full"],Oi=["wide","full"];function zi(e,t=!0,n=!0){let o;return o=Array.isArray(e)?Di.filter((t=>e.includes(t))):!0===e?[...Di]:[],!n||!0===e&&!t?o.filter((e=>!Oi.includes(e))):o}const Vi=(0,p.createHigherOrderComponent)((e=>t=>{const n=(0,c.createElement)(e,{key:"edit",...t}),{name:o}=t,r=Ci(zi((0,a.getBlockSupport)(o,"align"),(0,a.hasBlockSupport)(o,"alignWide",!0))).map((({name:e})=>e)),l=Ai();if(!r.length||"default"!==l)return n;return(0,c.createElement)(c.Fragment,null,(0,c.createElement)(dr,{group:"block",__experimentalShareWithChildBlocks:!0},(0,c.createElement)(Ni,{value:t.attributes.align,onChange:e=>{if(!e){const n=(0,a.getBlockType)(t.name),o=n?.attributes?.align?.default;o&&(e="")}t.setAttributes({align:e})},controls:r})),n)}),"withToolbarControls"),Fi=(0,p.createHigherOrderComponent)((e=>t=>{const{name:n,attributes:o}=t,{align:r}=o,l=Ci(zi((0,a.getBlockSupport)(n,"align"),(0,a.hasBlockSupport)(n,"alignWide",!0)));if(void 0===r)return(0,c.createElement)(e,{...t});let i=t.wrapperProps;return l.some((e=>e.name===r))&&(i={...i,"data-align":r}),(0,c.createElement)(e,{...t,wrapperProps:i})}),"withDataAlign");(0,s.addFilter)("blocks.registerBlockType","core/align/addAttribute",(function(e){var t;return"type"in(null!==(t=e.attributes?.align)&&void 0!==t?t:{})||(0,a.hasBlockSupport)(e,"align")&&(e.attributes={...e.attributes,align:{type:"string",enum:[...Di,""]}}),e})),(0,s.addFilter)("editor.BlockListBlock","core/editor/align/with-data-align",Fi),(0,s.addFilter)("editor.BlockEdit","core/editor/align/with-toolbar-controls",Vi),(0,s.addFilter)("blocks.getSaveContent.extraProps","core/align/addAssignedAlign",(function(e,t,n){const{align:o}=n;return zi((0,a.getBlockSupport)(t,"align"),(0,a.hasBlockSupport)(t,"alignWide",!0)).includes(o)&&(e.className=d()(`align${o}`,e.className)),e})),(0,s.addFilter)("blocks.registerBlockType","core/lock/addAttribute",(function(e){var t;return"type"in(null!==(t=e.attributes?.lock)&&void 0!==t?t:{})||(e.attributes={...e.attributes,lock:{type:"object"}}),e}));const Hi=(0,m.createSlotFill)("InspectorControls"),Gi=(0,m.createSlotFill)("InspectorAdvancedControls"),Ui=(0,m.createSlotFill)("InspectorControlsBackground"),$i=(0,m.createSlotFill)("InspectorControlsBorder"),ji=(0,m.createSlotFill)("InspectorControlsColor"),Wi=(0,m.createSlotFill)("InspectorControlsFilter"),Ki=(0,m.createSlotFill)("InspectorControlsDimensions"),qi=(0,m.createSlotFill)("InspectorControlsPosition"),Zi=(0,m.createSlotFill)("InspectorControlsTypography");var Yi={default:Hi,advanced:Gi,background:Ui,border:$i,color:ji,dimensions:Ki,filter:Wi,list:(0,m.createSlotFill)("InspectorControlsListView"),position:qi,settings:Hi,styles:(0,m.createSlotFill)("InspectorControlsStyles"),typography:Zi};function Xi({children:e,group:t="default",__experimentalGroup:n,resetAllFilter:o}){n&&($()("`__experimentalGroup` property in `InspectorControlsFill`",{since:"6.2",version:"6.4",alternative:"`group`"}),t=n);const r=lr(),l=Yi[t]?.Fill;return l&&r?(0,c.createElement)(m.__experimentalStyleProvider,{document:document},(0,c.createElement)(l,null,(t=>(0,c.createElement)(Ji,{fillProps:t,children:e,resetAllFilter:o})))):null}function Qi({resetAllFilter:e,children:t}){const{registerResetAllFilter:n,deregisterResetAllFilter:o}=(0,c.useContext)(m.__experimentalToolsPanelContext);return(0,c.useEffect)((()=>{if(e&&n&&o)return n(e),()=>{o(e)}}),[e,n,o]),t}function Ji({children:e,resetAllFilter:t,fillProps:n}){const{forwardedContext:o=[]}=n,r=(0,c.createElement)(Qi,{resetAllFilter:t},e);return o.reduce(((e,[t,n])=>(0,c.createElement)(t,{...n},e)),r)}function ea({children:e,group:t,label:n}){const{updateBlockAttributes:o}=(0,f.useDispatch)(Jo),{getBlockAttributes:r,getMultiSelectedBlockClientIds:l,getSelectedBlockClientId:i,hasMultiSelection:a}=(0,f.useSelect)(Jo),s=i(),u=(0,c.useCallback)(((e=[])=>{const t={},n=a()?l():[s];n.forEach((n=>{const{style:o}=r(n);let l={style:o};e.forEach((e=>{l={...l,...e(l)}})),l={...l,style:Wl(l.style)},t[n]=l})),o(n,t,!0)}),[r,l,a,s,o]);return(0,c.createElement)(m.__experimentalToolsPanel,{className:`${t}-block-support-panel`,label:n,resetAll:u,key:s,panelId:s,hasInnerWrapper:!0,shouldRenderPlaceholderItems:!0,__experimentalFirstVisibleItemClass:"first",__experimentalLastVisibleItemClass:"last"},e)}function ta({Slot:e,fillProps:t,...n}){const o=(0,c.useContext)(m.__experimentalToolsPanelContext),r=(0,c.useMemo)((()=>{var e;return{...null!=t?t:{},forwardedContext:[...null!==(e=t?.forwardedContext)&&void 0!==e?e:[],[m.__experimentalToolsPanelContext.Provider,{value:o}]]}}),[o,t]);return(0,c.createElement)(e,{...n,fillProps:r,bubblesVirtually:!0})}function na({__experimentalGroup:e,group:t="default",label:n,fillProps:o,...r}){e&&($()("`__experimentalGroup` property in `InspectorControlsSlot`",{since:"6.2",version:"6.4",alternative:"`group`"}),t=e);const l=Yi[t]?.Slot,i=(0,m.__experimentalUseSlotFills)(l?.__unstableName),a=(0,c.useContext)(m.__unstableMotionContext),s=(0,c.useMemo)((()=>{var e;return{...null!=o?o:{},forwardedContext:[...null!==(e=o?.forwardedContext)&&void 0!==e?e:[],[m.__unstableMotionContext.Provider,{value:a}]]}}),[a,o]);return l&&i?.length?n?(0,c.createElement)(ea,{group:t,label:n},(0,c.createElement)(ta,{...r,fillProps:s,Slot:l})):(0,c.createElement)(l,{...r,fillProps:s,bubblesVirtually:!0}):null}const oa=Xi;oa.Slot=na;const ra=e=>(0,c.createElement)(Xi,{...e,group:"advanced"});ra.Slot=e=>(0,c.createElement)(na,{...e,group:"advanced"}),ra.slotName="InspectorAdvancedControls";var la=oa;const ia=/[\s#]/g,aa={type:"string",source:"attribute",attribute:"id",selector:"*"};const sa=(0,p.createHigherOrderComponent)((e=>t=>{const n=(0,a.hasBlockSupport)(t.name,"anchor"),o=Ai();if(n&&t.isSelected){const n="web"===c.Platform.OS,r=(0,c.createElement)(m.TextControl,{__nextHasNoMarginBottom:!0,className:"html-anchor-control",label:(0,v.__)("HTML anchor"),help:(0,c.createElement)(c.Fragment,null,(0,v.__)("Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page."),n&&(0,c.createElement)(m.ExternalLink,{href:(0,v.__)("https://wordpress.org/documentation/article/page-jumps/")},(0,v.__)("Learn more about anchors"))),value:t.attributes.anchor||"",placeholder:n?null:(0,v.__)("Add an anchor"),onChange:e=>{e=e.replace(ia,"-"),t.setAttributes({anchor:e})},autoCapitalize:"none",autoComplete:"off"});return(0,c.createElement)(c.Fragment,null,(0,c.createElement)(e,{...t}),n&&"default"===o&&(0,c.createElement)(la,{group:"advanced"},r),!n&&"core/heading"===t.name&&(0,c.createElement)(la,null,(0,c.createElement)(m.PanelBody,{title:(0,v.__)("Heading settings")},r)))}return(0,c.createElement)(e,{...t})}),"withInspectorControl");(0,s.addFilter)("blocks.registerBlockType","core/anchor/attribute",(function(e){var t;return"type"in(null!==(t=e.attributes?.anchor)&&void 0!==t?t:{})||(0,a.hasBlockSupport)(e,"anchor")&&(e.attributes={...e.attributes,anchor:aa}),e})),(0,s.addFilter)("editor.BlockEdit","core/editor/anchor/with-inspector-control",sa),(0,s.addFilter)("blocks.getSaveContent.extraProps","core/anchor/save-props",(function(e,t,n){return(0,a.hasBlockSupport)(t,"anchor")&&(e.id=""===n.anchor?null:n.anchor),e}));const ca={type:"string",source:"attribute",attribute:"aria-label",selector:"*"};(0,s.addFilter)("blocks.registerBlockType","core/ariaLabel/attribute",(function(e){return e?.attributes?.ariaLabel?.type||(0,a.hasBlockSupport)(e,"ariaLabel")&&(e.attributes={...e.attributes,ariaLabel:ca}),e})),(0,s.addFilter)("blocks.getSaveContent.extraProps","core/ariaLabel/save-props",(function(e,t,n){return(0,a.hasBlockSupport)(t,"ariaLabel")&&(e["aria-label"]=""===n.ariaLabel?null:n.ariaLabel),e}));const ua=(0,p.createHigherOrderComponent)((e=>t=>{const n=Ai();return(0,a.hasBlockSupport)(t.name,"customClassName",!0)&&t.isSelected?(0,c.createElement)(c.Fragment,null,(0,c.createElement)(e,{...t}),"default"===n&&(0,c.createElement)(la,{group:"advanced"},(0,c.createElement)(m.TextControl,{__nextHasNoMarginBottom:!0,autoComplete:"off",label:(0,v.__)("Additional CSS class(es)"),value:t.attributes.className||"",onChange:e=>{t.setAttributes({className:""!==e?e:void 0})},help:(0,v.__)("Separate multiple classes with spaces.")}))):(0,c.createElement)(e,{...t})}),"withInspectorControl");(0,s.addFilter)("blocks.registerBlockType","core/custom-class-name/attribute",(function(e){return(0,a.hasBlockSupport)(e,"customClassName",!0)&&(e.attributes={...e.attributes,className:{type:"string"}}),e})),(0,s.addFilter)("editor.BlockEdit","core/editor/custom-class-name/with-inspector-control",ua),(0,s.addFilter)("blocks.getSaveContent.extraProps","core/custom-class-name/save-props",(function(e,t,n){return(0,a.hasBlockSupport)(t,"customClassName",!0)&&n.className&&(e.className=d()(e.className,n.className)),e})),(0,s.addFilter)("blocks.switchToBlockType.transformedBlock","core/color/addTransforms",(function(e,t,n,o){if(!(0,a.hasBlockSupport)(e.name,"customClassName",!0))return e;if(1===o.length&&e.innerBlocks.length===t.length)return e;if(1===o.length&&t.length>1||o.length>1&&1===t.length)return e;if(t[n]){const o=t[n]?.attributes.className;if(o)return{...e,attributes:{...e.attributes,className:o}}}return e})),(0,s.addFilter)("blocks.getSaveContent.extraProps","core/generated-class-name/save-props",(function(e,t){return(0,a.hasBlockSupport)(t,"className",!0)&&("string"==typeof e.className?e.className=[...new Set([(0,a.getBlockDefaultClassName)(t.name),...e.className.split(" ")])].join(" ").trim():e.className=(0,a.getBlockDefaultClassName)(t.name)),e}));var da=window.wp.dom;const pa=(0,c.createContext)({});function ma({value:e,children:t}){const n=(0,c.useContext)(pa),o=(0,c.useMemo)((()=>({...n,...e})),[n,e]);return(0,c.createElement)(pa.Provider,{value:o,children:t})}var fa=pa;const ga={},ha=(0,m.withFilters)("editor.BlockEdit")((e=>{const{name:t}=e,n=(0,a.getBlockType)(t);if(!n)return null;const o=n.edit||n.save;return(0,c.createElement)(o,{...e})}));var ba=e=>{const{attributes:t={},name:n}=e,o=(0,a.getBlockType)(n),r=(0,c.useContext)(fa),l=(0,c.useMemo)((()=>o&&o.usesContext?Object.fromEntries(Object.entries(r).filter((([e])=>o.usesContext.includes(e)))):ga),[o,r]);if(!o)return null;if(o.apiVersion>1)return(0,c.createElement)(ha,{...e,context:l});const i=(0,a.hasBlockSupport)(o,"className",!0)?(0,a.getBlockDefaultClassName)(n):null,s=d()(i,t.className,e.className);return(0,c.createElement)(ha,{...e,context:l,className:s})};function va(e){const{name:t,isSelected:n,clientId:o,attributes:r={},__unstableLayoutClassNames:l}=e,{layout:i=null}=r,s={name:t,isSelected:n,clientId:o,layout:(0,a.hasBlockSupport)(t,"layout",!1)||(0,a.hasBlockSupport)(t,"__experimentalLayout",!1)?i:null,__unstableLayoutClassNames:l};return(0,c.createElement)(or,{value:(0,c.useMemo)((()=>s),Object.values(s))},(0,c.createElement)(ba,{...e}))}var _a=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z"}));var ka=function({className:e,actions:t,children:n,secondaryActions:o}){return(0,c.createElement)("div",{style:{display:"contents",all:"initial"}},(0,c.createElement)("div",{className:d()(e,"block-editor-warning")},(0,c.createElement)("div",{className:"block-editor-warning__contents"},(0,c.createElement)("p",{className:"block-editor-warning__message"},n),(c.Children.count(t)>0||o)&&(0,c.createElement)("div",{className:"block-editor-warning__actions"},c.Children.count(t)>0&&c.Children.map(t,((e,t)=>(0,c.createElement)("span",{key:t,className:"block-editor-warning__action"},e))),o&&(0,c.createElement)(m.DropdownMenu,{className:"block-editor-warning__secondary",icon:_a,label:(0,v.__)("More options"),popoverProps:{position:"bottom left",className:"block-editor-warning__dropdown"},noIcons:!0},(()=>(0,c.createElement)(m.MenuGroup,null,o.map(((e,t)=>(0,c.createElement)(m.MenuItem,{onClick:e.onClick,key:t},e.title))))))))))},ya=n(1973);function Ea({title:e,rawContent:t,renderedContent:n,action:o,actionText:r,className:l}){return(0,c.createElement)("div",{className:l},(0,c.createElement)("div",{className:"block-editor-block-compare__content"},(0,c.createElement)("h2",{className:"block-editor-block-compare__heading"},e),(0,c.createElement)("div",{className:"block-editor-block-compare__html"},t),(0,c.createElement)("div",{className:"block-editor-block-compare__preview edit-post-visual-editor"},(0,c.createElement)(c.RawHTML,null,(0,da.safeHTML)(n)))),(0,c.createElement)("div",{className:"block-editor-block-compare__action"},(0,c.createElement)(m.Button,{variant:"secondary",tabIndex:"0",onClick:o},r)))}var Sa=function({block:e,onKeep:t,onConvert:n,convertor:o,convertButtonText:r}){const l=(i=o(e),(Array.isArray(i)?i:[i]).map((e=>(0,a.getSaveContent)(e.name,e.attributes,e.innerBlocks))).join(""));var i;const s=(u=e.originalContent,p=l,(0,ya.Kx)(u,p).map(((e,t)=>{const n=d()({"block-editor-block-compare__added":e.added,"block-editor-block-compare__removed":e.removed});return(0,c.createElement)("span",{key:t,className:n},e.value)})));var u,p;return(0,c.createElement)("div",{className:"block-editor-block-compare__wrapper"},(0,c.createElement)(Ea,{title:(0,v.__)("Current"),className:"block-editor-block-compare__current",action:t,actionText:(0,v.__)("Convert to HTML"),rawContent:e.originalContent,renderedContent:e.originalContent}),(0,c.createElement)(Ea,{title:(0,v.__)("After Conversion"),className:"block-editor-block-compare__converted",action:n,actionText:r,rawContent:s,renderedContent:l}))};const wa=e=>(0,a.rawHandler)({HTML:e.originalContent});function Ca({clientId:e}){const{block:t,canInsertHTMLBlock:n,canInsertClassicBlock:o}=(0,f.useSelect)((t=>{const{canInsertBlockType:n,getBlock:o,getBlockRootClientId:r}=t(Jo),l=r(e);return{block:o(e),canInsertHTMLBlock:n("core/html",l),canInsertClassicBlock:n("core/freeform",l)}}),[e]),{replaceBlock:r}=(0,f.useDispatch)(Jo),[l,i]=(0,c.useState)(!1),s=(0,c.useCallback)((()=>i(!1)),[]),u=(0,c.useMemo)((()=>({toClassic(){const e=(0,a.createBlock)("core/freeform",{content:t.originalContent});return r(t.clientId,e)},toHTML(){const e=(0,a.createBlock)("core/html",{content:t.originalContent});return r(t.clientId,e)},toBlocks(){const e=wa(t);return r(t.clientId,e)},toRecoveredBlock(){const e=(0,a.createBlock)(t.name,t.attributes,t.innerBlocks);return r(t.clientId,e)}})),[t,r]),d=(0,c.useMemo)((()=>[{title:(0,v._x)("Resolve","imperative verb"),onClick:()=>i(!0)},n&&{title:(0,v.__)("Convert to HTML"),onClick:u.toHTML},o&&{title:(0,v.__)("Convert to Classic Block"),onClick:u.toClassic}].filter(Boolean)),[n,o,u]);return(0,c.createElement)(c.Fragment,null,(0,c.createElement)(ka,{actions:[(0,c.createElement)(m.Button,{key:"recover",onClick:u.toRecoveredBlock,variant:"primary"},(0,v.__)("Attempt Block Recovery"))],secondaryActions:d},(0,v.__)("This block contains unexpected or invalid content.")),l&&(0,c.createElement)(m.Modal,{title:(0,v.__)("Resolve Block"),onRequestClose:s,className:"block-editor-block-compare"},(0,c.createElement)(Sa,{block:t,onKeep:u.toHTML,onConvert:u.toBlocks,convertor:wa,convertButtonText:(0,v.__)("Convert to Blocks")})))}const xa=(0,c.createElement)(ka,{className:"block-editor-block-list__block-crash-warning"},(0,v.__)("This block has encountered an error and cannot be previewed."));var Ba=()=>xa;class Ia extends c.Component{constructor(){super(...arguments),this.state={hasError:!1}}componentDidCatch(){this.setState({hasError:!0})}render(){return this.state.hasError?this.props.fallback:this.props.children}}var Ta=Ia,Ma=n(773);var Pa=function({clientId:e}){const[t,n]=(0,c.useState)(""),o=(0,f.useSelect)((t=>t(Jo).getBlock(e)),[e]),{updateBlock:r}=(0,f.useDispatch)(Jo);return(0,c.useEffect)((()=>{n((0,a.getBlockContent)(o))}),[o]),(0,c.createElement)(Ma.Z,{className:"block-editor-block-list__block-html-textarea",value:t,onBlur:()=>{const l=(0,a.getBlockType)(o.name);if(!l)return;const i=(0,a.getBlockAttributes)(l,t,o.attributes),s=t||(0,a.getSaveContent)(l,i),[c]=t?(0,a.validateBlock)({...o,attributes:i,originalContent:s}):[!0];r(e,{attributes:i,originalContent:s,isValid:c}),t||n(s)},onChange:e=>n(e.target.value)})},Na=n(9196),La=n.n(Na),Ra=Object.defineProperty,Aa={};((e,t)=>{for(var n in t)Ra(e,n,{get:t[n],enumerable:!0})})(Aa,{assign:()=>fs,colors:()=>ds,createStringInterpolator:()=>as,skipAnimation:()=>ps,to:()=>ss,willAdvance:()=>ms});var Da=Qa(),Oa=e=>qa(e,Da),za=Qa();Oa.write=e=>qa(e,za);var Va=Qa();Oa.onStart=e=>qa(e,Va);var Fa=Qa();Oa.onFrame=e=>qa(e,Fa);var Ha=Qa();Oa.onFinish=e=>qa(e,Ha);var Ga=[];Oa.setTimeout=(e,t)=>{const n=Oa.now()+t,o=()=>{const e=Ga.findIndex((e=>e.cancel==o));~e&&Ga.splice(e,1),Wa-=~e?1:0},r={time:n,handler:e,cancel:o};return Ga.splice(Ua(n),0,r),Wa+=1,Za(),r};var Ua=e=>~(~Ga.findIndex((t=>t.time>e))||~Ga.length);Oa.cancel=e=>{Va.delete(e),Fa.delete(e),Ha.delete(e),Da.delete(e),za.delete(e)},Oa.sync=e=>{Ka=!0,Oa.batchedUpdates(e),Ka=!1},Oa.throttle=e=>{let t;function n(){try{e(...t)}finally{t=null}}function o(...e){t=e,Oa.onStart(n)}return o.handler=e,o.cancel=()=>{Va.delete(n),t=null},o};var $a="undefined"!=typeof window?window.requestAnimationFrame:()=>{};Oa.use=e=>$a=e,Oa.now="undefined"!=typeof performance?()=>performance.now():Date.now,Oa.batchedUpdates=e=>e(),Oa.catch=console.error,Oa.frameLoop="always",Oa.advance=()=>{"demand"!==Oa.frameLoop?console.warn("Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"):Xa()};var ja=-1,Wa=0,Ka=!1;function qa(e,t){Ka?(t.delete(e),e(0)):(t.add(e),Za())}function Za(){ja<0&&(ja=0,"demand"!==Oa.frameLoop&&$a(Ya))}function Ya(){~ja&&($a(Ya),Oa.batchedUpdates(Xa))}function Xa(){const e=ja;ja=Oa.now();const t=Ua(ja);t&&(Ja(Ga.splice(0,t),(e=>e.handler())),Wa-=t),Wa?(Va.flush(),Da.flush(e?Math.min(64,ja-e):16.667),Fa.flush(),za.flush(),Ha.flush()):ja=-1}function Qa(){let e=new Set,t=e;return{add(n){Wa+=t!=e||e.has(n)?0:1,e.add(n)},delete(n){return Wa-=t==e&&e.has(n)?1:0,e.delete(n)},flush(n){t.size&&(e=new Set,Wa-=t.size,Ja(t,(t=>t(n)&&e.add(t))),Wa+=e.size,t=e)}}}function Ja(e,t){e.forEach((e=>{try{t(e)}catch(e){Oa.catch(e)}}))}function es(){}var ts={arr:Array.isArray,obj:e=>!!e&&"Object"===e.constructor.name,fun:e=>"function"==typeof e,str:e=>"string"==typeof e,num:e=>"number"==typeof e,und:e=>void 0===e};function ns(e,t){if(ts.arr(e)){if(!ts.arr(t)||e.length!==t.length)return!1;for(let n=0;ne.forEach(t);function rs(e,t,n){if(ts.arr(e))for(let o=0;ots.und(e)?[]:ts.arr(e)?e:[e];function is(e,t){if(e.size){const n=Array.from(e);e.clear(),os(n,t)}}var as,ss,cs=(e,...t)=>is(e,(e=>e(...t))),us=()=>"undefined"==typeof window||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),ds=null,ps=!1,ms=es,fs=e=>{e.to&&(ss=e.to),e.now&&(Oa.now=e.now),void 0!==e.colors&&(ds=e.colors),null!=e.skipAnimation&&(ps=e.skipAnimation),e.createStringInterpolator&&(as=e.createStringInterpolator),e.requestAnimationFrame&&Oa.use(e.requestAnimationFrame),e.batchedUpdates&&(Oa.batchedUpdates=e.batchedUpdates),e.willAdvance&&(ms=e.willAdvance),e.frameLoop&&(Oa.frameLoop=e.frameLoop)},gs=new Set,hs=[],bs=[],vs=0,_s={get idle(){return!gs.size&&!hs.length},start(e){vs>e.priority?(gs.add(e),Oa.onStart(ks)):(ys(e),Oa(Ss))},advance:Ss,sort(e){if(vs)Oa.onFrame((()=>_s.sort(e)));else{const t=hs.indexOf(e);~t&&(hs.splice(t,1),Es(e))}},clear(){hs=[],gs.clear()}};function ks(){gs.forEach(ys),gs.clear(),Oa(Ss)}function ys(e){hs.includes(e)||Es(e)}function Es(e){hs.splice(function(e,t){const n=e.findIndex(t);return n<0?e.length:n}(hs,(t=>t.priority>e.priority)),0,e)}function Ss(e){const t=bs;for(let n=0;n0}var ws="[-+]?\\d*\\.?\\d+",Cs=ws+"%";function xs(...e){return"\\(\\s*("+e.join(")\\s*,\\s*(")+")\\s*\\)"}var Bs=new RegExp("rgb"+xs(ws,ws,ws)),Is=new RegExp("rgba"+xs(ws,ws,ws,ws)),Ts=new RegExp("hsl"+xs(ws,Cs,Cs)),Ms=new RegExp("hsla"+xs(ws,Cs,Cs,ws)),Ps=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,Ns=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,Ls=/^#([0-9a-fA-F]{6})$/,Rs=/^#([0-9a-fA-F]{8})$/;function As(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Ds(e,t,n){const o=n<.5?n*(1+t):n+t-n*t,r=2*n-o,l=As(r,o,e+1/3),i=As(r,o,e),a=As(r,o,e-1/3);return Math.round(255*l)<<24|Math.round(255*i)<<16|Math.round(255*a)<<8}function Os(e){const t=parseInt(e,10);return t<0?0:t>255?255:t}function zs(e){return(parseFloat(e)%360+360)%360/360}function Vs(e){const t=parseFloat(e);return t<0?0:t>1?255:Math.round(255*t)}function Fs(e){const t=parseFloat(e);return t<0?0:t>100?1:t/100}function Hs(e){let t=function(e){let t;return"number"==typeof e?e>>>0===e&&e>=0&&e<=4294967295?e:null:(t=Ls.exec(e))?parseInt(t[1]+"ff",16)>>>0:ds&&void 0!==ds[e]?ds[e]:(t=Bs.exec(e))?(Os(t[1])<<24|Os(t[2])<<16|Os(t[3])<<8|255)>>>0:(t=Is.exec(e))?(Os(t[1])<<24|Os(t[2])<<16|Os(t[3])<<8|Vs(t[4]))>>>0:(t=Ps.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+"ff",16)>>>0:(t=Rs.exec(e))?parseInt(t[1],16)>>>0:(t=Ns.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+t[4]+t[4],16)>>>0:(t=Ts.exec(e))?(255|Ds(zs(t[1]),Fs(t[2]),Fs(t[3])))>>>0:(t=Ms.exec(e))?(Ds(zs(t[1]),Fs(t[2]),Fs(t[3]))|Vs(t[4]))>>>0:null}(e);if(null===t)return e;t=t||0;return`rgba(${(4278190080&t)>>>24}, ${(16711680&t)>>>16}, ${(65280&t)>>>8}, ${(255&t)/255})`}var Gs=(e,t,n)=>{if(ts.fun(e))return e;if(ts.arr(e))return Gs({range:e,output:t,extrapolate:n});if(ts.str(e.output[0]))return as(e);const o=e,r=o.output,l=o.range||[0,1],i=o.extrapolateLeft||o.extrapolate||"extend",a=o.extrapolateRight||o.extrapolate||"extend",s=o.easing||(e=>e);return e=>{const t=function(e,t){for(var n=1;n=e);++n);return n-1}(e,l);return function(e,t,n,o,r,l,i,a,s){let c=s?s(e):e;if(cn){if("identity"===a)return c;"clamp"===a&&(c=n)}if(o===r)return o;if(t===n)return e<=t?o:r;t===-1/0?c=-c:n===1/0?c-=t:c=(c-t)/(n-t);c=l(c),o===-1/0?c=-c:r===1/0?c+=o:c=c*(r-o)+o;return c}(e,l[t],l[t+1],r[t],r[t+1],s,i,a,o.map)}};var Us=1.70158,$s=1.525*Us,js=Us+1,Ws=2*Math.PI/3,Ks=2*Math.PI/4.5,qs=e=>{const t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375},Zs={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>1-(1-e)*(1-e),easeInOutQuad:e=>e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2,easeInCubic:e=>e*e*e,easeOutCubic:e=>1-Math.pow(1-e,3),easeInOutCubic:e=>e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1-Math.pow(1-e,4),easeInOutQuart:e=>e<.5?8*e*e*e*e:1-Math.pow(-2*e+2,4)/2,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1-Math.pow(1-e,5),easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1-Math.pow(-2*e+2,5)/2,easeInSine:e=>1-Math.cos(e*Math.PI/2),easeOutSine:e=>Math.sin(e*Math.PI/2),easeInOutSine:e=>-(Math.cos(Math.PI*e)-1)/2,easeInExpo:e=>0===e?0:Math.pow(2,10*e-10),easeOutExpo:e=>1===e?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>0===e?0:1===e?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2,easeInCirc:e=>1-Math.sqrt(1-Math.pow(e,2)),easeOutCirc:e=>Math.sqrt(1-Math.pow(e-1,2)),easeInOutCirc:e=>e<.5?(1-Math.sqrt(1-Math.pow(2*e,2)))/2:(Math.sqrt(1-Math.pow(-2*e+2,2))+1)/2,easeInBack:e=>js*e*e*e-Us*e*e,easeOutBack:e=>1+js*Math.pow(e-1,3)+Us*Math.pow(e-1,2),easeInOutBack:e=>e<.5?Math.pow(2*e,2)*(7.189819*e-$s)/2:(Math.pow(2*e-2,2)*(($s+1)*(2*e-2)+$s)+2)/2,easeInElastic:e=>0===e?0:1===e?1:-Math.pow(2,10*e-10)*Math.sin((10*e-10.75)*Ws),easeOutElastic:e=>0===e?0:1===e?1:Math.pow(2,-10*e)*Math.sin((10*e-.75)*Ws)+1,easeInOutElastic:e=>0===e?0:1===e?1:e<.5?-Math.pow(2,20*e-10)*Math.sin((20*e-11.125)*Ks)/2:Math.pow(2,-20*e+10)*Math.sin((20*e-11.125)*Ks)/2+1,easeInBounce:e=>1-qs(1-e),easeOutBounce:qs,easeInOutBounce:e=>e<.5?(1-qs(1-2*e))/2:(1+qs(2*e-1))/2,steps:(e,t="end")=>n=>{const o=(n="end"===t?Math.min(n,.999):Math.max(n,.001))*e;return((e,t,n)=>Math.min(Math.max(n,e),t))(0,1,("end"===t?Math.floor(o):Math.ceil(o))/e)}},Ys=Symbol.for("FluidValue.get"),Xs=Symbol.for("FluidValue.observers"),Qs=e=>Boolean(e&&e[Ys]),Js=e=>e&&e[Ys]?e[Ys]():e,ec=e=>e[Xs]||null;function tc(e,t){const n=e[Xs];n&&n.forEach((e=>{!function(e,t){e.eventObserved?e.eventObserved(t):e(t)}(e,t)}))}var nc=class{constructor(e){if(!e&&!(e=this.get))throw Error("Unknown getter");oc(this,e)}},oc=(e,t)=>ac(e,Ys,t);function rc(e,t){if(e[Ys]){let n=e[Xs];n||ac(e,Xs,n=new Set),n.has(t)||(n.add(t),e.observerAdded&&e.observerAdded(n.size,t))}return t}function lc(e,t){const n=e[Xs];if(n&&n.has(t)){const o=n.size-1;o?n.delete(t):e[Xs]=null,e.observerRemoved&&e.observerRemoved(o,t)}}var ic,ac=(e,t,n)=>Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0}),sc=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,cc=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,uc=new RegExp(`(${sc.source})(%|[a-z]+)`,"i"),dc=/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,pc=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/,mc=e=>{const[t,n]=fc(e);if(!t||us())return e;const o=window.getComputedStyle(document.documentElement).getPropertyValue(t);if(o)return o.trim();if(n&&n.startsWith("--")){const t=window.getComputedStyle(document.documentElement).getPropertyValue(n);return t||e}return n&&pc.test(n)?mc(n):n||e},fc=e=>{const t=pc.exec(e);if(!t)return[,];const[,n,o]=t;return[n,o]},gc=(e,t,n,o,r)=>`rgba(${Math.round(t)}, ${Math.round(n)}, ${Math.round(o)}, ${r})`,hc=e=>{ic||(ic=ds?new RegExp(`(${Object.keys(ds).join("|")})(?!\\w)`,"g"):/^\b$/);const t=e.output.map((e=>Js(e).replace(pc,mc).replace(cc,Hs).replace(ic,Hs))),n=t.map((e=>e.match(sc).map(Number))),o=n[0].map(((e,t)=>n.map((e=>{if(!(t in e))throw Error('The arity of each "output" value must be equal');return e[t]})))),r=o.map((t=>Gs({...e,output:t})));return e=>{const n=!uc.test(t[0])&&t.find((e=>uc.test(e)))?.replace(sc,"");let o=0;return t[0].replace(sc,(()=>`${r[o++](e)}${n||""}`)).replace(dc,gc)}},bc="react-spring: ",vc=e=>{const t=e;let n=!1;if("function"!=typeof t)throw new TypeError(`${bc}once requires a function parameter`);return(...e)=>{n||(t(...e),n=!0)}},_c=vc(console.warn);var kc=vc(console.warn);function yc(e){return ts.str(e)&&("#"==e[0]||/\d/.test(e)||!us()&&pc.test(e)||e in(ds||{}))}var Ec=us()?Na.useEffect:Na.useLayoutEffect,Sc=()=>{const e=(0,Na.useRef)(!1);return Ec((()=>(e.current=!0,()=>{e.current=!1})),[]),e};function wc(){const e=(0,Na.useState)()[1],t=Sc();return()=>{t.current&&e(Math.random())}}var Cc=e=>(0,Na.useEffect)(e,xc),xc=[];function Bc(e){const t=(0,Na.useRef)();return(0,Na.useEffect)((()=>{t.current=e})),t.current}var Ic=Symbol.for("Animated:node"),Tc=e=>e&&e[Ic],Mc=(e,t)=>{return n=e,o=Ic,r=t,Object.defineProperty(n,o,{value:r,writable:!0,configurable:!0});var n,o,r},Pc=e=>e&&e[Ic]&&e[Ic].getPayload(),Nc=class{constructor(){Mc(this,this)}getPayload(){return this.payload||[]}},Lc=class extends Nc{constructor(e){super(),this._value=e,this.done=!0,this.durationProgress=0,ts.num(this._value)&&(this.lastPosition=this._value)}static create(e){return new Lc(e)}getPayload(){return[this]}getValue(){return this._value}setValue(e,t){return ts.num(e)&&(this.lastPosition=e,t&&(e=Math.round(e/t)*t,this.done&&(this.lastPosition=e))),this._value!==e&&(this._value=e,!0)}reset(){const{done:e}=this;this.done=!1,ts.num(this._value)&&(this.elapsedTime=0,this.durationProgress=0,this.lastPosition=this._value,e&&(this.lastVelocity=null),this.v0=null)}},Rc=class extends Lc{constructor(e){super(0),this._string=null,this._toString=Gs({output:[e,e]})}static create(e){return new Rc(e)}getValue(){const e=this._string;return null==e?this._string=this._toString(this._value):e}setValue(e){if(ts.str(e)){if(e==this._string)return!1;this._string=e,this._value=1}else{if(!super.setValue(e))return!1;this._string=null}return!0}reset(e){e&&(this._toString=Gs({output:[this.getValue(),e]})),this._value=0,super.reset()}},Ac={dependencies:null},Dc=class extends Nc{constructor(e){super(),this.source=e,this.setValue(e)}getValue(e){const t={};return rs(this.source,((n,o)=>{var r;(r=n)&&r[Ic]===r?t[o]=n.getValue(e):Qs(n)?t[o]=Js(n):e||(t[o]=n)})),t}setValue(e){this.source=e,this.payload=this._makePayload(e)}reset(){this.payload&&os(this.payload,(e=>e.reset()))}_makePayload(e){if(e){const t=new Set;return rs(e,this._addToPayload,t),Array.from(t)}}_addToPayload(e){Ac.dependencies&&Qs(e)&&Ac.dependencies.add(e);const t=Pc(e);t&&os(t,(e=>this.add(e)))}},Oc=class extends Dc{constructor(e){super(e)}static create(e){return new Oc(e)}getValue(){return this.source.map((e=>e.getValue()))}setValue(e){const t=this.getPayload();return e.length==t.length?t.map(((t,n)=>t.setValue(e[n]))).some(Boolean):(super.setValue(e.map(zc)),!0)}};function zc(e){return(yc(e)?Rc:Lc).create(e)}function Vc(e){const t=Tc(e);return t?t.constructor:ts.arr(e)?Oc:yc(e)?Rc:Lc}var Fc=(e,t)=>{const n=!ts.fun(e)||e.prototype&&e.prototype.isReactComponent;return(0,Na.forwardRef)(((o,r)=>{const l=(0,Na.useRef)(null),i=n&&(0,Na.useCallback)((e=>{l.current=function(e,t){e&&(ts.fun(e)?e(t):e.current=t);return t}(r,e)}),[r]),[a,s]=function(e,t){const n=new Set;Ac.dependencies=n,e.style&&(e={...e,style:t.createAnimatedStyle(e.style)});return e=new Dc(e),Ac.dependencies=null,[e,n]}(o,t),c=wc(),u=()=>{const e=l.current;if(n&&!e)return;!1===(!!e&&t.applyAnimatedValues(e,a.getValue(!0)))&&c()},d=new Hc(u,s),p=(0,Na.useRef)();Ec((()=>(p.current=d,os(s,(e=>rc(e,d))),()=>{p.current&&(os(p.current.deps,(e=>lc(e,p.current))),Oa.cancel(p.current.update))}))),(0,Na.useEffect)(u,[]),Cc((()=>()=>{const e=p.current;os(e.deps,(t=>lc(t,e)))}));const m=t.getComponentProps(a.getValue());return Na.createElement(e,{...m,ref:i})}))},Hc=class{constructor(e,t){this.update=e,this.deps=t}eventObserved(e){"change"==e.type&&Oa.write(this.update)}};var Gc=Symbol.for("AnimatedComponent"),Uc=e=>ts.str(e)?e:e&&ts.str(e.displayName)?e.displayName:ts.fun(e)&&e.name||null;function $c(e,...t){return ts.fun(e)?e(...t):e}var jc=(e,t)=>!0===e||!!(t&&e&&(ts.fun(e)?e(t):ls(e).includes(t))),Wc=(e,t)=>ts.obj(e)?t&&e[t]:e,Kc=(e,t)=>!0===e.default?e[t]:e.default?e.default[t]:void 0,qc=e=>e,Zc=(e,t=qc)=>{let n=Yc;e.default&&!0!==e.default&&(e=e.default,n=Object.keys(e));const o={};for(const r of n){const n=t(e[r],r);ts.und(n)||(o[r]=n)}return o},Yc=["config","onProps","onStart","onChange","onPause","onResume","onRest"],Xc={config:1,from:1,to:1,ref:1,loop:1,reset:1,pause:1,cancel:1,reverse:1,immediate:1,default:1,delay:1,onProps:1,onStart:1,onChange:1,onPause:1,onResume:1,onRest:1,onResolve:1,items:1,trail:1,sort:1,expires:1,initial:1,enter:1,update:1,leave:1,children:1,onDestroyed:1,keys:1,callId:1,parentId:1};function Qc(e){const t=function(e){const t={};let n=0;if(rs(e,((e,o)=>{Xc[o]||(t[o]=e,n++)})),n)return t}(e);if(t){const n={to:t};return rs(e,((e,o)=>o in t||(n[o]=e))),n}return{...e}}function Jc(e){return e=Js(e),ts.arr(e)?e.map(Jc):yc(e)?Aa.createStringInterpolator({range:[0,1],output:[e,e]})(1):e}function eu(e){for(const t in e)return!0;return!1}function tu(e){return ts.fun(e)||ts.arr(e)&&ts.obj(e[0])}function nu(e,t){e.ref?.delete(e),t?.delete(e)}function ou(e,t){t&&e.ref!==t&&(e.ref?.delete(e),t.add(e),e.ref=t)}var ru={tension:170,friction:26,mass:1,damping:1,easing:Zs.linear,clamp:!1};function lu(e,t){if(ts.und(t.decay)){const n=!ts.und(t.tension)||!ts.und(t.friction);!n&&ts.und(t.frequency)&&ts.und(t.damping)&&ts.und(t.mass)||(e.duration=void 0,e.decay=void 0),n&&(e.frequency=void 0)}else e.duration=void 0}var iu=[];function au(e,{key:t,props:n,defaultProps:o,state:r,actions:l}){return new Promise(((i,a)=>{let s,c,u=jc(n.cancel??o?.cancel,t);if(u)m();else{ts.und(n.pause)||(r.paused=jc(n.pause,t));let e=o?.pause;!0!==e&&(e=r.paused||jc(e,t)),s=$c(n.delay||0,t),e?(r.resumeQueue.add(p),l.pause()):(l.resume(),p())}function d(){r.resumeQueue.add(p),r.timeouts.delete(c),c.cancel(),s=c.time-Oa.now()}function p(){s>0&&!Aa.skipAnimation?(r.delayed=!0,c=Oa.setTimeout(m,s),r.pauseQueue.add(d),r.timeouts.add(c)):m()}function m(){r.delayed&&(r.delayed=!1),r.pauseQueue.delete(d),r.timeouts.delete(c),e<=(r.cancelId||0)&&(u=!0);try{l.start({...n,callId:e,cancel:u},i)}catch(e){a(e)}}}))}var su=(e,t)=>1==t.length?t[0]:t.some((e=>e.cancelled))?du(e.get()):t.every((e=>e.noop))?cu(e.get()):uu(e.get(),t.every((e=>e.finished))),cu=e=>({value:e,noop:!0,finished:!0,cancelled:!1}),uu=(e,t,n=!1)=>({value:e,finished:t,cancelled:n}),du=e=>({value:e,cancelled:!0,finished:!1});function pu(e,t,n,o){const{callId:r,parentId:l,onRest:i}=t,{asyncTo:a,promise:s}=n;return l||e!==a||t.reset?n.promise=(async()=>{n.asyncId=r,n.asyncTo=e;const c=Zc(t,((e,t)=>"onRest"===t?void 0:e));let u,d;const p=new Promise(((e,t)=>(u=e,d=t))),m=e=>{const t=r<=(n.cancelId||0)&&du(o)||r!==n.asyncId&&uu(o,!1);if(t)throw e.result=t,d(e),e},f=(e,t)=>{const l=new fu,i=new gu;return(async()=>{if(Aa.skipAnimation)throw mu(n),i.result=uu(o,!1),d(i),i;m(l);const a=ts.obj(e)?{...e}:{...t,to:e};a.parentId=r,rs(c,((e,t)=>{ts.und(a[t])&&(a[t]=e)}));const s=await o.start(a);return m(l),n.paused&&await new Promise((e=>{n.resumeQueue.add(e)})),s})()};let g;if(Aa.skipAnimation)return mu(n),uu(o,!1);try{let t;t=ts.arr(e)?(async e=>{for(const t of e)await f(t)})(e):Promise.resolve(e(f,o.stop.bind(o))),await Promise.all([t.then(u),p]),g=uu(o.get(),!0,!1)}catch(e){if(e instanceof fu)g=e.result;else{if(!(e instanceof gu))throw e;g=e.result}}finally{r==n.asyncId&&(n.asyncId=l,n.asyncTo=l?a:void 0,n.promise=l?s:void 0)}return ts.fun(i)&&Oa.batchedUpdates((()=>{i(g,o,o.item)})),g})():s}function mu(e,t){is(e.timeouts,(e=>e.cancel())),e.pauseQueue.clear(),e.resumeQueue.clear(),e.asyncId=e.asyncTo=e.promise=void 0,t&&(e.cancelId=t)}var fu=class extends Error{constructor(){super("An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise.")}},gu=class extends Error{constructor(){super("SkipAnimationSignal")}},hu=e=>e instanceof vu,bu=1,vu=class extends nc{constructor(){super(...arguments),this.id=bu++,this._priority=0}get priority(){return this._priority}set priority(e){this._priority!=e&&(this._priority=e,this._onPriorityChange(e))}get(){const e=Tc(this);return e&&e.getValue()}to(...e){return Aa.to(this,e)}interpolate(...e){return _c(`${bc}The "interpolate" function is deprecated in v9 (use "to" instead)`),Aa.to(this,e)}toJSON(){return this.get()}observerAdded(e){1==e&&this._attach()}observerRemoved(e){0==e&&this._detach()}_attach(){}_detach(){}_onChange(e,t=!1){tc(this,{type:"change",parent:this,value:e,idle:t})}_onPriorityChange(e){this.idle||_s.sort(this),tc(this,{type:"priority",parent:this,priority:e})}},_u=Symbol.for("SpringPhase"),ku=e=>(1&e[_u])>0,yu=e=>(2&e[_u])>0,Eu=e=>(4&e[_u])>0,Su=(e,t)=>t?e[_u]|=3:e[_u]&=-3,wu=(e,t)=>t?e[_u]|=4:e[_u]&=-5,Cu=class extends vu{constructor(e,t){if(super(),this.animation=new class{constructor(){this.changed=!1,this.values=iu,this.toValues=null,this.fromValues=iu,this.config=new class{constructor(){this.velocity=0,Object.assign(this,ru)}},this.immediate=!1}},this.defaultProps={},this._state={paused:!1,delayed:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set},this._pendingCalls=new Set,this._lastCallId=0,this._lastToId=0,this._memoizedDuration=0,!ts.und(e)||!ts.und(t)){const n=ts.obj(e)?{...e}:{...t,from:e};ts.und(n.default)&&(n.default=!0),this.start(n)}}get idle(){return!(yu(this)||this._state.asyncTo)||Eu(this)}get goal(){return Js(this.animation.to)}get velocity(){const e=Tc(this);return e instanceof Lc?e.lastVelocity||0:e.getPayload().map((e=>e.lastVelocity||0))}get hasAnimated(){return ku(this)}get isAnimating(){return yu(this)}get isPaused(){return Eu(this)}get isDelayed(){return this._state.delayed}advance(e){let t=!0,n=!1;const o=this.animation;let{toValues:r}=o;const{config:l}=o,i=Pc(o.to);!i&&Qs(o.to)&&(r=ls(Js(o.to))),o.values.forEach(((a,s)=>{if(a.done)return;const c=a.constructor==Rc?1:i?i[s].lastPosition:r[s];let u=o.immediate,d=c;if(!u){if(d=a.lastPosition,l.tension<=0)return void(a.done=!0);let t=a.elapsedTime+=e;const n=o.fromValues[s],r=null!=a.v0?a.v0:a.v0=ts.arr(l.velocity)?l.velocity[s]:l.velocity;let i;const p=l.precision||(n==c?.005:Math.min(1,.001*Math.abs(c-n)));if(ts.und(l.duration))if(l.decay){const e=!0===l.decay?.998:l.decay,o=Math.exp(-(1-e)*t);d=n+r/(1-e)*(1-o),u=Math.abs(a.lastPosition-d)<=p,i=r*o}else{i=null==a.lastVelocity?r:a.lastVelocity;const t=l.restVelocity||p/10,o=l.clamp?0:l.bounce,s=!ts.und(o),m=n==c?a.v0>0:nt,f||(u=Math.abs(c-d)<=p,!u));++e){s&&(g=d==c||d>c==m,g&&(i=-i*o,d=c));i+=(1e-6*-l.tension*(d-c)+.001*-l.friction*i)/l.mass*h,d+=i*h}}else{let o=1;l.duration>0&&(this._memoizedDuration!==l.duration&&(this._memoizedDuration=l.duration,a.durationProgress>0&&(a.elapsedTime=l.duration*a.durationProgress,t=a.elapsedTime+=e)),o=(l.progress||0)+t/this._memoizedDuration,o=o>1?1:o<0?0:o,a.durationProgress=o),d=n+l.easing(o)*(c-n),i=(d-a.lastPosition)/e,u=1==o}a.lastVelocity=i,Number.isNaN(d)&&(console.warn("Got NaN while animating:",this),u=!0)}i&&!i[s].done&&(u=!1),u?a.done=!0:t=!1,a.setValue(d,l.round)&&(n=!0)}));const a=Tc(this),s=a.getValue();if(t){const e=Js(o.to);s===e&&!n||l.decay?n&&l.decay&&this._onChange(s):(a.setValue(e),this._onChange(e)),this._stop()}else n&&this._onChange(s)}set(e){return Oa.batchedUpdates((()=>{this._stop(),this._focus(e),this._set(e)})),this}pause(){this._update({pause:!0})}resume(){this._update({pause:!1})}finish(){if(yu(this)){const{to:e,config:t}=this.animation;Oa.batchedUpdates((()=>{this._onStart(),t.decay||this._set(e,!1),this._stop()}))}return this}update(e){return(this.queue||(this.queue=[])).push(e),this}start(e,t){let n;return ts.und(e)?(n=this.queue||[],this.queue=[]):n=[ts.obj(e)?e:{...t,to:e}],Promise.all(n.map((e=>this._update(e)))).then((e=>su(this,e)))}stop(e){const{to:t}=this.animation;return this._focus(this.get()),mu(this._state,e&&this._lastCallId),Oa.batchedUpdates((()=>this._stop(t,e))),this}reset(){this._update({reset:!0})}eventObserved(e){"change"==e.type?this._start():"priority"==e.type&&(this.priority=e.priority+1)}_prepareNode(e){const t=this.key||"";let{to:n,from:o}=e;n=ts.obj(n)?n[t]:n,(null==n||tu(n))&&(n=void 0),o=ts.obj(o)?o[t]:o,null==o&&(o=void 0);const r={to:n,from:o};return ku(this)||(e.reverse&&([n,o]=[o,n]),o=Js(o),ts.und(o)?Tc(this)||this._set(n):this._set(o)),r}_update({...e},t){const{key:n,defaultProps:o}=this;e.default&&Object.assign(o,Zc(e,((e,t)=>/^on/.test(t)?Wc(e,n):e))),Nu(this,e,"onProps"),Lu(this,"onProps",e,this);const r=this._prepareNode(e);if(Object.isFrozen(this))throw Error("Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?");const l=this._state;return au(++this._lastCallId,{key:n,props:e,defaultProps:o,state:l,actions:{pause:()=>{Eu(this)||(wu(this,!0),cs(l.pauseQueue),Lu(this,"onPause",uu(this,xu(this,this.animation.to)),this))},resume:()=>{Eu(this)&&(wu(this,!1),yu(this)&&this._resume(),cs(l.resumeQueue),Lu(this,"onResume",uu(this,xu(this,this.animation.to)),this))},start:this._merge.bind(this,r)}}).then((n=>{if(e.loop&&n.finished&&(!t||!n.noop)){const t=Bu(e);if(t)return this._update(t,!0)}return n}))}_merge(e,t,n){if(t.cancel)return this.stop(!0),n(du(this));const o=!ts.und(e.to),r=!ts.und(e.from);if(o||r){if(!(t.callId>this._lastToId))return n(du(this));this._lastToId=t.callId}const{key:l,defaultProps:i,animation:a}=this,{to:s,from:c}=a;let{to:u=s,from:d=c}=e;!r||o||t.default&&!ts.und(u)||(u=d),t.reverse&&([u,d]=[d,u]);const p=!ns(d,c);p&&(a.from=d),d=Js(d);const m=!ns(u,s);m&&this._focus(u);const f=tu(t.to),{config:g}=a,{decay:h,velocity:b}=g;(o||r)&&(g.velocity=0),t.config&&!f&&function(e,t,n){n&&(lu(n={...n},t),t={...n,...t}),lu(e,t),Object.assign(e,t);for(const t in ru)null==e[t]&&(e[t]=ru[t]);let{frequency:o,damping:r}=e;const{mass:l}=e;ts.und(o)||(o<.01&&(o=.01),r<0&&(r=0),e.tension=Math.pow(2*Math.PI/o,2)*l,e.friction=4*Math.PI*r*l/o)}(g,$c(t.config,l),t.config!==i.config?$c(i.config,l):void 0);let v=Tc(this);if(!v||ts.und(u))return n(uu(this,!0));const _=ts.und(t.reset)?r&&!t.default:!ts.und(d)&&jc(t.reset,l),k=_?d:this.get(),y=Jc(u),E=ts.num(y)||ts.arr(y)||yc(y),S=!f&&(!E||jc(i.immediate||t.immediate,l));if(m){const e=Vc(u);if(e!==v.constructor){if(!S)throw Error(`Cannot animate between ${v.constructor.name} and ${e.name}, as the "to" prop suggests`);v=this._set(y)}}const w=v.constructor;let C=Qs(u),x=!1;if(!C){const e=_||!ku(this)&&p;(m||e)&&(x=ns(Jc(k),y),C=!x),(ns(a.immediate,S)||S)&&ns(g.decay,h)&&ns(g.velocity,b)||(C=!0)}if(x&&yu(this)&&(a.changed&&!_?C=!0:C||this._stop(s)),!f&&((C||Qs(s))&&(a.values=v.getPayload(),a.toValues=Qs(u)?null:w==Rc?[1]:ls(y)),a.immediate!=S&&(a.immediate=S,S||_||this._set(s)),C)){const{onRest:e}=a;os(Pu,(e=>Nu(this,t,e)));const o=uu(this,xu(this,s));cs(this._pendingCalls,o),this._pendingCalls.add(n),a.changed&&Oa.batchedUpdates((()=>{a.changed=!_,e?.(o,this),_?$c(i.onRest,o):a.onStart?.(o,this)}))}_&&this._set(k),f?n(pu(t.to,t,this._state,this)):C?this._start():yu(this)&&!m?this._pendingCalls.add(n):n(cu(k))}_focus(e){const t=this.animation;e!==t.to&&(ec(this)&&this._detach(),t.to=e,ec(this)&&this._attach())}_attach(){let e=0;const{to:t}=this.animation;Qs(t)&&(rc(t,this),hu(t)&&(e=t.priority+1)),this.priority=e}_detach(){const{to:e}=this.animation;Qs(e)&&lc(e,this)}_set(e,t=!0){const n=Js(e);if(!ts.und(n)){const e=Tc(this);if(!e||!ns(n,e.getValue())){const o=Vc(n);e&&e.constructor==o?e.setValue(n):Mc(this,o.create(n)),e&&Oa.batchedUpdates((()=>{this._onChange(n,t)}))}}return Tc(this)}_onStart(){const e=this.animation;e.changed||(e.changed=!0,Lu(this,"onStart",uu(this,xu(this,e.to)),this))}_onChange(e,t){t||(this._onStart(),$c(this.animation.onChange,e,this)),$c(this.defaultProps.onChange,e,this),super._onChange(e,t)}_start(){const e=this.animation;Tc(this).reset(Js(e.to)),e.immediate||(e.fromValues=e.values.map((e=>e.lastPosition))),yu(this)||(Su(this,!0),Eu(this)||this._resume())}_resume(){Aa.skipAnimation?this.finish():_s.start(this)}_stop(e,t){if(yu(this)){Su(this,!1);const n=this.animation;os(n.values,(e=>{e.done=!0})),n.toValues&&(n.onChange=n.onPause=n.onResume=void 0),tc(this,{type:"idle",parent:this});const o=t?du(this.get()):uu(this.get(),xu(this,e??n.to));cs(this._pendingCalls,o),n.changed&&(n.changed=!1,Lu(this,"onRest",o,this))}}};function xu(e,t){const n=Jc(t);return ns(Jc(e.get()),n)}function Bu(e,t=e.loop,n=e.to){const o=$c(t);if(o){const r=!0!==o&&Qc(o),l=(r||e).reverse,i=!r||r.reset;return Iu({...e,loop:t,default:!1,pause:void 0,to:!l||tu(n)?n:void 0,from:i?e.from:void 0,reset:i,...r})}}function Iu(e){const{to:t,from:n}=e=Qc(e),o=new Set;return ts.obj(t)&&Mu(t,o),ts.obj(n)&&Mu(n,o),e.keys=o.size?Array.from(o):null,e}function Tu(e){const t=Iu(e);return ts.und(t.default)&&(t.default=Zc(t)),t}function Mu(e,t){rs(e,((e,n)=>null!=e&&t.add(n)))}var Pu=["onStart","onRest","onChange","onPause","onResume"];function Nu(e,t,n){e.animation[n]=t[n]!==Kc(t,n)?Wc(t[n],e.key):void 0}function Lu(e,t,...n){e.animation[t]?.(...n),e.defaultProps[t]?.(...n)}var Ru=["onStart","onChange","onRest"],Au=1,Du=class{constructor(e,t){this.id=Au++,this.springs={},this.queue=[],this._lastAsyncId=0,this._active=new Set,this._changed=new Set,this._started=!1,this._state={paused:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set},this._events={onStart:new Map,onChange:new Map,onRest:new Map},this._onFrame=this._onFrame.bind(this),t&&(this._flush=t),e&&this.start({default:!0,...e})}get idle(){return!this._state.asyncTo&&Object.values(this.springs).every((e=>e.idle&&!e.isDelayed&&!e.isPaused))}get item(){return this._item}set item(e){this._item=e}get(){const e={};return this.each(((t,n)=>e[n]=t.get())),e}set(e){for(const t in e){const n=e[t];ts.und(n)||this.springs[t].set(n)}}update(e){return e&&this.queue.push(Iu(e)),this}start(e){let{queue:t}=this;return e?t=ls(e).map(Iu):this.queue=[],this._flush?this._flush(this,t):(Uu(this,t),Ou(this,t))}stop(e,t){if(e!==!!e&&(t=e),t){const n=this.springs;os(ls(t),(t=>n[t].stop(!!e)))}else mu(this._state,this._lastAsyncId),this.each((t=>t.stop(!!e)));return this}pause(e){if(ts.und(e))this.start({pause:!0});else{const t=this.springs;os(ls(e),(e=>t[e].pause()))}return this}resume(e){if(ts.und(e))this.start({pause:!1});else{const t=this.springs;os(ls(e),(e=>t[e].resume()))}return this}each(e){rs(this.springs,e)}_onFrame(){const{onStart:e,onChange:t,onRest:n}=this._events,o=this._active.size>0,r=this._changed.size>0;(o&&!this._started||r&&!this._started)&&(this._started=!0,is(e,(([e,t])=>{t.value=this.get(),e(t,this,this._item)})));const l=!o&&this._started,i=r||l&&n.size?this.get():null;r&&t.size&&is(t,(([e,t])=>{t.value=i,e(t,this,this._item)})),l&&(this._started=!1,is(n,(([e,t])=>{t.value=i,e(t,this,this._item)})))}eventObserved(e){if("change"==e.type)this._changed.add(e.parent),e.idle||this._active.add(e.parent);else{if("idle"!=e.type)return;this._active.delete(e.parent)}Oa.onFrame(this._onFrame)}};function Ou(e,t){return Promise.all(t.map((t=>zu(e,t)))).then((t=>su(e,t)))}async function zu(e,t,n){const{keys:o,to:r,from:l,loop:i,onRest:a,onResolve:s}=t,c=ts.obj(t.default)&&t.default;i&&(t.loop=!1),!1===r&&(t.to=null),!1===l&&(t.from=null);const u=ts.arr(r)||ts.fun(r)?r:void 0;u?(t.to=void 0,t.onRest=void 0,c&&(c.onRest=void 0)):os(Ru,(n=>{const o=t[n];if(ts.fun(o)){const r=e._events[n];t[n]=({finished:e,cancelled:t})=>{const n=r.get(o);n?(e||(n.finished=!1),t&&(n.cancelled=!0)):r.set(o,{value:null,finished:e||!1,cancelled:t||!1})},c&&(c[n]=t[n])}}));const d=e._state;t.pause===!d.paused?(d.paused=t.pause,cs(t.pause?d.pauseQueue:d.resumeQueue)):d.paused&&(t.pause=!0);const p=(o||Object.keys(e.springs)).map((n=>e.springs[n].start(t))),m=!0===t.cancel||!0===Kc(t,"cancel");(u||m&&d.asyncId)&&p.push(au(++e._lastAsyncId,{props:t,state:d,actions:{pause:es,resume:es,start(t,n){m?(mu(d,e._lastAsyncId),n(du(e))):(t.onRest=a,n(pu(u,t,d,e)))}}})),d.paused&&await new Promise((e=>{d.resumeQueue.add(e)}));const f=su(e,await Promise.all(p));if(i&&f.finished&&(!n||!f.noop)){const n=Bu(t,i,r);if(n)return Uu(e,[n]),zu(e,n,!0)}return s&&Oa.batchedUpdates((()=>s(f,e,e.item))),f}function Vu(e,t){const n={...e.springs};return t&&os(ls(t),(e=>{ts.und(e.keys)&&(e=Iu(e)),ts.obj(e.to)||(e={...e,to:void 0}),Gu(n,e,(e=>Hu(e)))})),Fu(e,n),n}function Fu(e,t){rs(t,((t,n)=>{e.springs[n]||(e.springs[n]=t,rc(t,e))}))}function Hu(e,t){const n=new Cu;return n.key=e,t&&rc(n,t),n}function Gu(e,t,n){t.keys&&os(t.keys,(o=>{(e[o]||(e[o]=n(o)))._prepareNode(t)}))}function Uu(e,t){os(t,(t=>{Gu(e.springs,t,(t=>Hu(t,e)))}))}var $u,ju,Wu=({children:e,...t})=>{const n=(0,Na.useContext)(Ku),o=t.pause||!!n.pause,r=t.immediate||!!n.immediate;t=function(e,t){const[n]=(0,Na.useState)((()=>({inputs:t,result:e()}))),o=(0,Na.useRef)(),r=o.current;let l=r;if(l){const n=Boolean(t&&l.inputs&&function(e,t){if(e.length!==t.length)return!1;for(let n=0;n{o.current=l,r==n&&(n.inputs=n.result=void 0)}),[l]),l.result}((()=>({pause:o,immediate:r})),[o,r]);const{Provider:l}=Ku;return Na.createElement(l,{value:t},e)},Ku=($u=Wu,ju={},Object.assign($u,Na.createContext(ju)),$u.Provider._context=$u,$u.Consumer._context=$u,$u);Wu.Provider=Ku.Provider,Wu.Consumer=Ku.Consumer;var qu=()=>{const e=[],t=function(t){kc(`${bc}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions`);const o=[];return os(e,((e,r)=>{if(ts.und(t))o.push(e.start());else{const l=n(t,e,r);l&&o.push(e.start(l))}})),o};t.current=e,t.add=function(t){e.includes(t)||e.push(t)},t.delete=function(t){const n=e.indexOf(t);~n&&e.splice(n,1)},t.pause=function(){return os(e,(e=>e.pause(...arguments))),this},t.resume=function(){return os(e,(e=>e.resume(...arguments))),this},t.set=function(t){os(e,((e,n)=>{const o=ts.fun(t)?t(n,e):t;o&&e.set(o)}))},t.start=function(t){const n=[];return os(e,((e,o)=>{if(ts.und(t))n.push(e.start());else{const r=this._getProps(t,e,o);r&&n.push(e.start(r))}})),n},t.stop=function(){return os(e,(e=>e.stop(...arguments))),this},t.update=function(t){return os(e,((e,n)=>e.update(this._getProps(t,e,n)))),this};const n=function(e,t,n){return ts.fun(e)?e(n,t):e};return t._getProps=n,t};function Zu(e,t,n){const o=ts.fun(t)&&t;o&&!n&&(n=[]);const r=(0,Na.useMemo)((()=>o||3==arguments.length?qu():void 0),[]),l=(0,Na.useRef)(0),i=wc(),a=(0,Na.useMemo)((()=>({ctrls:[],queue:[],flush(e,t){const n=Vu(e,t);return l.current>0&&!a.queue.length&&!Object.keys(n).some((t=>!e.springs[t]))?Ou(e,t):new Promise((o=>{Fu(e,n),a.queue.push((()=>{o(Ou(e,t))})),i()}))}})),[]),s=(0,Na.useRef)([...a.ctrls]),c=[],u=Bc(e)||0;function d(e,n){for(let r=e;r{os(s.current.slice(e,u),(e=>{nu(e,r),e.stop(!0)})),s.current.length=e,d(u,e)}),[e]),(0,Na.useMemo)((()=>{d(0,Math.min(u,e))}),n);const p=s.current.map(((e,t)=>Vu(e,c[t]))),m=(0,Na.useContext)(Wu),f=Bc(m),g=m!==f&&eu(m);Ec((()=>{l.current++,a.ctrls=s.current;const{queue:e}=a;e.length&&(a.queue=[],os(e,(e=>e()))),os(s.current,((e,t)=>{r?.add(e),g&&e.start({default:m});const n=c[t];n&&(ou(e,n.ref),e.ref?e.queue.push(n):e.start(n))}))})),Cc((()=>()=>{os(a.ctrls,(e=>e.stop(!0)))}));const h=p.map((e=>({...e})));return r?[h,r]:h}function Yu(e,t){const n=ts.fun(e),[[o],r]=Zu(1,n?e:[e],n?t||[]:t);return n||2==arguments.length?[o,r]:o}var Xu=class extends vu{constructor(e,t){super(),this.source=e,this.idle=!0,this._active=new Set,this.calc=Gs(...t);const n=this._get(),o=Vc(n);Mc(this,o.create(n))}advance(e){const t=this._get();ns(t,this.get())||(Tc(this).setValue(t),this._onChange(t,this.idle)),!this.idle&&Ju(this._active)&&ed(this)}_get(){const e=ts.arr(this.source)?this.source.map(Js):ls(Js(this.source));return this.calc(...e)}_start(){this.idle&&!Ju(this._active)&&(this.idle=!1,os(Pc(this),(e=>{e.done=!1})),Aa.skipAnimation?(Oa.batchedUpdates((()=>this.advance())),ed(this)):_s.start(this))}_attach(){let e=1;os(ls(this.source),(t=>{Qs(t)&&rc(t,this),hu(t)&&(t.idle||this._active.add(t),e=Math.max(e,t.priority+1))})),this.priority=e,this._start()}_detach(){os(ls(this.source),(e=>{Qs(e)&&lc(e,this)})),this._active.clear(),ed(this)}eventObserved(e){"change"==e.type?e.idle?this.advance():(this._active.add(e.parent),this._start()):"idle"==e.type?this._active.delete(e.parent):"priority"==e.type&&(this.priority=ls(this.source).reduce(((e,t)=>Math.max(e,(hu(t)?t.priority:0)+1)),0))}};function Qu(e){return!1!==e.idle}function Ju(e){return!e.size||Array.from(e).every(Qu)}function ed(e){e.idle||(e.idle=!0,os(Pc(e),(e=>{e.done=!0})),tc(e,{type:"idle",parent:e}))}Aa.assign({createStringInterpolator:hc,to:(e,t)=>new Xu(e,t)});_s.advance;var td=window.ReactDOM,nd=/^--/;function od(e,t){return null==t||"boolean"==typeof t||""===t?"":"number"!=typeof t||0===t||nd.test(e)||ld.hasOwnProperty(e)&&ld[e]?(""+t).trim():t+"px"}var rd={};var ld={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},id=["Webkit","Ms","Moz","O"];ld=Object.keys(ld).reduce(((e,t)=>(id.forEach((n=>e[((e,t)=>e+t.charAt(0).toUpperCase()+t.substring(1))(n,t)]=e[t])),e)),ld);var ad=/^(matrix|translate|scale|rotate|skew)/,sd=/^(translate)/,cd=/^(rotate|skew)/,ud=(e,t)=>ts.num(e)&&0!==e?e+t:e,dd=(e,t)=>ts.arr(e)?e.every((e=>dd(e,t))):ts.num(e)?e===t:parseFloat(e)===t,pd=class extends Dc{constructor({x:e,y:t,z:n,...o}){const r=[],l=[];(e||t||n)&&(r.push([e||0,t||0,n||0]),l.push((e=>[`translate3d(${e.map((e=>ud(e,"px"))).join(",")})`,dd(e,0)]))),rs(o,((e,t)=>{if("transform"===t)r.push([e||""]),l.push((e=>[e,""===e]));else if(ad.test(t)){if(delete o[t],ts.und(e))return;const n=sd.test(t)?"px":cd.test(t)?"deg":"";r.push(ls(e)),l.push("rotate3d"===t?([e,t,o,r])=>[`rotate3d(${e},${t},${o},${ud(r,n)})`,dd(r,0)]:e=>[`${t}(${e.map((e=>ud(e,n))).join(",")})`,dd(e,t.startsWith("scale")?1:0)])}})),r.length&&(o.transform=new md(r,l)),super(o)}},md=class extends nc{constructor(e,t){super(),this.inputs=e,this.transforms=t,this._value=null}get(){return this._value||(this._value=this._get())}_get(){let e="",t=!0;return os(this.inputs,((n,o)=>{const r=Js(n[0]),[l,i]=this.transforms[o](ts.arr(r)?r:n.map(Js));e+=" "+l,t=t&&i})),t?"none":e}observerAdded(e){1==e&&os(this.inputs,(e=>os(e,(e=>Qs(e)&&rc(e,this)))))}observerRemoved(e){0==e&&os(this.inputs,(e=>os(e,(e=>Qs(e)&&lc(e,this)))))}eventObserved(e){"change"==e.type&&(this._value=null),tc(this,e)}};Aa.assign({batchedUpdates:td.unstable_batchedUpdates,createStringInterpolator:hc,colors:{transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199}});var fd=((e,{applyAnimatedValues:t=(()=>!1),createAnimatedStyle:n=(e=>new Dc(e)),getComponentProps:o=(e=>e)}={})=>{const r={applyAnimatedValues:t,createAnimatedStyle:n,getComponentProps:o},l=e=>{const t=Uc(e)||"Anonymous";return(e=ts.str(e)?l[e]||(l[e]=Fc(e,r)):e[Gc]||(e[Gc]=Fc(e,r))).displayName=`Animated(${t})`,e};return rs(e,((t,n)=>{ts.arr(e)&&(n=Uc(t)),l[n]=l(t)})),{animated:l}})(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"],{applyAnimatedValues:function(e,t){if(!e.nodeType||!e.setAttribute)return!1;const n="filter"===e.nodeName||e.parentNode&&"filter"===e.parentNode.nodeName,{style:o,children:r,scrollTop:l,scrollLeft:i,viewBox:a,...s}=t,c=Object.values(s),u=Object.keys(s).map((t=>n||e.hasAttribute(t)?t:rd[t]||(rd[t]=t.replace(/([A-Z])/g,(e=>"-"+e.toLowerCase())))));void 0!==r&&(e.textContent=r);for(const t in o)if(o.hasOwnProperty(t)){const n=od(t,o[t]);nd.test(t)?e.style.setProperty(t,n):e.style[t]=n}u.forEach(((t,n)=>{e.setAttribute(t,c[n])})),void 0!==l&&(e.scrollTop=l),void 0!==i&&(e.scrollLeft=i),void 0!==a&&e.setAttribute("viewBox",a)},createAnimatedStyle:e=>new pd(e),getComponentProps:({scrollTop:e,scrollLeft:t,...n})=>n}),gd=fd.animated;const hd=e=>e+1,bd=e=>({top:e.offsetTop,left:e.offsetLeft});var vd=function({isSelected:e,adjustScrolling:t,enableAnimation:n,triggerAnimationOnChange:o}){const r=(0,c.useRef)(),l=(0,p.useReducedMotion)()||!n,[i,a]=(0,c.useReducer)(hd,0),[s,u]=(0,c.useReducer)(hd,0),[d,m]=(0,c.useState)({x:0,y:0}),f=(0,c.useMemo)((()=>r.current?bd(r.current):null),[o]),g=(0,c.useMemo)((()=>{if(!t||!r.current)return()=>{};const e=(0,da.getScrollContainer)(r.current);if(!e)return()=>{};const n=r.current.getBoundingClientRect();return()=>{const t=r.current.getBoundingClientRect().top-n.top;t&&(e.scrollTop+=t)}}),[o,t]);return(0,c.useLayoutEffect)((()=>{i&&u()}),[i]),(0,c.useLayoutEffect)((()=>{if(!f)return;if(l)return void g();r.current.style.transform=void 0;const e=bd(r.current);a(),m({x:Math.round(f.left-e.left),y:Math.round(f.top-e.top)})}),[o]),Yu({from:{x:d.x,y:d.y},to:{x:0,y:0},reset:i!==s,config:{mass:5,tension:2e3,friction:200},immediate:l,onChange:function({value:t}){if(!r.current)return;let{x:n,y:o}=t;n=Math.round(n),o=Math.round(o);const l=0===n&&0===o;r.current.style.transformOrigin="center center",r.current.style.transform=l?void 0:`translate3d(${n}px,${o}px,0)`,r.current.style.zIndex=e?"1":"",g()}}),r};const _d=".block-editor-block-list__block",kd=".block-list-appender",yd=".block-editor-button-block-appender";function Ed(e,t){return e.closest(_d)===t.closest(_d)}function Sd(e,t){return t.closest([_d,kd,yd].join(","))===e}function wd(e){for(;e&&e.nodeType!==e.ELEMENT_NODE;)e=e.parentNode;if(!e)return;const t=e.closest(_d);return t?t.id.slice(6):void 0}function Cd(e){const t=(0,c.useRef)(),n=function(e){return(0,f.useSelect)((t=>{const{getSelectedBlocksInitialCaretPosition:n,__unstableGetEditorMode:o,isBlockSelected:r}=t(Jo);if(r(e)&&"edit"===o())return n()}),[e])}(e),{isBlockSelected:o,isMultiSelecting:r}=(0,f.useSelect)(Jo);return(0,c.useEffect)((()=>{if(!o(e)||r())return;if(null==n)return;if(!t.current)return;const{ownerDocument:l}=t.current;if(Sd(t.current,l.activeElement))return;const i=da.focus.tabbable.find(t.current).filter((e=>(0,da.isTextField)(e))),a=-1===n,s=i[a?i.length-1:0]||t.current;if(Sd(t.current,s)){if(!t.current.getAttribute("contenteditable")){const e=da.focus.tabbable.findNext(t.current);if(e&&Sd(t.current,e)&&(0,da.isFormElement)(e))return void e.focus()}(0,da.placeCaretAtHorizontalEdge)(s,a)}else t.current.focus()}),[n,e]),t}function xd(e){if(e.defaultPrevented)return;const t="mouseover"===e.type?"add":"remove";e.preventDefault(),e.currentTarget.classList[t]("is-hovered")}function Bd(){const e=(0,f.useSelect)((e=>{const{getSettings:t}=e(Jo);return t().outlineMode}),[]);return(0,p.useRefEffect)((t=>{if(e)return t.addEventListener("mouseout",xd),t.addEventListener("mouseover",xd),()=>{t.removeEventListener("mouseout",xd),t.removeEventListener("mouseover",xd),t.classList.remove("is-hovered")}}),[e])}function Id(e){return(0,f.useSelect)((t=>{const{isBlockBeingDragged:n,isBlockHighlighted:o,isBlockSelected:r,isBlockMultiSelected:l,getBlockName:i,getSettings:s,hasSelectedInnerBlock:c,isTyping:u,__unstableIsFullySelected:p,__unstableSelectionHasUnmergeableBlock:m}=t(Jo),{outlineMode:f}=s(),g=n(e),h=r(e),b=i(e),v=c(e,!0),_=l(e);return d()({"is-selected":h,"is-highlighted":o(e),"is-multi-selected":_,"is-partially-selected":_&&!p()&&!m(),"is-reusable":(0,a.isReusableBlock)((0,a.getBlockType)(b)),"is-dragging":g,"has-child-selected":v,"remove-outline":h&&f&&u()})}),[e])}function Td(e){return(0,f.useSelect)((t=>{const n=t(Jo).getBlockName(e),o=(0,a.getBlockType)(n);if(o?.apiVersion>1)return(0,a.getBlockDefaultClassName)(n)}),[e])}function Md(e){return(0,f.useSelect)((t=>{const{getBlockName:n,getBlockAttributes:o}=t(Jo),r=o(e);if(!r?.className)return;const l=(0,a.getBlockType)(n(e));return l?.apiVersion>1?r.className:void 0}),[e])}function Pd(e){return(0,f.useSelect)((t=>{const{hasBlockMovingClientId:n,canInsertBlockType:o,getBlockName:r,getBlockRootClientId:l,isBlockSelected:i}=t(Jo);if(!i(e))return;const a=n();return a?d()("is-block-moving-mode",{"can-insert-moving-block":o(r(a),l(e))}):void 0}),[e])}function Nd(e){const{isBlockSelected:t}=(0,f.useSelect)(Jo),{selectBlock:n,selectionChange:o}=(0,f.useDispatch)(Jo);return(0,p.useRefEffect)((r=>{function l(l){r.parentElement.closest('[contenteditable="true"]')||(t(e)?l.target.isContentEditable||o(e):Sd(r,l.target)&&n(e))}return r.addEventListener("focusin",l),()=>{r.removeEventListener("focusin",l)}}),[t,n])}var Ld=window.wp.keycodes;function Rd(e){const t=(0,f.useSelect)((t=>t(Jo).isBlockSelected(e)),[e]),{getBlockRootClientId:n,getBlockIndex:o}=(0,f.useSelect)(Jo),{insertDefaultBlock:r,removeBlock:l}=(0,f.useDispatch)(Jo);return(0,p.useRefEffect)((i=>{if(t)return i.addEventListener("keydown",a),i.addEventListener("dragstart",s),()=>{i.removeEventListener("keydown",a),i.removeEventListener("dragstart",s)};function a(t){const{keyCode:a,target:s}=t;a!==Ld.ENTER&&a!==Ld.BACKSPACE&&a!==Ld.DELETE||s!==i||(0,da.isTextField)(s)||(t.preventDefault(),a===Ld.ENTER?r({},n(e),o(e)+1):l(e))}function s(e){e.preventDefault()}}),[e,t,n,o,r,l])}function Ad(e){const{isNavigationMode:t,isBlockSelected:n}=(0,f.useSelect)(Jo),{setNavigationMode:o,selectBlock:r}=(0,f.useDispatch)(Jo);return(0,p.useRefEffect)((l=>{function i(l){t()&&!l.defaultPrevented&&(l.preventDefault(),n(e)?o(!1):r(e))}return l.addEventListener("mousedown",i),()=>{l.removeEventListener("mousedown",i)}}),[e,t,n,o])}const Dd=(0,c.createContext)({refs:new Map,callbacks:new Map});function Od({children:e}){const t=(0,c.useMemo)((()=>({refs:new Map,callbacks:new Map})),[]);return(0,c.createElement)(Dd.Provider,{value:t},e)}function zd(e){const{refs:t,callbacks:n}=(0,c.useContext)(Dd),o=(0,c.useRef)();return(0,c.useLayoutEffect)((()=>(t.set(o,e),()=>{t.delete(o)})),[e]),(0,p.useRefEffect)((t=>{o.current=t,n.forEach(((n,o)=>{e===n&&o(t)}))}),[e])}function Vd(e){const{refs:t}=(0,c.useContext)(Dd),n=(0,c.useRef)();return n.current=e,(0,c.useMemo)((()=>({get current(){let e=null;for(const[o,r]of t.entries())r===n.current&&o.current&&(e=o.current);return e}})),[])}function Fd(e){const{callbacks:t}=(0,c.useContext)(Dd),n=Vd(e),[o,r]=(0,c.useState)(null);return(0,c.useLayoutEffect)((()=>{if(e)return t.set(r,e),()=>{t.delete(r)}}),[e]),n.current||o}function Hd(){const e=(0,c.useContext)(bh);return(0,p.useRefEffect)((t=>{if(e)return e.observe(t),()=>{e.unobserve(t)}}),[e])}function Gd(e){return(0,f.useSelect)((t=>{const{__unstableHasActiveBlockOverlayActive:n}=t(Jo);return n(e)}),[e])}const Ud=200;function $d(e={},{__unstableIsHtml:t}={}){const{clientId:n,className:o,wrapperProps:r={},isAligned:l}=(0,c.useContext)(Ri),{index:i,mode:s,name:u,blockApiVersion:m,blockTitle:g,isPartOfSelection:h,adjustScrolling:b,enableAnimation:_,isSubtreeDisabled:k}=(0,f.useSelect)((e=>{const{getBlockAttributes:t,getBlockIndex:o,getBlockMode:r,getBlockName:l,isTyping:i,getGlobalBlockCount:s,isBlockSelected:c,isBlockMultiSelected:u,isAncestorMultiSelected:d,isFirstMultiSelectedBlock:p,isBlockSubtreeDisabled:m}=Xo(e(Jo)),{getActiveBlockVariation:f}=e(a.store),g=c(n),h=u(n)||d(n),b=l(n),v=(0,a.getBlockType)(b),_=f(b,t(n));return{index:o(n),mode:r(n),name:b,blockApiVersion:v?.apiVersion||1,blockTitle:_?.title||v?.title,isPartOfSelection:g||h,adjustScrolling:g||p(n),enableAnimation:!i()&&s()<=Ud,isSubtreeDisabled:m(n)}}),[n]),y=Gd(n),E=(0,v.sprintf)((0,v.__)("Block: %s"),g),S="html"!==s||t?"":"-visual",w=(0,p.useMergeRefs)([e.ref,Cd(n),zd(n),Nd(n),Rd(n),Ad(n),Bd(),Hd(),vd({isSelected:h,adjustScrolling:b,enableAnimation:_,triggerAnimationOnChange:i}),(0,p.useDisabled)({isDisabled:!y})]),C=rr();return m<2&&C.clientId,{tabIndex:0,...r,...e,ref:w,id:`block-${n}${S}`,role:"document","aria-label":E,"data-block":n,"data-type":u,"data-title":g,inert:k?"true":void 0,className:d()(d()("block-editor-block-list__block",{"wp-block":!l,"has-block-overlay":y}),o,e.className,r.className,Id(n),Td(n),Md(n),Pd(n)),style:{...r.style,...e.style}}}function jd({children:e,isHtml:t,...n}){return(0,c.createElement)("div",{...$d(n,{__unstableIsHtml:t})},e)}$d.save=a.__unstableGetBlockProps;const Wd=(0,f.withSelect)(((e,{clientId:t,rootClientId:n})=>{const{isBlockSelected:o,getBlockMode:r,isSelectionEnabled:l,getTemplateLock:i,__unstableGetBlockWithoutInnerBlocks:a,canRemoveBlock:s,canMoveBlock:c}=e(Jo),u=a(t),d=o(t),p=i(n),m=s(t,n),f=c(t,n),{name:g,attributes:h,isValid:b}=u||{};return{mode:r(t),isSelectionEnabled:l(),isLocked:!!p,canRemove:m,canMove:f,block:u,name:g,attributes:h,isValid:b,isSelected:d}})),Kd=(0,f.withDispatch)(((e,t,n)=>{const{updateBlockAttributes:o,insertBlocks:r,mergeBlocks:l,replaceBlocks:i,toggleSelection:s,__unstableMarkLastChangeAsPersistent:c,moveBlocksToPosition:u,removeBlock:d}=e(Jo);return{setAttributes(e){const{getMultiSelectedBlockClientIds:r}=n.select(Jo),l=r(),{clientId:i}=t,a=l.length?l:[i];o(a,e)},onInsertBlocks(e,n){const{rootClientId:o}=t;r(e,n,o)},onInsertBlocksAfter(e){const{clientId:o,rootClientId:l}=t,{getBlockIndex:i}=n.select(Jo),a=i(o);r(e,a+1,l)},onMerge(e){const{clientId:o,rootClientId:i}=t,{getPreviousBlockClientId:s,getNextBlockClientId:c,getBlock:p,getBlockAttributes:m,getBlockName:f,getBlockOrder:g,getBlockIndex:h,getBlockRootClientId:b,canInsertBlockType:v}=n.select(Jo);function _(e,t=!0){const o=b(e),l=g(e),[i]=l;1===l.length&&(0,a.isUnmodifiedBlock)(p(i))?d(e):n.batch((()=>{if(v(f(i),o))u([i],e,o,h(e));else{const n=(0,a.switchToBlockType)(p(i),(0,a.getDefaultBlockName)());n&&n.length&&(r(n,h(e),o,t),d(i,!1))}!g(e).length&&(0,a.isUnmodifiedBlock)(p(e))&&d(e,!1)}))}if(e){if(i){const e=c(i);if(e){if(f(i)!==f(e))return void l(i,e);{const t=m(i),o=m(e);if(Object.keys(t).every((e=>t[e]===o[e])))return void n.batch((()=>{u(g(e),e,i),d(e,!1)}))}}}const e=c(o);if(!e)return;g(e).length?_(e,!1):l(o,e)}else{const e=s(o);if(e)l(e,o);else if(i){const e=s(i);if(e&&f(i)===f(e)){const t=m(i),o=m(e);if(Object.keys(t).every((e=>t[e]===o[e])))return void n.batch((()=>{u(g(i),i,e),d(i,!1)}))}_(i)}}},onReplace(e,n,o){e.length&&!(0,a.isUnmodifiedDefaultBlock)(e[e.length-1])&&c();const r=1===e?.length&&Array.isArray(e[0])?e[0]:e;i([t.clientId],r,n,o)},toggleSelection(e){s(e)}}}));var qd=(0,p.compose)(p.pure,Wd,Kd,(0,p.ifCondition)((({block:e})=>!!e)),(0,m.withFilters)("editor.BlockListBlock"))((function({block:{__unstableBlockSource:e},mode:t,isLocked:n,canRemove:o,clientId:r,isSelected:l,isSelectionEnabled:i,className:s,__unstableLayoutClassNames:u,name:p,isValid:m,attributes:g,wrapperProps:h,setAttributes:b,onReplace:v,onInsertBlocksAfter:_,onMerge:k,toggleSelection:y}){var E;const{themeSupportsLayout:S,isTemporarilyEditingAsBlocks:w,blockEditingMode:C}=(0,f.useSelect)((e=>{const{getSettings:t,__unstableGetTemporarilyEditingAsBlocks:n,getBlockEditingMode:o}=e(Jo);return{themeSupportsLayout:t().supportsLayout,isTemporarilyEditingAsBlocks:n()===r,blockEditingMode:o(r)}}),[r]),{removeBlock:x}=(0,f.useDispatch)(Jo),B=(0,c.useCallback)((()=>x(r)),[r]),I=yi()||{};let T=(0,c.createElement)(va,{name:p,isSelected:l,attributes:g,setAttributes:b,insertBlocksAfter:n?void 0:_,onReplace:o?v:void 0,onRemove:o?B:void 0,mergeBlocks:o?k:void 0,clientId:r,isSelectionEnabled:i,toggleSelection:y,__unstableLayoutClassNames:u,__unstableParentLayout:Object.keys(I).length?I:void 0});const M=(0,a.getBlockType)(p);"disabled"===C&&(h={...h,tabIndex:-1}),M?.getEditWrapperProps&&(h=function(e,t){const n={...e,...t};return e?.className&&t?.className&&(n.className=d()(e.className,t.className)),e?.style&&t?.style&&(n.style={...e.style,...t.style}),n}(h,M.getEditWrapperProps(g)));const P=h&&!!h["data-align"]&&!S;let N;if(P&&(T=(0,c.createElement)("div",{className:"wp-block","data-align":h["data-align"]},T)),m)N="html"===t?(0,c.createElement)(c.Fragment,null,(0,c.createElement)("div",{style:{display:"none"}},T),(0,c.createElement)(jd,{isHtml:!0},(0,c.createElement)(Pa,{clientId:r}))):M?.apiVersion>1?T:(0,c.createElement)(jd,{...h},T);else{const t=e?(0,a.serializeRawBlock)(e):(0,a.getSaveContent)(M,g);N=(0,c.createElement)(jd,{className:"has-warning"},(0,c.createElement)(Ca,{clientId:r}),(0,c.createElement)(c.RawHTML,null,(0,da.safeHTML)(t)))}const{"data-align":L,...R}=null!==(E=h)&&void 0!==E?E:{},A={clientId:r,className:d()({"is-editing-disabled":"disabled"===C,"is-content-locked-temporarily-editing-as-blocks":w},L&&S&&`align${L}`,s),wrapperProps:R,isAligned:P},D=(0,c.useMemo)((()=>A),Object.values(A));return(0,c.createElement)(Ri.Provider,{value:D},(0,c.createElement)(Ta,{fallback:(0,c.createElement)(jd,{className:"has-warning"},(0,c.createElement)(Ba,null))},N))})),Zd=window.wp.htmlEntities;var Yd=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M18 11.2h-5.2V6h-1.6v5.2H6v1.6h5.2V18h1.6v-5.2H18z"}));const Xd=[(0,c.createInterpolateElement)((0,v.__)("While writing, you can press / to quickly insert new blocks."),{kbd:(0,c.createElement)("kbd",null)}),(0,c.createInterpolateElement)((0,v.__)("Indent a list by pressing space at the beginning of a line."),{kbd:(0,c.createElement)("kbd",null)}),(0,c.createInterpolateElement)((0,v.__)("Outdent a list by pressing backspace at the beginning of a line."),{kbd:(0,c.createElement)("kbd",null)}),(0,v.__)("Drag files into the editor to automatically insert media blocks."),(0,v.__)("Change a block's type by pressing the block icon on the toolbar.")];var Qd=function(){const[e]=(0,c.useState)(Math.floor(Math.random()*Xd.length));return(0,c.createElement)(m.Tip,null,Xd[e])};var Jd=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z"}));var ep=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z"}));var tp=(0,c.createElement)(F.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,c.createElement)(F.Path,{d:"M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z"}));var np=(0,c.memo)((function({icon:e,showColors:t=!1,className:n,context:o}){"block-default"===e?.src&&(e={src:tp});const r=(0,c.createElement)(m.Icon,{icon:e&&e.src?e.src:e,context:o}),l=t?{backgroundColor:e&&e.background,color:e&&e.foreground}:{};return(0,c.createElement)("span",{style:l,className:d()("block-editor-block-icon",n,{"has-colors":t})},r)}));var op=function({title:e,icon:t,description:n,blockType:o,className:r}){o&&($()("`blockType` property in `BlockCard component`",{since:"5.7",alternative:"`title, icon and description` properties"}),({title:e,icon:t,description:n}=o));const{parentNavBlockClientId:l}=(0,f.useSelect)((e=>{const{getSelectedBlockClientId:t,getBlockParentsByBlockName:n}=e(Jo);return{parentNavBlockClientId:n(t(),"core/navigation",!0)[0]}}),[]),{selectBlock:i}=(0,f.useDispatch)(Jo);return(0,c.createElement)("div",{className:d()("block-editor-block-card",r)},l&&(0,c.createElement)(m.Button,{onClick:()=>i(l),label:(0,v.__)("Go to parent Navigation block"),style:{minWidth:24,padding:0},icon:(0,v.isRTL)()?Jd:ep,isSmall:!0}),(0,c.createElement)(np,{icon:t,showColors:!0}),(0,c.createElement)("div",{className:"block-editor-block-card__content"},(0,c.createElement)("h2",{className:"block-editor-block-card__title"},e),(0,c.createElement)("span",{className:"block-editor-block-card__description"},n)))};var rp=(0,p.createHigherOrderComponent)((e=>(0,f.withRegistry)((({useSubRegistry:t=!0,registry:n,...o})=>{if(!t)return(0,c.createElement)(e,{registry:n,...o});const[r,l]=(0,c.useState)(null);return(0,c.useEffect)((()=>{const e=(0,f.createRegistry)({},n);e.registerStore(qo,Qo),l(e)}),[n]),r?(0,c.createElement)(f.RegistryProvider,{value:r},(0,c.createElement)(e,{registry:r,...o})):null}))),"withRegistryProvider");const lp=()=>{};function ip({clientId:e=null,value:t,selection:n,onChange:o=lp,onInput:r=lp}){const l=(0,f.useRegistry)(),{resetBlocks:i,resetSelection:s,replaceInnerBlocks:u,selectBlock:d,setHasControlledInnerBlocks:p,__unstableMarkNextChangeAsNotPersistent:m}=l.dispatch(Jo),{hasSelectedBlock:g,getBlockName:h,getBlocks:b,getSelectionStart:v,getSelectionEnd:_,getBlock:k}=l.select(Jo),y=(0,f.useSelect)((t=>!e||t(Jo).areInnerBlocksControlled(e)),[e]),E=(0,c.useRef)({incoming:null,outgoing:[]}),S=(0,c.useRef)(!1),w=()=>{t&&(m(),e?l.batch((()=>{p(e,!0);const n=t.map((e=>(0,a.cloneBlock)(e)));S.current&&(E.current.incoming=n),m(),u(e,n)})):(S.current&&(E.current.incoming=t),i(t)))},C=(0,c.useRef)(r),x=(0,c.useRef)(o);(0,c.useEffect)((()=>{C.current=r,x.current=o}),[r,o]),(0,c.useEffect)((()=>{if(E.current.outgoing.includes(t))E.current.outgoing[E.current.outgoing.length-1]===t&&(E.current.outgoing=[]);else if(b(e)!==t){E.current.outgoing=[];const t=g(),o=v(),r=_();if(w(),n)s(n.selectionStart,n.selectionEnd,n.initialPosition);else{const n=k(o.clientId);t&&!n?d(e):s(o,r)}}}),[t,e]),(0,c.useEffect)((()=>{y||(E.current.outgoing=[],w())}),[y]),(0,c.useEffect)((()=>{const{getSelectedBlocksInitialCaretPosition:t,isLastBlockChangePersistent:n,__unstableIsLastBlockChangeIgnored:o,areInnerBlocksControlled:r}=l.select(Jo);let i=b(e),a=n(),s=!1;S.current=!0;const c=l.subscribe((()=>{if(null!==e&&null===h(e))return;if(!(!e||r(e)))return;const l=n(),c=b(e),u=c!==i;if(i=c,u&&(E.current.incoming||o()))return E.current.incoming=null,void(a=l);if(u||s&&!u&&l&&!a){a=l,E.current.outgoing.push(i);(a?x.current:C.current)(i,{selection:{selectionStart:v(),selectionEnd:_(),initialPosition:t()}})}s=u}));return()=>{S.current=!1,c()}}),[l,e]),(0,c.useEffect)((()=>()=>{m(),e?(p(e,!1),m(),u(e,[])):i([])}),[])}var ap=window.wp.keyboardShortcuts;function sp(){return null}sp.Register=function(){const{registerShortcut:e}=(0,f.useDispatch)(ap.store);return(0,c.useEffect)((()=>{e({name:"core/block-editor/duplicate",category:"block",description:(0,v.__)("Duplicate the selected block(s)."),keyCombination:{modifier:"primaryShift",character:"d"}}),e({name:"core/block-editor/remove",category:"block",description:(0,v.__)("Remove the selected block(s)."),keyCombination:{modifier:"access",character:"z"}}),e({name:"core/block-editor/insert-before",category:"block",description:(0,v.__)("Insert a new block before the selected block(s)."),keyCombination:{modifier:"primaryAlt",character:"t"}}),e({name:"core/block-editor/insert-after",category:"block",description:(0,v.__)("Insert a new block after the selected block(s)."),keyCombination:{modifier:"primaryAlt",character:"y"}}),e({name:"core/block-editor/delete-multi-selection",category:"block",description:(0,v.__)("Delete selection."),keyCombination:{character:"del"},aliases:[{character:"backspace"}]}),e({name:"core/block-editor/select-all",category:"selection",description:(0,v.__)("Select all text when typing. Press again to select all blocks."),keyCombination:{modifier:"primary",character:"a"}}),e({name:"core/block-editor/unselect",category:"selection",description:(0,v.__)("Clear selection."),keyCombination:{character:"escape"}}),e({name:"core/block-editor/multi-text-selection",category:"selection",description:(0,v.__)("Select text across multiple blocks."),keyCombination:{modifier:"shift",character:"arrow"}}),e({name:"core/block-editor/focus-toolbar",category:"global",description:(0,v.__)("Navigate to the nearest toolbar."),keyCombination:{modifier:"alt",character:"F10"}}),e({name:"core/block-editor/move-up",category:"block",description:(0,v.__)("Move the selected block(s) up."),keyCombination:{modifier:"secondary",character:"t"}}),e({name:"core/block-editor/move-down",category:"block",description:(0,v.__)("Move the selected block(s) down."),keyCombination:{modifier:"secondary",character:"y"}})}),[e]),null};var cp=sp;const up=rp((e=>{const{children:t,settings:n,stripExperimentalSettings:o=!1}=e,{__experimentalUpdateSettings:r}=Xo((0,f.useDispatch)(Jo));return(0,c.useEffect)((()=>{r({...n,__internalIsInitialized:!0},{stripExperimentalSettings:o,reset:!0})}),[n,o,r]),ip(e),(0,c.createElement)(m.SlotFillProvider,{passthrough:!0},(0,c.createElement)(cp.Register,null),(0,c.createElement)(Od,null,t))}));var dp=e=>(0,c.createElement)(up,{...e,stripExperimentalSettings:!0},e.children);function pp(){const{getSettings:e,hasSelectedBlock:t,hasMultiSelection:n}=(0,f.useSelect)(Jo),{clearSelectedBlock:o}=(0,f.useDispatch)(Jo),{clearBlockSelection:r}=e();return(0,p.useRefEffect)((e=>{if(r)return e.addEventListener("mousedown",l),()=>{e.removeEventListener("mousedown",l)};function l(r){(t()||n())&&r.target===e&&o()}}),[t,n,o,r])}function mp(e){return(0,c.createElement)("div",{ref:pp(),...e})}function fp(e){const{isMultiSelecting:t,getMultiSelectedBlockClientIds:n,hasMultiSelection:o,getSelectedBlockClientId:r,getSelectedBlocksInitialCaretPosition:l,__unstableIsFullySelected:i}=e(Jo);return{isMultiSelecting:t(),multiSelectedBlockClientIds:n(),hasMultiSelection:o(),selectedBlockClientId:r(),initialPosition:l(),isFullSelection:i()}}function gp(){const{initialPosition:e,isMultiSelecting:t,multiSelectedBlockClientIds:n,hasMultiSelection:o,selectedBlockClientId:r,isFullSelection:l}=(0,f.useSelect)(fp,[]);return(0,p.useRefEffect)((r=>{const{ownerDocument:i}=r,{defaultView:a}=i;if(null==e)return;if(!o||t)return;const{length:s}=n;s<2||l&&(r.contentEditable=!0,r.focus(),a.getSelection().removeAllRanges())}),[o,t,n,r,e,l])}function hp(e,t,n,o){let r,l=da.focus.focusable.find(n);return t&&l.reverse(),l=l.slice(l.indexOf(e)+1),o&&(r=e.getBoundingClientRect()),l.find((function(e){if(1!==e.children.length||!Ed(e,e.firstElementChild)||"true"!==e.firstElementChild.getAttribute("contenteditable")){if(!da.focus.tabbable.isTabbableIndex(e))return!1;if(e.isContentEditable&&"true"!==e.contentEditable)return!1;if(o){const t=e.getBoundingClientRect();if(t.left>=r.right||t.right<=r.left)return!1}return!0}}))}function bp(){const{getMultiSelectedBlocksStartClientId:e,getMultiSelectedBlocksEndClientId:t,getSettings:n,hasMultiSelection:o,__unstableIsFullySelected:r}=(0,f.useSelect)(Jo),{selectBlock:l}=(0,f.useDispatch)(Jo);return(0,p.useRefEffect)((i=>{let a;function s(){a=null}function c(s){if(s.defaultPrevented)return;const{keyCode:c,target:u,shiftKey:d,ctrlKey:p,altKey:m,metaKey:f}=s,g=c===Ld.UP,h=c===Ld.DOWN,b=c===Ld.LEFT,v=c===Ld.RIGHT,_=g||b,k=b||v,y=g||h,E=k||y,S=d||p||m||f,w=y?da.isVerticalEdge:da.isHorizontalEdge,{ownerDocument:C}=i,{defaultView:x}=C;if(!E)return;if(o()){if(d)return;if(!r())return;return s.preventDefault(),void(_?l(e()):l(t(),-1))}if(!function(e,t,n){const o=t===Ld.UP||t===Ld.DOWN,{tagName:r}=e,l=e.getAttribute("type");if(o&&!n)return"INPUT"!==r||!["date","datetime-local","month","number","range","time","week"].includes(l);if("INPUT"===r)return["button","checkbox","number","color","file","image","radio","reset","submit"].includes(l);return"TEXTAREA"!==r}(u,c,S))return;y?a||(a=(0,da.computeCaretRect)(x)):a=null;const B=(0,da.isRTL)(u)?!_:_,{keepCaretInsideBlock:I}=n();if(d)(function(e,t){const n=hp(e,t,i);return n&&wd(n)})(u,_)&&w(u,_)&&(i.contentEditable=!0,i.focus());else if(!y||!(0,da.isVerticalEdge)(u,_)||m&&!(0,da.isHorizontalEdge)(u,B)||I){if(k&&x.getSelection().isCollapsed&&(0,da.isHorizontalEdge)(u,B)&&!I){const e=hp(u,B,i);(0,da.placeCaretAtHorizontalEdge)(e,_),s.preventDefault()}}else{const e=hp(u,_,i,!0);e&&((0,da.placeCaretAtVerticalEdge)(e,m?!_:_,m?void 0:a),s.preventDefault())}}return i.addEventListener("mousedown",s),i.addEventListener("keydown",c),()=>{i.removeEventListener("mousedown",s),i.removeEventListener("keydown",c)}}),[])}function vp(){const{getBlockOrder:e,getSelectedBlockClientIds:t,getBlockRootClientId:n}=(0,f.useSelect)(Jo),{multiSelect:o,selectBlock:r}=(0,f.useDispatch)(Jo),l=(0,ap.__unstableUseShortcutEventMatch)();return(0,p.useRefEffect)((i=>{function a(a){if(!l("core/block-editor/select-all",a))return;const s=t();if(s.length<2&&!(0,da.isEntirelySelected)(a.target))return;a.preventDefault();const[c]=s,u=n(c),d=e(u);s.length!==d.length?o(d[0],d[d.length-1]):u&&(i.ownerDocument.defaultView.getSelection().removeAllRanges(),r(u))}return i.addEventListener("keydown",a),()=>{i.removeEventListener("keydown",a)}}),[])}function _p(e,t){e.contentEditable=t,t&&e.focus()}function kp(){const{startMultiSelect:e,stopMultiSelect:t}=(0,f.useDispatch)(Jo),{isSelectionEnabled:n,hasMultiSelection:o,isDraggingBlocks:r}=(0,f.useSelect)(Jo);return(0,p.useRefEffect)((l=>{const{ownerDocument:i}=l,{defaultView:a}=i;let s,c;function u(){t(),a.removeEventListener("mouseup",u),c=a.requestAnimationFrame((()=>{if(o())return;_p(l,!1);const e=a.getSelection();if(e.rangeCount){const{commonAncestorContainer:t}=e.getRangeAt(0);s.contains(t)&&s.focus()}}))}function d({buttons:t,target:o}){r()||1===t&&"true"===o.getAttribute("contenteditable")&&n()&&(s=o,e(),a.addEventListener("mouseup",u),_p(l,!0))}return l.addEventListener("mouseout",d),()=>{l.removeEventListener("mouseout",d),a.removeEventListener("mouseup",u),a.cancelAnimationFrame(c)}}),[e,t,n,o])}function yp(e,t){e.contentEditable!==String(t)&&(e.contentEditable=t),t&&e.focus()}function Ep(){const{multiSelect:e,selectBlock:t,selectionChange:n}=(0,f.useDispatch)(Jo),{getBlockParents:o,getBlockSelectionStart:r}=(0,f.useSelect)(Jo);return(0,p.useRefEffect)((n=>{const{ownerDocument:l}=n,{defaultView:i}=l;function a(l){const a=i.getSelection();if(!a.rangeCount)return;const s=l.shiftKey&&"mouseup"===l.type;if(a.isCollapsed&&!s)return void yp(n,!1);let c=wd(function(e){const{anchorNode:t,anchorOffset:n}=e;return t.nodeType===t.TEXT_NODE||0===n?t:t.childNodes[n-1]}(a)),u=wd(function(e){const{focusNode:t,focusOffset:n}=e;return t.nodeType===t.TEXT_NODE||n===t.childNodes.length?t:t.childNodes[n]}(a));if(s){const e=r(),t=wd(l.target),n=t!==u;(c===u&&a.isCollapsed||!u||n)&&(u=t),c!==e&&(c=e)}if(void 0===c&&void 0===u)return void yp(n,!1);if(c===u)t(c);else{const t=[...o(c),c],n=[...o(u),u],r=function(e,t){let n=0;for(;e[n]===t[n];)n++;return n}(t,n);e(t[r],n[r])}}function s(){l.addEventListener("selectionchange",a),i.addEventListener("mouseup",a)}function c(){l.removeEventListener("selectionchange",a),i.removeEventListener("mouseup",a)}function u(){c(),s()}return s(),n.addEventListener("focusin",u),()=>{c(),n.removeEventListener("focusin",u)}}),[e,t,n,o])}function Sp(){const{selectBlock:e}=(0,f.useDispatch)(Jo),{isSelectionEnabled:t,getBlockSelectionStart:n,hasMultiSelection:o}=(0,f.useSelect)(Jo);return(0,p.useRefEffect)((r=>{function l(l){if(!t()||0!==l.button)return;const i=n(),a=wd(l.target);l.shiftKey?i!==a&&(r.contentEditable=!0,r.focus()):o()&&e(a)}return r.addEventListener("mousedown",l),()=>{r.removeEventListener("mousedown",l)}}),[e,t,n,o])}function wp(){const{__unstableIsFullySelected:e,getSelectedBlockClientIds:t,__unstableIsSelectionMergeable:n,hasMultiSelection:o}=(0,f.useSelect)(Jo),{replaceBlocks:r,__unstableSplitSelection:l,removeBlocks:i,__unstableDeleteSelection:s,__unstableExpandSelection:c}=(0,f.useDispatch)(Jo);return(0,p.useRefEffect)((u=>{function d(e){"true"===u.contentEditable&&e.preventDefault()}function p(d){d.defaultPrevented||o()&&(d.keyCode===Ld.ENTER?(u.contentEditable=!1,d.preventDefault(),e()?r(t(),(0,a.createBlock)((0,a.getDefaultBlockName)())):l()):d.keyCode===Ld.BACKSPACE||d.keyCode===Ld.DELETE?(u.contentEditable=!1,d.preventDefault(),e()?i(t()):n()?s(d.keyCode===Ld.DELETE):c()):1!==d.key.length||d.metaKey||d.ctrlKey||(u.contentEditable=!1,n()?s(d.keyCode===Ld.DELETE):(d.preventDefault(),u.ownerDocument.defaultView.getSelection().removeAllRanges())))}function m(e){o()&&(u.contentEditable=!1,n()?s():(e.preventDefault(),u.ownerDocument.defaultView.getSelection().removeAllRanges()))}return u.addEventListener("beforeinput",d),u.addEventListener("keydown",p),u.addEventListener("compositionstart",m),()=>{u.removeEventListener("beforeinput",d),u.removeEventListener("keydown",p),u.removeEventListener("compositionstart",m)}}),[])}function Cp(){const[e,t,n]=function(){const e=(0,c.useRef)(),t=(0,c.useRef)(),n=(0,c.useRef)(),o=(0,c.useRef)(),{hasMultiSelection:r,getSelectedBlockClientId:l,getBlockCount:i}=(0,f.useSelect)(Jo),{setNavigationMode:a}=(0,f.useDispatch)(Jo),s=(0,f.useSelect)((e=>e(Jo).isNavigationMode()),[])?void 0:"0",u=(0,c.useRef)();function d(t){if(u.current)u.current=null;else if(r())e.current.focus();else if(l())o.current.focus();else{a(!0);const n=e.current.ownerDocument===t.target.ownerDocument?e.current:e.current.ownerDocument.defaultView.frameElement,o=t.target.compareDocumentPosition(n)&t.target.DOCUMENT_POSITION_FOLLOWING,r=da.focus.tabbable.find(e.current);r.length&&(o?r[0]:r[r.length-1]).focus()}}const m=(0,c.createElement)("div",{ref:t,tabIndex:s,onFocus:d}),g=(0,c.createElement)("div",{ref:n,tabIndex:s,onFocus:d}),h=(0,p.useRefEffect)((s=>{function c(e){if(e.defaultPrevented)return;if(e.keyCode===Ld.ESCAPE&&!r())return e.preventDefault(),void a(!0);if(e.keyCode!==Ld.TAB)return;const o=e.shiftKey,i=o?"findPrevious":"findNext";if(!r()&&!l())return void(e.target===s&&a(!0));const c=da.focus.tabbable[i](e.target),d=e.target.closest("[data-block]"),p=d&&c&&(Ed(d,c)||Sd(d,c));if((0,da.isFormElement)(c)&&p)return;const m=o?t:n;u.current=!0,m.current.focus({preventScroll:!0})}function d(e){o.current=e.target;const{ownerDocument:t}=s;e.relatedTarget||t.activeElement!==t.body||0!==i()||s.focus()}function p(o){if(o.keyCode!==Ld.TAB)return;if("region"===o.target?.getAttribute("role"))return;if(e.current===o.target)return;const r=o.shiftKey?"findPrevious":"findNext",l=da.focus.tabbable[r](o.target);l!==t.current&&l!==n.current||(o.preventDefault(),l.focus({preventScroll:!0}))}const{ownerDocument:m}=s,{defaultView:f}=m;return f.addEventListener("keydown",p),s.addEventListener("keydown",c),s.addEventListener("focusout",d),()=>{f.removeEventListener("keydown",p),s.removeEventListener("keydown",c),s.removeEventListener("focusout",d)}}),[]);return[m,(0,p.useMergeRefs)([e,h]),g]}(),o=(0,f.useSelect)((e=>e(Jo).hasMultiSelection()),[]);return[e,(0,p.useMergeRefs)([t,wp(),kp(),Ep(),Sp(),gp(),vp(),bp(),(0,p.useRefEffect)((e=>{if(e.tabIndex=0,e.contentEditable=o,o)return e.classList.add("has-multi-selection"),e.setAttribute("aria-label",(0,v.__)("Multiple selected blocks")),()=>{e.classList.remove("has-multi-selection"),e.removeAttribute("aria-label")}}),[o])]),n]}var xp=(0,c.forwardRef)((function({children:e,...t},n){const[o,r,l]=Cp();return(0,c.createElement)(c.Fragment,null,o,(0,c.createElement)("div",{...t,ref:(0,p.useMergeRefs)([r,n]),className:d()(t.className,"block-editor-writing-flow")},e),l)}));function Bp(e,t,n){const o={};for(const t in e)o[t]=e[t];if(e instanceof n.contentDocument.defaultView.MouseEvent){const e=n.getBoundingClientRect();o.clientX+=e.left,o.clientY+=e.top}const r=new t(e.type,o);o.defaultPrevented&&r.preventDefault();!n.dispatchEvent(r)&&e.preventDefault()}function Ip(e){return(0,p.useRefEffect)((t=>{const{defaultView:n}=e;if(!n)return;const{frameElement:o}=n,r=["dragover","mousemove"],l={};for(const e of r)l[e]=e=>{const t=Object.getPrototypeOf(e).constructor.name;Bp(e,window[t],o)},t.addEventListener(e,l[e]);return()=>{for(const e of r)t.removeEventListener(e,l[e])}}))}function Tp({contentRef:e,children:t,tabIndex:n=0,scale:o=1,frameSize:r=0,expand:l=!1,readonly:i,forwardedRef:a,...s}){const{resolvedAssets:u,isPreviewMode:g}=(0,f.useSelect)((e=>{const t=e(Jo).getSettings();return{resolvedAssets:t.__unstableResolvedAssets,isPreviewMode:t.__unstableIsPreviewMode}}),[]),{styles:h="",scripts:b=""}=u,[_,k]=(0,c.useState)(),[y,E]=(0,c.useState)([]),S=(0,c.useMemo)((()=>Array.from(document.styleSheets).reduce(((e,t)=>{try{t.cssRules}catch(t){return e}const{ownerNode:n,cssRules:o}=t;if(null===n)return e;if(!o)return e;if("wp-reset-editor-styles-css"===n.id)return e;if(!n.id)return e;if(function e(t){return Array.from(t).find((({selectorText:t,conditionText:n,cssRules:o})=>n?e(o):t&&(t.includes(".editor-styles-wrapper")||t.includes(".wp-block"))))}(o)){const t="STYLE"===n.tagName;if(t){const t=n.id.replace("-inline-css","-css"),o=document.getElementById(t);o&&e.push(o.cloneNode(!0))}if(e.push(n.cloneNode(!0)),!t){const t=n.id.replace("-css","-inline-css"),o=document.getElementById(t);o&&e.push(o.cloneNode(!0))}}return e}),[])),[]),w=pp(),[C,x,B]=Cp(),[I,{height:T}]=(0,p.useResizeObserver)(),M=(0,p.useRefEffect)((e=>{let t;function n(e){e.preventDefault()}function o(){const{contentDocument:o,ownerDocument:r}=e,{documentElement:l}=o;t=o,w(l),E(Array.from(r.body.classList).filter((e=>e.startsWith("admin-color-")||e.startsWith("post-type-")||"wp-embed-responsive"===e))),o.dir=r.dir;for(const e of S)o.getElementById(e.id)||(o.head.appendChild(e.cloneNode(!0)),g||console.warn(`${e.id} was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,e));t.addEventListener("dragover",n,!1),t.addEventListener("drop",n,!1)}return e._load=()=>{k(e.contentDocument)},e.addEventListener("load",o),()=>{delete e._load,e.removeEventListener("load",o),t?.removeEventListener("dragover",n),t?.removeEventListener("drop",n)}}),[]),P=(0,p.useDisabled)({isDisabled:!i}),N=(0,p.useMergeRefs)([Ip(_),e,w,x,P]),L=`\n\n\t\n\t\t\n\t\t